终端基础:在 Linux 中删除文件和文件夹
创始人
2024-03-02 15:36:53
0

你已经学会了创建文件和目录。现在是时候学习如何在命令行中删除文件和文件夹了。

在终端基础系列的前几章中,你学习了 创建新文件目录(文件夹)。

现在让我们看看如何在 Linux 终端中删除文件和文件夹。

删除文件

要删除文件,你可以按以下方式使用 rm 命令:

rm filename_or_path

如果文件已成功删除,你将看不到任何输出。

这是一个示例,其中我删除了一个名为 new_file 的文件。当我列出目录内容时,你可以看到 new_file 不再存在。

你还可以在同一命令中删除多个文件:

rm file1 file2 file3

让我展示一个在单条命令中删除两个文件的示例。

?️练习文件删除

让我们练习一下刚刚学到的东西。创建一个名为 practice_delete 的目录并切换到该目录:

mkdir practice_delete && cd practice_delete

现在创建一些空文件:

touch file1 file2 file3

删除 file3:

rm file3

现在,让我们做一些额外的事情。运行此命令并更改 file2 的权限:

chmod u-w file1 file2

现在尝试删除 file2

rm file2

你是否看到消息 “remove write protected file”? 那是因为你从这个文件中删除了写权限(用于修改)。

你可以Y 或回车键确认删除或按 N 拒绝删除。

如果你不想看到这条消息并仍然删除它,你可以使用强制删除选项 -f。通过删除 file1 试试:

rm -f file1

以下是上述所有示例的重放:

Deleting files in Linux terminal

? Linux 命令行中没有垃圾桶。一旦文件被删除,你就无法像在图形文件管理器中那样撤消将其从垃圾箱中取回的操作。因此,删除文件时要格外小心。

小心删除

缺少垃圾桶使删除成为一种永久性的工作。这就是为什么你应该注意要删除的文件的原因。

有一个带 -i 选项的交互模式。有了这个,你会被要求确认删除。

rm -i filename

当你根据特定模式删除多个文件时,这很有用。

这是一个示例,其中我以交互方式删除名称中匹配 file_ 模式的所有文件。我删除了一些并在交互模式下保留了一些。

Deleting files in interactive mode

? 我建议切换到文件所在的目录,然后删除它们。这有助于减少由文件路径中的拼写错误引起的任何可能性。

删除目录

在 Linux 中有专门的 rmdir 命令来删除目录。

rmdir dir_name

但是,它只能删除空目录。如果目录中有任何文件或子目录,rmdir 命令将抛出错误。

$ rmdir dir2
rmdir: failed to remove 'dir2': Directory not empty

这使得它在大多数情况下用处不大。

那么,如何删除非空文件夹呢? 好吧,使用与之前删除文件相同的 rm 命令。

是的,相同的 rm 命令,但带有递归选项 -r

rm -r dir_name

?️练习文件夹删除

让我们练习你学到的东西。

如果你还没有,请切换到 practice_delete 文件夹。现在,创建两个目录 dir1dir2

mkdir dir1 dir2

dir2 中创建一个文件:

touch dir2/file

现在尝试使用 rmdir 命令删除目录:

rmdir dir1
rmdir dir2

由于 dir2 不为空,rmdir 命令将失败。相反,使用带有递归选项的 rm 命令:

rm -r dir2

以下是上述所有命令示例的重放:

Deleting folders in Linux

? 交互式删除模式在使用 rm 命令的递归选项删除目录时更有帮助:

rm-ri dir_name

因此,你学会了使用 Linux 命令删除文件和文件夹。是时候多练习了。

测试你的知识

准备一个如下所示的目录树:

.
├── dir1
│   ├── file1
│   ├── file2
│   └── file3
├── dir2
├── dir3
└── file

基本上,你在当前目录(practice_delete)中创建一个名为 file 的文件和三个目录 dir1dir2dir3。然后在 dir1 中创建文件 file1file2file3

现在执行以下操作:

  • 删除 file2
  • 切换到 dir3 并强制删除上层目录中名为 file 的文件。
  • 删除 dir1 的所有内容,但不删除目录本身。
  • 列出 dir 的内容。

一切进展顺利。你已经学习了一些基本知识,例如切换目录、检查目录内容、创建和删除文件和目录。在下一章中,你将学习如何在终端中复制文件和文件夹。敬请关注!


via: https://itsfoss.com/delete-files-folders-linux/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

终端基础:在 Linux ...
在这篇基本命令行教程中,你将学习在 Linux 终端重命名文件和目...
2024-03-02 18:00:29
终端基础:Linux 终端...
本篇文章作为终端基础教程系列的一部分,介绍如何在 Linux 命令...
2024-03-02 17:43:37
终端基础:Linux 终端...
想了解 Linux 命令行的基础知识吗? 这是一个带有实践方法的教...
2024-03-02 16:49:25
终端基础:在 Linux ...
在终端基础知识系列的这一部分中,学习如何在 Linux 中使用命令...
2024-03-02 16:36:37
终端基础:在 Linux ...
你已经学会了创建文件和目录。现在是时候学习如何在命令行中删除文件和...
2024-03-02 15:36:53
终端基础:在 Linux ...
到目前为止,在这个终端基础系列中,你已经学会了:更改目录创建新目录...
2024-03-02 14:49:56

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...