如何删除 Linux 终端中的文件和目录

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

重要的是要注意,使用和不会移动到废纸篓中删除的文件目录。它们会立即从您的计算机中删除。如果您使用这些命令意外删除了文件,则能够还原它们的唯一方法是从备份中还原它们。rmrmdir

如何使用 rm 在 Linux 上删除文件

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

rm file_1.txt

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

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

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

rm file_2.txt file_3.txt

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

rm *.png

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

rm *.?

如果文件是写保护的,则在删除文件之前,系统将提示您。您必须回复 或 并按“回车”。yn

带有写保护文件的 rm 命令

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

rm -i *.dat
交互模式下的 rm 命令

(强制)选项与交互式相反。即使文件有写保护,它也不会提示确认。-f

rm -f filename

如何使用 rm 在 Linux 上删除目录

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

rm -d directory

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

rm -d directory1 directory2 /path/to/directory3

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

rm -r directory1 directory2 directory3

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

rm -rf directory

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

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

sudo apt-get install tree

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

tree
树命令输出

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

tree path/to/directory

该命令也有选项,但仅建议高级用户使用这些选项。如果出错,可能会意外删除所有系统文件。有关详细信息,请参阅该命令的手册页。rm--one-file-system, --no-preserve-root, --preserve-root

如何使用 rmdir 在 Linux 上删除目录

还有另一个命令,称为 ,可用于删除目录。和之间的区别在于只能删除空目录。它永远不会删除文件。rmdirrmrmdirrmdir

最简单的情况是删除单个空目录。与 一样,可以将多个目录名称传递给 ,也可以将一个目录的路径传递给一个目录。rmrmdir

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

rmdir directory

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

rmdir directory1 directory2 directory3

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

rmdir /path/to/directory

如果您尝试删除不为空的文件夹,将显示一条错误消息。在下面的示例中,以静默方式成功删除了目录,但它拒绝删除该目录,因为它包含文件。目录完全保持原样,其中的文件保持不变。rmdirrmdirclientsprojectsprojects

具有非空文件夹的 rmdir 命令

当出现“目录不为空”错误时,它将停止处理在命令行上传递给它的目录。如果您要求它删除四个目录,并且第一个目录中包含文件,则会显示错误消息,并且不会执行更多操作。您可以使用该选项强制它忽略这些错误,以便处理其他目录。rmdirrmdir--ignore-fail-on-non-empty

在下面的示例中,有两个文件夹已传递给 ,它们是 和 。该选项已包含在命令中。该文件夹中包含文件,因此无法删除它。该选项强制忽略错误并移动到需要处理的下一个文件夹,即 .这是一个空文件夹,并将其删除。rmdirwork/reportswork/quotes--ignore-fail-on-non-emptywork/reportsrmdir--ignore-fail-on-non-emptyrmdirwork/quotesrmdir

这是使用的命令。

rmdir --ignore-fail-on-non-empty work/reports /work/quotes
带有 --ignore-fail-on-non-empty 选项 的 rmdir

您可以使用(父目录)选项删除目录并删除其父目录。此技巧有效,因为从目标目录开始,然后返回父目录。该目录现在应为空,因此可以通过 将其删除,并且该过程将重复沿提供给 的路径逐步回退。-prmdirrmdirrmdir

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

rmdir -p work/invoices
带有“删除父项”选项的 rmdir 命令

根据请求,将删除 和 目录。invoiceswork


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

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

Linux 命令
文件 焦油 · 光伏 · 猫 · 塔克 · 赫莫德 · 格雷普 · 差异 · 塞德 · 阿· 人 · 推 · 波普德 · 福斯克 · 测试盘 · 序 · FD · 潘多克 · 光盘 · $PATH · 哎呀 · 加入 · JQ · 折叠 · 优衣襟 · 期刊 · 尾巴 · 统计 · ls · fstab · 回声 · 少 · 中国 · 叮 · 修订版 · 看 · 字符串 · 类型 · 重命名 · 拉链 · 解压缩 · 坐骑 · 挂载 · 安装 · fdisk · MKFS · 马币 · RMDIR · 同步 · DF · GPG · 六· 纳米 · 姆克迪尔 · 杜· LN · 补丁 · 转换 · 克隆 · 切碎 · SRM · SCP · 啪 · 查特尔 · 切 · 查找 · 马斯克 · 厕所 ·TR
过程 别名 · 屏幕 · 顶部 · 尼斯 · 雷尼斯 · 进步 · 斯特雷克斯 · 系统d · 鞘翅目 · 嘘 · 历史 · 在 · 批次 · 免费 · 其中 · 德梅斯格 · 瑞士法郎 · 用户模组 · 附言· 克鲁特 · xargs · 啧啧· 小指 · 索夫 · VMSTAT · 超时 · 墙 · 是 · 杀 · 睡眠 · 须藤 · 苏· 时间 · 组添加 · 用户模组 · 团体 · 利什沃 · 关机 · 重启 · 停止 · 关机 · 哗啦啦 · 利斯普 · 克伦塔布 · 日期 · BG · FG · 皮多夫 · 诺霍普 · 太平洋地图
联网 网络统计 · 平· 跟踪路由 · 知识产权 · 党卫军 · 谁是 · 失败2禁令 · 孟 · 挖掘 · 手指 · 新地图 · FTP · 卷曲 · 噗 · 谁 · 哇哇 · w · 伊普斯 · SSH凯基 · UFW · 阿平 · 防火墙

未经允许不得转载:表盘吧 » 如何删除 Linux 终端中的文件和目录