1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Linux中使用命令行删除目录

Linux中使用命令行删除目录

时间:2019-06-15 07:13:47

相关推荐

Linux中使用命令行删除目录

删除目录之所以很棘手,是有原因的。删除目录时,很有可能会发生一些不好的事情。shell会尽可能防止我们捅娄子。删除目录的基本命令是rmdir。

$ touch New_Dir/my_file $ ls -li New_Dir/total 0 294561 -rw-rw-r-- 1 christine christine 0 Nov 30 09:52 my_file $ $ rmdir New_Dir rmdir: failed to remove 'New_Dir': Directory not empty $

默认情况下,rmdir命令只删除空目录。因为我们在New_Dir目录下创建了一个文件my_file,所以rmdir命令拒绝删除目录。

要解决这一问题,得先把目录中的文件删掉,然后才能在空目录上使用rmdir命令。

$ rm -i New_Dir/my_file rm: remove regular empty file 'New_Dir/my_file'? y $ $ rmdir New_Dir $ $ ls -ld New_Dir ls: cannot access New_Dir: No such file or directory

rmdir并没有-i选项来询问是否要删除目录。这也是为什么说rmdir只能删除空目录还是有好处的原因。

也可以在整个非空目录上使用rm命令。使用-r选项使得命令可以向下进入目录,删除其中的文件,然后再删除目录本身。

$ ls -l My_Dir total 0 -rw-rw-r-- 1 christine christine 0 Nov 30 10:02 another_file $ $ rm -ri My_Dir rm: descend into directory 'My_Dir'? y rm: remove regular empty file 'My_Dir/another_file'? y rm: remove directory 'My_Dir'? y $ $ ls -l My_Dir ls: cannot access My_Dir: No such file or directory $

这种方法同样可以向下进入多个子目录,当需要删除大量目录和文件时,这一点尤为有效。

$ ls -FR Small_Dir Small_Dir: a_file b_file c_file Teeny_Dir/ Tiny_Dir/ Small_Dir/Teeny_Dir: e_file Small_Dir/Tiny_Dir: d_file $ $ rm -ir Small_Dir rm: descend into directory 'Small_Dir'? y rm: remove regular empty file 'Small_Dir/a_file'? y rm: descend into directory 'Small_Dir/Tiny_Dir'? yrm: remove regular empty file 'Small_Dir/Tiny_Dir/d_file'? y rm: remove directory 'Small_Dir/Tiny_Dir'? y rm: descend into directory 'Small_Dir/Teeny_Dir'? y rm: remove regular empty file 'Small_Dir/Teeny_Dir/e_file'? y rm: remove directory 'Small_Dir/Teeny_Dir'? y rm: remove regular empty file 'Small_Dir/c_file'? y rm: remove regular empty file 'Small_Dir/b_file'? y rm: remove directory 'Small_Dir'? y $ $ ls -FR Small_Dir ls: cannot access Small_Dir: No such file or directory $

这种方法虽然可行,但很难用,依然要确认每个文件是否要被删除。如果该目录有很多个文件和子目录,这将非常琐碎。

一口气删除目录及其所有内容的终极大法就是使用带有-r参数和-f参数的rm命令。

$ tree Small_Dir Small_Dir ├─ a_file ├─ b_file ├─ c_file ├─ Teeny_Dir │ └─ e_file └─ Tiny_Dir └─ d_file 2 directories, 5 files $ $ rm -rf Small_Dir $ $ tree Small_Dir Small_Dir [error opening dir] 0 directories, 0 files $

rm -rf命令既没有警告信息,也没有声音提示。这肯定是一个危险的工具,尤其是在拥有超级用户权限的时候。务必谨慎使用,请再三检查所要进行的操作是否符合预期。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。