通过我笨手笨脚的操作,我不小心创建了一个名为(例如)-A 的目录,并最终用文件填充了它。
我想删除该目录。我试过了:
rmdir -- -A
Run Code Online (Sandbox Code Playgroud)
但它告诉我该目录中仍然有文件。而且我不知道如何 cd 进入目录以删除所述文件。
我该怎么做才能摆脱这个麻烦的目录?
Moo*_*Moo 29
在每个命令上使用 --。
$ ls -la
total 32
drwxr-xr-x 3 richard richard 512 Jul 28 15:44 .
drwxr-xr-x 3 root wheel 512 Jul 6 17:10 ..
$ mkdir -- -A
$ ls -la
total 36
drwxr-xr-x 2 richard richard 512 Jul 28 15:44 -A
drwxr-xr-x 4 richard richard 512 Jul 28 15:44 .
drwxr-xr-x 3 root wheel 512 Jul 6 17:10 ..
$ cd -- -A
$ ls
$ pwd
/home/richard/-A
$ cd ..
$ rm -rf -- -A
$ ls -la
total 32
drwxr-xr-x 3 richard richard 512 Jul 28 15:44 .
drwxr-xr-x 3 root wheel 512 Jul 6 17:10 ..
Run Code Online (Sandbox Code Playgroud)
chr*_*ris 11
您可以将 ./ 放在文件前面——这样 rm 或 rmdir 不会表现得好像文件名是一个选项标志。
您还可以发出选项 -- 它告诉 rm 将 -- 之后的所有内容都视为文件名,并且不应处理更多选项。可能有不遵守这一点的时髦的旧版本 rm,尽管这些天我的古董 unix 动物园已经变得非常小,所以我无法告诉您哪些版本或是否有不理解的版本 --。
无论如何,您应该养成在删除时将 ./ 放在名称前面的习惯——您永远不知道目录中是否有 -r 或 -rf 命名文件。你可以说你应该总是使用 -- 但我发现 ./ 更自然,因为它明确表示“我想删除这个目录中的文件,而不是 * 碰巧要删除的任何文件”
归档时间: |
|
查看次数: |
6808 次 |
最近记录: |