从 Linux 中删除 Windows $RECYCLE.BIN 文件夹

从 Linux 中删除 Windows $RECYCLE.BIN 文件夹

我在 Linux 机器(确切地说是 Raspberry Pi)上安装了 Windows 使用的硬盘。

尝试删除回收站文件夹会引发此错误:

$ rm "$RECYCLE.BIN"
rm: cannot remove '.BIN': No such file or directory

删除此类文件夹的正确方法是什么?

答案1

因此,问题在于,您使用的命令 shell bash 将 $ 后面的任何文本解释为环境变量。如果您键入以下命令,就会看到这一点:

echo $PWD
#outputs on my system: /home/chris

^在大多数 Linux 系统上,这会打印描述当前工作目录的变量。

当你在 bash 表达式中使用双引号时,这会告诉 bash“我希望你能正常地解释这些内容”在您的情况下,这意味着将环境变量转换为其关联值。由于我猜想您的 $RECYCLE 环境变量未设置为任何值,因此该值是零长度字符串。因此,引用表达式的结果为“.BIN”。由于 .BIN 不是有效的文件或目录,因此 rm 会发出警告。

正确的解决方案是在 bash 中用单引号 ' 括住这些表达式。这将告诉 bash 不要进行环境变量扩展或其他扩展,并发送包含文本正如所见执行命令。

考虑到所有这些,正确的命令行表达式应该是:

rm '$RECYCLE.BIN'

另外,rm 可能仍会抱怨,因为如果我没记错的话,$RECYCLE.BIN 是一个目录。如果没有 -r 命令行选项,它会说 rm 无法删除该目录。

要了解更多有关 bash/rm/环境变量的详细信息,请在控制台中输入:

man bash
man rm
man environment

相关内容