linux创建文件软链接命令,ln命令_Linux ln命令:创建文件链接

ln 是一个很神奇的命令,它可以创建一个文件的影子,也可以通过一个通道进入另一个地方。其实,所有的这些把戏都是通过软链接和硬链接来实现的。本文不会花太多篇幅来深入解释“硬链接”和“软链接”两个概念,而是更侧重在 ln 命令本身的功能和使用上。

链接也分软硬

我们先来介绍一下软链接和硬链接的概念。

软链接,全称是软链接文件,英文叫作 symbolic link。这类文件其实非常类似于 Windows 里的快捷方式,这个软链接文件(假设叫 VA)的内容,其实是另外一个文件(假设叫 B)的路径和名称,当打开 A 文件时,实际上系统会根据其内容找到并打开 B 文件。

而硬链接,全称叫作硬链接文件,英文名称是 hard link。这类文件比较特殊,这类文件(假设叫 A)会拥有自己的 inode 节点和名称,其 inode 会指向文件内容所在的数据块。与此同时,该文件内容所在的数据块的引用计数会加 1。当此数据块的引用计数大于等于 2 时,则表示有多个文件同时指向了这一数据块。一个文件修改,多个文件都会生效。当删除其中某个文件时,对另一个文件不会有影响,仅仅是数据块的引用计数减 1。当引用计数为 0 时,则系统才会清除此数据块。

如果上述内容理解起来非常困难,那么还请花些时间阅读一下《UNIX 环境高级编程》的相关章节,要确保理解这部分知识,才更有助于深入掌握 ln 命令。

建立属于你的第一个硬链接

硬盘上已经有了一个文件,叫作 source.txt,我想针对这个文件建一个硬链接文件,名字叫作 hardsource.txt:

#我们的原文件

[roc@roclinux ~]$ cat source.txt

Hello!Source!

#先通过ls看看文件信息, 注意开头的"-", 表示这是一个普通文件

[roc@roclinux ~]$ ls -l source.txt

-rw-rw-r-- 1 roc roc 14 3月 1 00:19 source.txt

#用ln命令建立硬链接

[roc@roclinux ~]$ ln source.txt hardsource.txt

#我们通过ls -i查看两个文件的inode, 发现是完全相同的, 表示它们指向的是同一数据块

[roc@roclinux ~]$ ls -il source.txt hardsource.txt


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部