删除/删除目录Linux命令
如何使用命令行选项删除目录?
如何在Linux中删除文件夹?
一切都是Linux中的文件,包括目录。
目录不过是一组文件。
您可以使用以下命令在Linux中删除目录。
目录在Macintosh OS X/macOS和Microsoft Windows操作系统中也称为文件夹。
在Linux中删除目录的命令
在Linux中,有两个命令可以删除文件夹:
- rmdir命令在Linux中删除指定的空目录和文件夹。
- rm命令删除包含子目录的文件。您可以在Linux中使用rm命令删除非空目录。
让我们看一些示例和用法,详细删除目录。
rmdir命令语法在Linux中删除目录
rmdir命令删除目录(如果为空)。
语法为:
rmdir directory-name rmdir [option] directory-name
打开终端应用程序并运行命令以删除给定目录。
例如,删除名为dir1的文件夹:
rmdir dir1
删除目录Linux命令
打开命令行终端(选择应用程序>附件>终端),然后执行以下命令以删除名为/tmp/docs的目录:
rmdir /tmp/docs
如果目录不为空,您将收到一条错误消息,内容如下:
rmdir letters
输出示例:
rmdir: letters: Directory not empty
您可以cd到目录以查找并列出所有文件:
$ cd letters $ ls
删除那些文件或目录。
在下一个示例中,删除数据,如果bar为空,则删除foo和bar,foo仅包含bar并且数据仅包含foo目录:
cd /home/theitroad rmdir -p data/foo/bar
其中:
- ``-p`:每个目录参数都被当作路径名,所有组件(如果为空)将从最后一个组件开始删除。
如何查看每个已处理目录的诊断消息
将-v选项传递给rmdir命令:
$ rmdir -v dir1
输出示例:
rmdir: removing directory, 'dir1'
使用rmdir和通配符删除目录
我们可以使用*和?
之类的通配符。
匹配和删除多个目录。
例如:
$ ls -l dir*
我们有三个目录dir1,dir2和dir3。
要删除当前目录中以dir开头的所有目录,可以使用以下命令:
rmdir -v dir*
Linux删除整个目录,包括所有文件和子目录命令
要删除所有目录和子目录,请使用rm命令。
例如,删除* .doc文件以及letters
目录中的所有子目录和文件,执行以下命令:
警告:执行以下命令后,包括子目录在内的所有文件将被永久删除。
$ rm -rf letters/
会话示例:在其中:
-r
:尝试删除植于每个文件参数中的文件层次结构,即从指定目录中递归删除子目录和文件。-f
:尝试删除文件而不提示确认,无论文件许可权如何
删除目录时是否收到权限被拒绝的错误消息?
只有所有者可以删除其目录。
但是,系统管理员可以删除系统上任何人创建的任何目录。
语法为:
sudo rmdir /path/to/dir/ sudo rm -rf dir2
出现提示时,您需要提供root用户或sudo用户密码。
使用find命令删除不需要的目录
假设您要查找所有名为session的目录并在当前目录中将其删除,请运行:
find . -type d -iname 'session' -delete
如何查找和删除所有空目录
跑:
find . -type d -iname 'session' -empty -delete
其中:
- `-d型:仅搜索目录而忽略所有其他文件。
-iname'session'
:搜索名为session的目录。您也可以在此处使用通配符。例如,-iname'dir *'。-empty
:仅匹配空目录-delete
:仅删除所有找到的空目录
要删除存储在/var/www/html中的所有.DS_store目录,请运行:
sudo find /var/www/html/ -type d -name .DS_Store -exec rm {} \;
或者
sudo find /var/www/html/ -type d -name .DS_Store -exec rm {} +
find命令的-exec选项运行一个名为rm的外部命令以删除所有文件。
rm {} + /
是更好的选择,因为它使用一个rm命令删除所有.DS_Store目录。