终端入门:基础命令与文件管理 · Lesson 5 of 6

第 5 课:文件的创建、移动、复制与删除

本课目标:

  • mkdir 创建文件夹。
  • mv 移动或重命名文件。
  • cp 复制文件或文件夹。
  • rm 删除文件,用 rmdir 删除空文件夹。

先修条件:第 1-4 课。 | 上一篇 << 04 | 下一篇 06 >>

终端里的文件管理器

你在图形窗口里拖放文件能做的每件事,都可以用命令完成。而且一旦熟练,命令往往更快。四个基本工具是:

  • mkdirmake directory,创建目录)新建一个文件夹1
  • mvmove,移动)移动文件或给它改名1
  • cpcopy,复制)复制文件或文件夹1
  • rmremove,删除)删除文件;rmdir 删除空文件夹1

安全提示: 终端不会把删除的文件送进废纸篓。rm 删除文件后,文件立即消失。使用 rm 时放慢速度,尤其是配合能匹配多个文件的模式时。

完整示例(跟着做)

你在 ~/terminal-practice。逐条运行这些命令。

text
$ mkdir backup$ lsbackup  greeting.txt  notes.txt$ cp greeting.txt backup/greeting-copy.txt$ ls backupgreeting-copy.txt$ mv greeting.txt hello.txt$ lsbackup  hello.txt  notes.txt$ rm hello.txt$ lsbackup  notes.txt$ rmdir backuprmdir: backup: Directory not empty$ rm backup/greeting-copy.txt$ rmdir backup$ lsnotes.txt

发生了什么:

  1. mkdir backup 创建了一个文件夹。
  2. cp greeting.txt backup/greeting-copy.txt 把文件复制进了 backup 文件夹。
  3. mv greeting.txt hello.txt 给文件改了名。
  4. rm hello.txt 删除了改名后的文件。
  5. rmdir backup 失败了,因为文件夹不是空的。
  6. 删掉文件夹里的文件之后,rmdir backup 成功了,移除了这个空文件夹。

你来试试(填空示例)

你想把 notes.txt 改名为 todo.txt,并把它移进一个名为 archive 的新文件夹。填空:

text
$ ____ archive$ ____ notes.txt archive/todo.txt

答案: mkdir archive,然后 mv notes.txt archive/todo.txt

小结 + 下节课预告

你现在能创建文件夹、复制和移动文件,并安全地删除它们。第 6 课,你将学习命令如何接受选项和 flag、如何查找帮助,以及如何停止或纠正一条出了问题的命令。

Footnotes

  1. DigitalOcean: Linux Navigation and File Management — https://www.digitalocean.com/community/tutorials/basic-linux-navigation-and-file-management 2 3 4

Exercises

01

在 ~/terminal-practice 里创建一个名为 drafts 的文件夹,把 notes.txt 复制进去,并确认副本存在。

第 1 级(热身)
Done criteria · checked locally
02

创建一个名为 temp 的文件夹,把一个文件移进去,然后删除这个文件夹及其内容。小心:这会永久删除该文件。

第 2 级(进阶)
Done criteria · checked locally