我在删除 unix 中的某些文件夹时遇到了一些问题。
目录1:
?0\'
目录 2:
-1\'
我想递归地删除它们,比如
rm -rf -1\'
不确定如何转义引号、破折号和问号。
当它们是可疑字符时,您需要使用引号,然后在引号之外使用通配符。如果没有引号,这些角色会想要执行其他任务。
rm -rf -- *"\'"
感谢 osgx 的评论
当心; rm -fr
在对奇怪的目录名称执行任何操作之前,请仔细检查。
以破折号开头的文件名(目录名)的标准技巧-
是在名称前加上前缀./
,使其不再以-
任何开头:
rm -fr ./-1??
另一个目录也许可以通过以下方式识别:
rm -fr ./?0??
我至少会运行:
echo ./-1?? ./?0??
在尝试rm
命令之前,确保只选择正确的目录。rm
如果您不确定该命令是否正在执行您想要的操作,则该命令很危险。
使用问号的表示法避免了必须引用问号、反斜杠和单引号,部分原因是怀疑终端上显示的可能不是文件系统中的名称。您可能需要做进一步的工作来识别名称,这样ls | od -c
或类似的命令来验证目录名称的准确拼写。