0

我在删除 unix 中的某些文件夹时遇到了一些问题。

目录1:

?0\'

目录 2:

-1\'

我想递归地删除它们,比如

rm -rf -1\'

不确定如何转义引号、破折号和问号。

4

2 回答 2

1

当它们是可疑字符时,您需要使用引号,然后在引号之外使用通配符。如果没有引号,这些角色会想要执行其他任务。

rm -rf -- *"\'"

感谢 osgx 的评论

于 2012-10-29T21:54:19.397 回答
0

当心; rm -fr在对奇怪的目录名称执行任何操作之前,请仔细检查。

以破折号开头的文件名(目录名)的标准技巧-是在名称前加上前缀./,使其不再以-任何开头:

rm -fr ./-1??

另一个目录也许可以通过以下方式识别:

rm -fr ./?0??

我至少会运行:

echo ./-1?? ./?0??

在尝试rm命令之前,确保只选择正确的目录。rm如果您不确定该命令是否正在执行您想要的操作,则该命令很危险。

使用问号的表示法避免了必须引用问号、反斜杠和单引号,部分原因是怀疑终端上显示的可能不是文件系统中的名称。您可能需要做进一步的工作来识别名称,这样ls | od -c或类似的命令来验证目录名称的准确拼写。

于 2012-10-29T22:03:08.570 回答