如何在linux终端上删除文件和目录

rm和rmdir命令删除Linux、macOS和其他类似Unix的操作系统上的文件和目录。它们类似于Windows和DOS中的del和deltree命令。这些命令非常强大,有很多选择。...

rm和rmdir命令删除Linux、macOS和其他类似Unix的操作系统上的文件和目录。它们类似于Windows和DOS中的del和deltree命令。这些命令非常强大,有很多选择。

需要注意的是,使用rm和rmdir删除的文件和目录不会被移到垃圾箱中。它们会立即从您的计算机中删除。如果您使用这些命令意外删除了文件,那么您能够还原这些文件的唯一方法就是从备份中进行还原。

如何使用rm删除文件

最简单的情况是删除当前目录中的单个文件。键入rm命令、空格,然后键入要删除的文件名。

rm file_1.txt

如果文件不在当前工作目录中,请提供文件位置的路径。

rm ./path/to/the/file/file_1.txt

可以将多个文件名传递给rm。这样做会删除所有指定的文件。

rm file_2.txt file_3.txt

通配符可用于选择要删除的文件组。*表示多个字符,而?表示单个字符。此命令将删除当前工作目录中的所有png图像文件。

rm *.png

此命令将删除扩展名为单个字符的所有文件。例如,这将删除文件.1和文件.2,但不删除文件.12。

rm *.?

如果文件是写保护的,则在删除该文件之前会提示您。您必须回答y或n,然后按“回车”

如何在linux终端上删除文件和目录

要降低将rm与通配符一起使用的风险,请使用-i(交互式)选项。这要求您确认删除每个文件。

rm -i *.dat

如何在linux终端上删除文件和目录

-f(force)选项与interactive相反。即使文件有写保护,它也不会提示确认。

rm -f filename

如何使用rm删除目录

要删除空目录,请使用-d(directory)选项。您可以使用通配符(*和?)在目录名中,就像在文件名中一样。

rm -d directory

提供多个目录名会删除所有指定的空目录。

rm -d directory1 directory2 /path/to/directory3

要删除非空目录,请使用-r(递归)选项。要清楚的是,这将删除目录以及其中包含的所有文件和子目录。

rm -r directory1 directory2 directory3

如果目录或文件受写保护,系统将提示您确认删除。要删除非空目录并抑制这些提示,请同时使用-r(递归)和-f(强制)选项。

rm -rf directory

这里需要小心。使用rm-rf命令出错可能会导致数据丢失或系统故障。这很危险,谨慎是最好的策略。要了解目录结构和rm-rf命令将删除的文件,请使用tree命令。

如果您使用的是Ubuntu或其他基于Debian的发行版,请使用apt get将此软件包安装到您的系统上。在其他Linux发行版上,请改用Linux发行版的包管理工具。

sudo apt-get install tree

运行tree命令会生成一个简单易懂的目录结构图以及运行它的目录下的文件。

tree

如何在linux终端上删除文件和目录

您还可以提供tree命令的路径,使其从文件系统中的另一个目录启动树。

tree path/to/directory

rm命令还有一个文件系统,-no preserve root,-preserve root选项,但这些选项只建议高级用户使用。如果出错,可能会意外删除所有系统文件。有关更多信息,请参阅命令的手册页。

如何用rmdir删除目录

还有另一个命令rmdir,可以用来删除目录。rm和rmdir的区别在于rmdir只能删除空目录。它永远不会删除文件。

最简单的情况是删除一个空目录。与rm一样,您可以将多个目录名传递给rmdir,或者传递一个目录的路径。

通过将名称传递给rmdir删除当前目录中的单个目录:

rmdir directory

通过向rmdir传递名称列表来删除多个目录:

rmdir directory1 directory2 directory3

通过指定不在当前目录中的目录的完整路径来删除该目录:

rmdir /path/to/directory

如果您试图删除一个不是空的文件夹,rmdir将给您一个错误消息。在下面的示例中,rmdir成功地并且静默地删除了clients目录,但是它拒绝删除projects目录,因为它包含文件。projects目录保持原样,其中的文件保持不变。

如何在linux终端上删除文件和目录

当rmdir发出“Directory not empty”错误时,它停止处理在命令行上传递给它的目录。如果您要求它删除四个目录,而第一个目录中有文件,rmdir将给出错误消息,不再执行任何操作。您可以使用--ignore fail on non empty选项强制它忽略这些错误,以便处理其他目录。

在下面的示例中,有两个文件夹被传递给rmdir,它们是work/reports和work/quotes。命令中包含了--ignore fail on non empty选项。工作/报告文件夹中有文件,因此rmdir无法删除它。--ignore fail on non empty选项强制rmdir忽略错误,并移到它需要处理的下一个文件夹,即work/quotes。这是一个空文件夹,rmdir会删除它。

这是使用的命令。

rmdir --ignore-fail-on-non-empty work/reports /work/quotes

如何在linux终端上删除文件和目录

您可以使用-p(parents)选项来删除一个目录,也可以删除它的父目录。这个技巧之所以有效,是因为rmdir从目标目录开始,然后返回到父目录。该目录现在应该是空的,这样rmdir就可以删除它,并且该过程会重复向上返回提供给rmdir的路径。

在以下示例中,传递给rmdir的命令是:

rmdir -p work/invoices

如何在linux终端上删除文件和目录

根据请求,**和工作目录都将被删除。


无论您使用的是Bash还是其他shell,Linux都为您提供了灵活而强大的命令,可以直接从终端命令行删除目录和文件。有些人喜欢有一个围绕终端的工作流。其他人在这件事上可能别无选择。它们可能在没有安装GUI的服务器上工作,或者在无头系统(如Raspberry Pi)上的远程会话上工作。这些命令非常适合那群人。

但是无论您喜欢哪种类型的工作流,这些命令都非常适合包含在shell脚本中。如果脚本是由cron作业触发的,那么它可以帮助自动执行日常管理任务,例如清除不需要的日志文件。如果您调查该用例,请记住这些命令的威力,仔细测试所有内容,并始终保持最近的备份。

  • 发表于 2021-04-03 17:42
  • 阅读 ( 229 )
  • 分类:互联网

你可能感兴趣的文章

如何在ubuntu中加密文件和文件夹

在任何平台上,加密都是每个人都应该认真对待的事情。你可能认为你在Linux上比在Windows甚至macOS上更安全。但是Linux真的像你想象的那样安全吗? ...

  • 发布于 2021-03-11 16:31
  • 阅读 ( 856 )

使用以下技巧和技巧成为linux命令行高手

... 如何掌握linux命令行:最后的想法 ...

  • 发布于 2021-03-12 10:19
  • 阅读 ( 278 )

如何在linux和macos上将手册页缩短为可读的解释

... 使用tldr快速了解如何使用命令 ...

  • 发布于 2021-03-14 01:21
  • 阅读 ( 198 )

40多个最常用的linux终端命令

... 在您真正充分利用终端之前,您需要知道如何导航它。这就是为什么我们认为这些是最基本的Linux命令:如果你不能更改目录或者在一个你不记得如何使用的命令上获得帮助,那么再多的终端知识也帮不了你。 ...

  • 发布于 2021-03-15 21:40
  • 阅读 ( 264 )

linux命令参考备忘单

...便的Linux命令备忘单。如果您想运行其中的几个,请查看如何在带屏幕的Linux终端上执行多任务。 ...

  • 发布于 2021-03-22 04:06
  • 阅读 ( 235 )

启动linux的9个基本命令

... 如何在linux下打开终端 ...

  • 发布于 2021-03-26 18:33
  • 阅读 ( 231 )

如何在linux中添加用户

想在Linux系统上添加用户但不知道如何添加?在Linux上使用命令行界面管理用户无疑是一项复杂的工作。而对于初学者来说,即使添加新用户也是一场噩梦。 ...

  • 发布于 2021-03-26 23:29
  • 阅读 ( 336 )

如何用testdisk恢复linux上删除的文件

...用,不需要对文件系统有详细、低级的了解。让我们看看如何使用它! 相关:你想知道的关于Linux上inodes的一切 安装测试盘 要在Ubuntu上安装testdisk,请使用以下命令: sudo apt-get install testdisk 在Fedora上,您需要键入: sudo dnf insta...

  • 发布于 2021-04-01 08:34
  • 阅读 ( 314 )

如何在linux的bashshell中复制和粘贴文本

...的情况下执行复制和粘贴文本。我们能用什么? 相关:如何在Ubuntu中使用快捷键来提高效率 ctrl+shift+c和ctrl+shift+v 很容易记住,因为它们非常相似,Ctrl+Shift+C和Ctrl+Shift+V是Ctrl+C和Ctrl+V的直接替代品。 如果用鼠标突出显示终端窗...

  • 发布于 2021-04-03 03:36
  • 阅读 ( 244 )

如何在linux上使用管道

使用Linux管道编排命令行实用程序如何协作。通过利用一组独立命令并将它们转化为一个专注的团队,简化复杂的流程并提高生产率。我们教你怎么做。 到处都是管道 管道是Linux和类Unix操作系统最有用的命令行特性之一。管道...

  • 发布于 2021-04-03 04:49
  • 阅读 ( 201 )
effectnorthe
effectnorthe

0 篇文章

相关推荐