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