如何在Linux中删除非空目录
时间:2020-01-09 10:39:36 来源:igfitidea点击:
我正在尝试使用rmdir命令删除Linux中的目录。
但是,我收到一条错误消息,内容如下:
rmdir: failed to remove 'trip-pictures': Directory not empty
如何使用cli在Linux中删除非空目录?
在Linux操作系统中,有两个命令可以用来删除非空目录:
- rmdir命令仅在目录为空时删除目录
- rm命令删除目录和所有文件,即使它不是空的
在Linux中删除非空目录的过程
语法为:
rm -rf dir-name rm -rf /path/to/dir/name
将rm命令与-r和-f选项一起使用时,请小心。
-r选项以递归方式删除目录及其内容,包括所有文件。
rm命令的-f选项将忽略不存在的文件和参数,从不提示输入任何内容。
没有撤消选项。
因此,使用rm -rf命令必须非常小心。
让我们看一些例子。
例子
尝试使用rmdir命令删除trip-pictures目录:
rmdir trip-pictures
输出示例:
rmdir: failed to remove 'trip-picture/': Directory not empty
要查看目录中的文件,请使用ls命令
ls -l trip-pictures ls trip-pictures
要删除旅行图片中的所有文件(包括文件夹本身),请运行以下rm命令:
rm -rf trip-pictures
如何获得有关删除目录的过程信息
将-v传递给rm命令:
rm -vrf dir1 rm -vrf dir1 dir2
输出示例:
removed 'dir1/resume.txt' removed 'dir1/bar.txt' removed 'dir1/foo.txt' removed directory 'dir1' removed directory 'dir2/pictures' removed directory 'dir2'
如何在每次删除目录之前获取确认提示
您需要将-i选项传递给rm命令:
rm -ir foo
输出示例:
rm: descend into directory 'foo/'? y rm: remove regular empty file 'foo/bash.tar.gz'? y rm: remove regular empty file 'foo/db.sql'? y rm: remove directory 'foo/'? y
在删除三个以上文件之前或在递归删除时获得一次提示;比-i更具侵入性,同时仍然可以防止大多数错误,请通过-I选项:
rm -Ir bar
输出示例:
rm: remove 1 argument recursively? y