gue*_*105 5 unix command-line macos
在终端中,我尝试删除一个目录,但这不起作用:
\n\nmyuser$ rm -rf foo/\nrm: foo/: Directory not empty\n
Run Code Online (Sandbox Code Playgroud)\n\n在我的主目录中我只有 foo :
\n\nmyuser$ ls\nfoo\n
Run Code Online (Sandbox Code Playgroud)\n\n我的“ls -la”命令没有任何问题:
\n\nmyuser$ ls -la\ndrwxrwxrwx@ 1 myuser staff 65536 1 mai 10:53 .\ndrwxrwxrwx@ 1 myuser staff 32768 28 ao\xc3\xbb 2013 ..\ndrwxrwxrwx 1 myuser staff 32768 1 mai 10:36 foo\n
Run Code Online (Sandbox Code Playgroud)\n\n目录 foo 似乎是空的:
\n\nmyuser$ ls foo/\n\nmyuser$ ls -la foo/\nls: : No such file or directory\ntotal 192\ndrwxrwxrwx 1 myuser staff 32768 1 mai 10:36 .\ndrwxrwxrwx@ 1 myuser staff 65536 1 mai 10:53 ..\n
Run Code Online (Sandbox Code Playgroud)\n\n但是“ls::没有这样的文件或目录”这一行很奇怪。我认为这就是我无法删除该目录的原因。\n我们也可以看到,“ls foo”返回一个空行,就像有东西一样,但是什么呢?以及如何删除呢?
\n\n谢谢
\n命令
rm -rf dir
Run Code Online (Sandbox Code Playgroud)
不会删除隐藏文件,即以点开头的文件,例如.bashrc。目录不为空诊断意味着您有一些隐藏文件,您可以使用以下任一方式列出它们
ls -a
Run Code Online (Sandbox Code Playgroud)
或
ls .*
Run Code Online (Sandbox Code Playgroud)
您可以递归地擦除它们
rm -rf .[a-Z]*
Run Code Online (Sandbox Code Playgroud)
然后您将能够 rmdir 有问题的目录。
编辑:
以下编辑证明了我的观点:
root@rasal:/tmp# mkdir ttp
root@rasal:/tmp# cd ttp
root@rasal:/tmp/ttp# touch .test
root@rasal:/tmp/ttp# ls -a
. .. .test
root@rasal:/tmp/ttp# rm -rf *
root@rasal:/tmp/ttp# ls -a
. .. .test
root@rasal:/tmp/ttp#
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8453 次 |
最近记录: |