如何在 Linux 中强制删除目录?
我正在尝试使用rmdir dir1命令删除 Linux 中的目录。但是,我收到如下错误:
rmdir:无法删除“dir1”:目录不为空
如何在 Linux 中强制移除和删除目录?
目录只不过是 Linux 操作系统上以分层格式存储文件的位置。例如,/bin/目录将存储所有可执行二进制文件。本页介绍如何使用 bash shell 命令提示符在目录不为空时强制删除目录。
删除目录的语法如下:
假设您有一个名为 /tmp/data/ 的目录,其中包含两个文件和一个目录,如下所示:
如果您运行 rmdir 命令,您将收到以下错误:
如前所述,如果目录为空,则 rmdir 仅删除目录。因此,您必须使用 rm 命令在 Linux 中删除完整目录:
验证它:
rmdir:无法删除“dir1”:目录不为空
如何在 Linux 中强制移除和删除目录?
目录只不过是 Linux 操作系统上以分层格式存储文件的位置。例如,/bin/目录将存储所有可执行二进制文件。本页介绍如何使用 bash shell 命令提示符在目录不为空时强制删除目录。
如何在 Linux 中强制删除目录
以下是在 Linux 中强制删除文件夹的方法:
- 在 Linux 上打开终端应用程序。
- rmdir 命令仅删除空目录。因此,您需要使用 rm 命令在 Linux 上删除目录。
- 输入命令rm -rf dirname强制删除目录。强制删除目录时请小心,因为不会出现确认提示。
- 在 Linux 上借助 ls 命令进行验证。
删除包含其他文件或目录的目录
警告!在 Linux 中强制删除文件夹时请务必小心,因为默认情况下不会出现确认提示。示例或作者对数据丢失不承担任何责任。始终保留经过验证的备份。
$ rm -rf dirName
假设您有一个名为 /tmp/data/ 的目录,其中包含两个文件和一个目录,如下所示:
$ ls -l /tmp/data/
如果您运行 rmdir 命令,您将收到以下错误:
$ rmdir /tmp/data/
如前所述,如果目录为空,则 rmdir 仅删除目录。因此,您必须使用 rm 命令在 Linux 中删除完整目录:
$ rm -rf /tmp/data/
验证它:
$ ls -l /tmp/data/
在 Linux 终端中使用 rm 命令删除非空目录
如何在 Linux 中删除完整目录并显示详细输出?
将-v选项传递给 rm 命令如下:
$ rm -rfv dirname
例如,在 Linux 中删除名为 /tmp/bar 的完整目录,并记下屏幕上的输出:
$ rm -rfv /tmp/bar/
其中,
- -r:递归删除
- -f:强制删除目录
- -v:详细输出
在 Linux 终端中删除非空目录
如果您没有删除文件夹的权限,请以 root 用户身份运行 rm 命令。否则,您将在屏幕上看到权限被拒绝的消息。因此,为了避免在 rm 命令开头使用前缀 sudo:
$ sudo rm -rf dirName
或者
$ sudo rm -rf /somedir/
要删除名称以“ ”开头的文件夹-,例如“-backups”,请使用以下命令之一:
$ rm -rfv -- -backups/
或者
$ rm -rfv ./-bacups/
了解有关 rm 命令的更多信息
运行:
$ rm --help
示例输出:
-f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal -I prompt once before removing more than three files, or when removing recursively; less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i); without WHEN, prompt always --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument --no-preserve-root do not treat '/' specially --preserve-root[=all] do not remove '/' (default); with 'all', reject any command line argument on a separate device from its parent -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done --help display this help and exit --version output version information and exit
结论
本页介绍了如何使用 rm 命令删除 Linux 中的非空目录。rmdir 命令仅删除非空目录,因此我们需要使用 rm 命令。