硬链接
硬链接是通过索引节点进行的链接。在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接。硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建。如果删除硬链接对应的源文件,则硬链接文件任然存在,而且保存了原有的内容,这样可以起到防止因为误操作而错误删除文件的作用。由于硬链接是有着相同inode号仅文件名不同的文件,因此删除一个硬链接文件并不影响其他有相同inode号的文件。
硬链接可用命令link 或In创建,如下:
link oldfile newfile
ln oldfile newfile
符号链接 (软链接)
软连接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软连接就是一个普通文件,只是数据块内容有点特殊。软连接可对文件或目录创建。
软连接主要应用于一下俩个方面:
1.一是方便管理,例如可以把一个复杂路径下的文件链接到一个简单路径下方便用户访问;
2.另一方面就是解决文件系统磁盘不足得情况,例如某个文件文件系统已经用完了但是现在必须在文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中,这样就可以很好的解决空间不足问题。删除软连接并不影响被指向的文件,但若被指向的源文件被删除,则相关软件就变成了死链接。使用-s选项的ln命令即可创建符号链接,命令如下:
ln -s old.file soft.link
ln -s old.dir soft.linkdir
[root@localhost ~]# mkdir 111
[root@localhost ~]# ln -s 111 222
[root@localhost ~]# cd 222
[root@localhost ~]# ll
总用量 8
drwxr-xr-x. 2 root root 6 11月 6 14:36 111
lrwxrwxrwx. 1 root root 3 11月 6 14:37 222 -> 111
-rwxrwxrwx. 2 root root 35 11月 6 10:42 aaa
-rwxrwxrwx. 2 root root 35 11月 6 10:42 calculator.sh
[root@localhost ~]# ln -s calculator.sh bbb.sh
[root@localhost ~]# cat bbb.sh
#!/bin/bash
echo "hello world !"
[root@localhost ~]# ./bbb.sh
hello world !
[root@localhost ~]#