在 Windows 系统中,快捷方式就是指向原始文件的一个链接文件,可以让用户从不同的位置来访问原始的文件;原文件一旦被删除或剪切到其他地方后,会导致链接文件失效。但是,这个看似简单的东西在 Linux 系统中可不太一样。
ln 命令
ln
命令用于创建链接文件,格式为“
ln [
选项
]
目标”,其可用的参数以及作用如表
6-6
所示。 在使用 ln
命令时,是否添加-s 参数,将创建出性质不同的两种“快捷方式”。
![](https://i-blog.csdnimg.cn/blog_migrate/7ea65a1619896329a91fac3c7cfdbb55.png)
为了更好地理解软链接、硬链接的不同性质,接下来创建一个类似于 Windows 系统中快捷方式的软链接。这样,当原始文件被删除后,就无法读取新建的链接文件了。
接下来针对一个原始文件创建一个硬链接,即相当于针对原始文件的硬盘存储位置创建了一个指针,这样一来,新创建的这个硬链接就不再依赖于原始文件的名称等信息,也不会因为原始文件的删除而导致无法读取。同时可以看到创建硬链接后,原始文件的硬盘链接数量增加到了 2
。
[root@localhost ~]# echo "Welcome to linux" > read0.txt
[root@localhost ~]# ln read0.txt read1.txt
[root@localhost ~]# cat read0.txt
Welcome to linux
[root@localhost ~]# cat read1.txt
Welcome to linux
[root@localhost ~]# ls -l read0.txt
-rw-r--r--. 2 root root 17 Sep 1 17:39 read0.txt
[root@localhost ~]# ls -l read1.txt
-rw-r--r--. 2 root root 17 Sep 1 17:39 read1.txt
[root@localhost ~]# rm read0.txt
rm: remove regular file ‘read0.txt’? y
[root@localhost ~]# cat read0.txt
cat: read0.txt: No such file or directory
[root@localhost ~]# cat read1.txt
Welcome to linux
[root@localhost ~]# ls -l read1.txt
-rw-r--r--. 1 root root 17 Sep 1 17:39 read1.txt