开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情
@TOC
前言
本章主要介绍命令行用来操作文件和目录。 这一章节将会介绍以下命令:
- cp —复制文件和目录
- mv —移动/重命名文件和目录
- mkdir —创建目录
- rm —删除文件和目录
- ln —创建硬链接和符号链接
一、操作文件和目录
命令行程序,功能强大灵活。虽然图形文件管理器能轻松地实现简单的文件操作,但是对于复杂的文件操作任务,则使用命令行程序比较容易完成。
cp -u *.html destination
1.1 通配符
介绍一个使命令行如此强大的 shell 特性——通配符
shell 提供了特殊字符来帮助你快速指定一组文件名。这些特殊字符叫做通配符
。使用通配符(也以文件名代换著称)允许你依据字符类型来选择文件名。
下表列出这些通配符以及它们所选择的对象:
1.2 cp — 复制文件和目录
cp 命令,复制文件或者目录。它有两种使用方法:
- 复制单个文件或目录 “item1” 到文件或目录”item2”:
cp item1 item2
- 复制多个项目item(文件或目录)到一个目录directory下:
cp item... directory
1.3 cp命令 有用的选项和实例
cp 命令一些有用的选项(短选项和等效的长选项):
1.4 mv — 移动和重命名文件
mv 命令可以执行文件移动和文件命名任务,完成操作之后,原来的文件名不再存在。
- 把文件或目录“item1”移动或重命名为“item2”:
mv item1 item2
- 把一个或多个条目从一个目录移动到另一个目录中:
mv item... directory
1.5 mv命令 有用的选项和实例
1.6 rm命令 有用的选项和实例
rm 命令用来移除(删除)文件和目录
小贴士: 小心 rm !!!
- Linux,没有复原命令。一旦你用 rm 删除了一些东西,它就消失了。
- 尤其要小心通配符。思考一下这个经典的例子。假如说,你只想删除一个目录 中的 HTML 文件。输入:rm *.html
1.7 ln — 创建链接
ln
命令即可创建硬链接
,也可以创建符号链接
。
- 创建硬链接
ln file link
- 创建符号链接(软链接)
ln -s item link
“item” 可以是一个文件或是一个目录
1.8 硬链接
硬链接和符号链接比起来,硬链接是最初 Unix 创建链接的方式,而符号链接更加现代。在 默认情况下,每个文件有一个硬链接,这个硬链接给文件起名字。当我们创建一个硬链接以后, 就为文件创建了一个额外的目录条目。
硬链接有两个重要局限性:
-
一个硬链接不能关联它所在文件系统之外的文件。这是说一个链接
不能关联与链接本身 不在同一个磁盘分区上的文件
。 -
一个
硬链接不能关联一个目录
。
一个硬链接
和文件
本身没有什么区别。不像符号链接,当你列出一个包含硬链接的目录内
容时,你会看到没有特殊的链接指示说明。当一个硬链接被删除时,这个链接被删除,但是文
件本身的内容仍然存在(这是说,它所占的磁盘空间不会被重新分配),直到所有关联这个文
件的链接都删除掉。知道硬链接很重要,因为你可能有时会遇到它们,但现在实际中更喜欢使
用符号链接,下一步我们会讨论符号链接。
1.9 符号链接(软链接)
创建软链接
(符号链接) 是为了克服硬链接的局限性。
符号链接生效,是通过创建一个特殊类型的文件,这个文件包含一个关联文件或目录的文本指针。在这一方面,它们和 Windows 的快捷方式差不多,当然,符号链接早于 Windows 的快捷方式很多年;-)
一个符号链接指向一个文件,而且这个符号链接本身与其它的符号链接几乎没有区别。例 如,如果你往一个符号链接里面写入东西,那么相关联的文件也被写入。
然而,当你删除一个符号链接时,只有这个链接被删除,而不是文件自身。如果删除这个文件早于文件的符号链接,这个链接仍然存在,但是不指向任何东西。在这种情况下,这个链接被称为坏链接。
在许多实现中,ls 命令会以不同的颜色展示坏链接,比如说红色,来显示它们的存在。
关于链接的概念,看起来很迷惑,但不要胆怯。
总结
在这一章中,我们已经研究了许多基础知识:
- cp命令
- mv命令
- rm命令
- 软链接
- 硬链接