[笔记]快乐的Linux命令行《四》操作文件和目录

65 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情

@TOC

前言

本章主要介绍命令行用来操作文件和目录。 这一章节将会介绍以下命令:

  • cp —复制文件和目录
  • mv —移动/重命名文件和目录
  • mkdir —创建目录
  • rm —删除文件和目录
  • ln —创建硬链接和符号链接

一、操作文件和目录

命令行程序,功能强大灵活。虽然图形文件管理器能轻松地实现简单的文件操作,但是对于复杂的文件操作任务,则使用命令行程序比较容易完成。

cp -u *.html destination

1.1 通配符

介绍一个使命令行如此强大的 shell 特性——通配符 shell 提供了特殊字符来帮助你快速指定一组文件名。这些特殊字符叫做通配符。使用通配符(也以文件名代换著称)允许你依据字符类型来选择文件名。

下表列出这些通配符以及它们所选择的对象: 在这里插入图片描述 在这里插入图片描述

1.2 cp — 复制文件和目录

cp 命令,复制文件或者目录。它有两种使用方法:

  1. 复制单个文件或目录 “item1” 到文件或目录”item2”:
cp item1 item2
  1. 复制多个项目item(文件或目录)到一个目录directory下:
cp item... directory

1.3 cp命令 有用的选项和实例

cp 命令一些有用的选项(短选项和等效的长选项): 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

1.4 mv — 移动和重命名文件

mv 命令可以执行文件移动和文件命名任务,完成操作之后,原来的文件名不再存在。

  1. 把文件或目录“item1”移动或重命名为“item2”:
mv item1 item2
  1. 把一个或多个条目从一个目录移动到另一个目录中:
mv item... directory

1.5 mv命令 有用的选项和实例

在这里插入图片描述 在这里插入图片描述

1.6 rm命令 有用的选项和实例

rm 命令用来移除(删除)文件和目录 在这里插入图片描述 在这里插入图片描述

小贴士: 小心 rm !!!

  1. Linux,没有复原命令。一旦你用 rm 删除了一些东西,它就消失了。
  2. 尤其要小心通配符。思考一下这个经典的例子。假如说,你只想删除一个目录 中的 HTML 文件。输入:rm *.html

1.7 ln — 创建链接

ln 命令即可创建硬链接,也可以创建符号链接

  1. 创建硬链接
ln file link
  1. 创建符号链接(软链接)
ln -s item link

“item” 可以是一个文件或是一个目录

1.8 硬链接

硬链接和符号链接比起来,硬链接是最初 Unix 创建链接的方式,而符号链接更加现代。在 默认情况下,每个文件有一个硬链接,这个硬链接给文件起名字。当我们创建一个硬链接以后, 就为文件创建了一个额外的目录条目。

硬链接有两个重要局限性:

  1. 一个硬链接不能关联它所在文件系统之外的文件。这是说一个链接不能关联与链接本身 不在同一个磁盘分区上的文件

  2. 一个硬链接不能关联一个目录

一个硬链接文件本身没有什么区别。不像符号链接,当你列出一个包含硬链接的目录内 容时,你会看到没有特殊的链接指示说明。当一个硬链接被删除时,这个链接被删除,但是文 件本身的内容仍然存在(这是说,它所占的磁盘空间不会被重新分配),直到所有关联这个文 件的链接都删除掉。知道硬链接很重要,因为你可能有时会遇到它们,但现在实际中更喜欢使 用符号链接,下一步我们会讨论符号链接。

1.9 符号链接(软链接)

创建软链接 (符号链接) 是为了克服硬链接的局限性。

符号链接生效,是通过创建一个特殊类型的文件,这个文件包含一个关联文件或目录的文本指针。在这一方面,它们和 Windows 的快捷方式差不多,当然,符号链接早于 Windows 的快捷方式很多年;-)

一个符号链接指向一个文件,而且这个符号链接本身与其它的符号链接几乎没有区别。例 如,如果你往一个符号链接里面写入东西,那么相关联的文件也被写入。

然而,当你删除一个符号链接时,只有这个链接被删除,而不是文件自身。如果删除这个文件早于文件的符号链接,这个链接仍然存在,但是不指向任何东西。在这种情况下,这个链接被称为坏链接。

在许多实现中,ls 命令会以不同的颜色展示坏链接,比如说红色,来显示它们的存在。

关于链接的概念,看起来很迷惑,但不要胆怯。

总结

在这一章中,我们已经研究了许多基础知识:

  • cp命令
  • mv命令
  • rm命令
  • 软链接
  • 硬链接