操作文件和目录
常用命令:
cp —复制文件和目录
• mv —移动/重命名文件和目录
• mkdir —创建目录
• rm —删除文件和目录
• ln —创建硬链接和符号链接
为什么还使用早期的命令行程序呢?
答案是命令行程序,功能强大灵活。虽然图形文件管理器能轻松地实现简单的文件操作,但是对于复杂的文件操作任务,则使用命令行程序比较容易完成。
例如,怎样复制一个目录下的 HTML 文件到另一个目录,但这些 HTML 文件不存在于目标目录,或者是文件版本新于目标目录里的文件?要完成这个任务,使用文件管理器相当难,使用命令行相当容易:



mkdir 命令是用来创建目录的。它这样工作:
mkdir dir1 dir2 dir3
会创建三个目录,名为 dir1, dir2, dir3。
cp 命令,复制文件或者目录。它有两种使用方法:
cp item1 item2
复制单个文件或目录 “item1” 到文件或目录”item2”,和:
cp item... directory
复制多个项目(文件或目录)到一个目录下。
这里列举了 cp 命令一些有用的选项(短选项和等效的长选项):







rm 命令用来移除(删除)文件和目录:

小心 rm!!!
小贴士。 无论什么时候,rm 命令用到通配符(除了仔细检查输入的内容外!),用 ls 命令来测试通配符。这会让你看到要删除的文件列表。然后按下上箭头按键,重新调用刚刚执行的命令,用 rm 替换 ls。




创建硬链接:

注意到一件事,列表中,文件guang.txt 和 guang-hard 的第二个字段是 “4”,这个数字是文件 “guang.txt”的硬链接数目。你要记得一个文件至少有一个硬链接,因为文件名就是由链接创建的。所以,
我们怎样知道实际上 guang.txt 和 guang-hard 是一样的文件呢?在这个例子里,ls 不是很有用。虽然我们能够看到 guang.txt 和 guang-hard文件大小一样(第五字段),但我们的列表没有提供可靠的信息来确定(这两个文件一样)。为了解决这个问题,我们更深入的研究一下。
当考虑到硬链接,想象文件是由两部分组成:数据部分包含文件的内容,名字部分包含文件的名字,这样可以帮助理解。当我们创建了文件的硬链接,实际上,我们给文件添加了额外的名字,这些名字都涉及一样的数据内容。系统分配了一系列的盘块给所谓的索引节点,它和文件名字想关联。因此每个硬链接都关系到一个具体的索引节点,这个节点包含了文件的内容。

在这个版本的列表中,第一字段表示文件索引节点号,正如我们所见到的,guang.txt 和 guang-hard共享一样的索引节点号,这就证实这两个文件是一样的文件。
创建符号链接
建立符号链接的目的是为了克服硬链接的两个缺点:硬链接不能跨越物理设备,硬链接不能关联目录,只能是文件。符号链接是文件的特殊类型,它包含一个指向目标文件或目录的文本指针。
符号链接的建立过程相似于创建硬链接:

在 ln 命令中,简单地加上 “-s” 选项就可以创建一个符号链接,而不是一个硬链接。
当我们创建一个符号链接的时候,会建立一个目标文件在哪里和符号链接有关联的文本描述。如果我们看看 ls 命令的输出结果,比较容易理解。

目录 dir1 中,guang-sym 的列表说明了它是一个符号链接,通过在第一字段中的首字符 “l”可知,并且它还指向 “../guang”,也是正确的。相对于 guang-sym 的存储位置,guang 在它的上一个目录。同时注意,符号链接文件的长度是8,这是字符串 “../guang” 所包含的字符数,而不是符号链接所指向的文件长度。
当建立符号链接时,你即可以使用绝对路径名。
我们试着删除guang

坏的链接以闪烁的红色文本显示!损坏链接的出现,并不危险,但是相当混乱。如果我们试着使用损坏的链接,会看到以下情况:

对于符号链接,有一点值得记住,执行的大多数文件操作是针对链接的对象,而不是链接本身。而 rm 命令是个特例。当你删除链接的时候,删除链接本身,而不是链接的对象。
欢迎加入作者的小圈子
扫描下方左边二维码加入QQ交流群,扫描下方右边二维码关注个人微信公众号并,获取更多隐藏干货,QQ交流群:859800032 微信公众号:Crystal软件学堂
|
作者:Liu_Jing bilibili视频教程地址:https://space.bilibili.com/5782182 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在转载文章页面给出原文连接。 如果你觉得文章对你有所帮助,烦请点个推荐,你的支持是我更文的动力。 文中若有错误,请您务必指出,感谢给予我建议并让我提高的你。 |

浙公网安备 33010602011771号