🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
ln命令是‘link’的缩写,其功能主要是用来创建文件的链接,其中链接类型包含硬件链接(hard link)和软链接 (symbolic link) 语法: ln [OPTION] SOURCE TARGET 常用选项: -s 创建软链接 硬链接: ln 源文件 目标文件,硬链接生成的是普通文件(-) 软链接: ln -s 源文件 目标文件 软链接生成的是符号链接文件(l) 2)那么什么是硬链接 硬链接是指通过索引节点来进行链接,所有文件文件都有一个独有的inode节点。在linux系统中,如果多个文件名指向同一个索引节点,这种情况下的文件就称为硬链接。硬链接的作用:允许一个文件拥有多个有效路径名(多个入口) [root@fenfa tmp]# ll total 8 -rw-r--r-- 1 root root 187 Jan 9 13:15 hosts drwxr-xr-x 5 root root 4096 Jan 9 11:55 test [root@fenfa tmp]# ln hosts aaa [root@fenfa tmp]# ls -i hosts aaa 394603 aaa 394603 hosts (通过上面发现,2个文件的inode的节点完全一样) [root@fenfa tmp]# rm -rf hosts You have mail in /var/spool/mail/root [root@fenfa tmp]# cat hosts cat: hosts: No such file or directory [root@fenfa tmp]# ln aaa hosts [root@fenfa tmp]# cat hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.2.11.239 testsrs.91als.cn (当我删除源文件的时候,其实这个文件没有被删除,我们可以通过硬链接数恢复回来) 关于硬链接知识总结: * 具有相同inode节点号的多个文件互为硬链接文件 * 删除硬链接文件或删除源文件之一,文件实体并未删除,只有删除所有的,文件实体才会被删除 * 硬链接文件其实就是文件的另一个入口 * 可以通过给文件设置硬链接文件,防止重要文件被误删除 * 硬链接文件,可以用rm命令删除 * 不能给目录创建硬链接 drwxr-xr-x 2 root root 4096 Jan 9 11:58 dir1 既然不可以为目录创建硬链接,那为什么这边的硬链接数为2呢? [root@fenfa tmp]# ls -ldi /var/tmp/dir1/. 782485 drwxr-xr-x 2 root root 4096 Jan 9 11:58 /var/tmp/dir1/. You have mail in /var/spool/mail/root [root@fenfa tmp]# ls -ldi /var/tmp/dir1/ 782485 drwxr-xr-x 2 root root 4096 Jan 9 11:58 /var/tmp/dir1/ 由于每个目录下有一个'.'代表当前目录,就查看,发现他们的inode的数相同,由此看看他们的硬链接数为2 在父目录中创建一个子目录,父目录的链接数增加1,案例如下 drwxrwxrwt. 5 root root 4096 Jan 9 11:58 tmp (当前为5) [root@fenfa tmp]# mkdir ddd [root@fenfa tmp]# mkdir fff [root@fenfa var]# ls -ld tmp/ drwxrwxrwt. 7 root root 4096 Jan 9 13:35 tmp/ (此时发现硬链接数7咯,那是因为没创建一个目录,每个目录里有..隐藏文件,指向上一个目录) 3)什么是软链接 软链接语法: ln -s 源文件 目标文件 (目标文件不能事先存在) [root@fenfa tmp]# ln -s hosts soft [root@fenfa tmp]# ls -li hosts soft 394603 -rw-r--r-- 1 root root 187 Jan 9 13:15 hosts 394604 lrwxrwxrwx 1 root root 5 Jan 9 13:24 soft -> hosts (由上面可以看出,软链接的文件的inode值和源文件不同,软链接文件的文件类型为l) 软链接知识总结 * 软链接类似于windows的快捷方式 * 即使删除了源文件,软链接文件亦然存在,但是无法访问指定的源文件路径 * 软链接失效的时候,是白字红底闪烁提示 * 软链接和源文件是不同类型的文件,也是不同的文件,inode号也不相同 * 可以通过unlink取消软链接 * 可以给目录创建软链接