删除/删除目录Linux命令

时间:2020-01-09 10:38:07  来源:igfitidea点击:

如何使用命令行选项删除目录?
如何在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目录。