Linux中使用命令行删除目录

您所在的位置:网站首页 linux怎么删除创建的文件记录 Linux中使用命令行删除目录

Linux中使用命令行删除目录

2023-12-24 04:21| 来源: 网络整理| 查看: 265

删除目录之所以很棘手,是有原因的。删除目录时,很有可能会发生一些不好的事情。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'? y rm: 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命令既没有警告信息,也没有声音提示。这肯定是一个危险的工具,尤其是在拥有超级用户权限的时候。务必谨慎使用,请再三检查所要进行的操作是否符合预期。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3