桌面上堆满了文件

桌面上堆满了文件

我刚刚下载了一个机器学习数据集,其中包含大约 30GB 的图像文件,这些图像文件都保存在一个 zip 文件中。我本想将其解压到一个文件夹中,但却不小心将其解压到了我的桌面上。我的电脑只运行英特尔奔腾处理器,因此这几乎使我的整个电脑都陷入了停顿。我该如何删除这些图像文件?

我已经重启了好几次,我可以访问应用程序,尽管我点击的任何东西都会有大约 5-10 分钟的延迟(这并不夸张)。我尝试运行,rm -rf *.png但收到​​一条消息说“参数太多”(我花了 5 分钟才看到……)。我发现我仍然可以访问终端 tty1-tty5,但我不知道如何使用它们,我也可以尝试以 root 身份登录,但没有密码。

正如您所看到的,我有点麻烦了...有什么建议吗?

答案1

要绕过命令行长度的限制,请在命令提示符中尝试以下操作:

cd <directory with desktop>
printf "%s\0" *.png | xargs -0 rm

解释:

  • printf "%s\0"打印每个后续参数,后跟一个空分隔符
  • *.png被 shell 扩展为一个非常长的参数列表,但是由于 bashprintf被 shell 内置命令覆盖,因此列表大小的限制不适用。
  • 因此,所有 .png 名称都会打印到标准输出并通过管道传输到xargs-0-0告诉它期望空分隔符),并在将输入名称分组到参数列表中后xargs进行调用rm,长度足以适应限制。

如果您不使用,bash那么有一个等效的技巧find ... | xargs rm

相关内容