如何在Linux中强制删除目录?

时间:2020-01-09 14:16:42  来源:igfitidea点击:

在使用rmdir dir1命令删除Linux中的目录。
收到一条错误消息,内容如下:

rmdir: failed to remove 'dir1': Directory not empty

如何在Linux中强制删除和删除目录?
目录不过是用于以分层格式在Linux操作系统上存储文件的位置。
例如,/bin /目录将存储所有可执行二进制文件。
在本教程中我们学习了如何使用bash shell命令提示符在目录不为空时强行删除目录。

如何在Linux中强制删除目录

  • 在Linux上打开终端应用程序。
  • rmdir命令仅除去空目录。因此,解决方法:您需要使用rm命令在Linux上删除文件。
  • 执行命令rm -rf dirname强制删除目录。
  • 在Linux上使用ls命令进行验证。

如何删除包含其他文件或目录的目录

语法为:

rm -rf dirName

假设您有一个名为/tmp/data /的目录,其中包含两个文件和一个目录,如下所示:

ls -l /tmp/data/

如果运行rmdir命令,将出现以下错误:

rmdir /tmp/data/

如前所述,rmdir仅在目录为空时才删除它们。
因此,您必须使用rm命令在Linux中删除完整目录:

rm -rf /tmp/data/

验证一下:

ls -l /tmp/data/

使用rm命令删除Linux终端中的非空目录

如何在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