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取消软链接
* 可以给目录创建软链接
- 第一章:文件和目录操作类命令
- 第一节:pwd命令
- 第二节:cd命令
- 第三节:mkdir命令
- 第四节:touch命令
- 第五节:ls命令
- 第六节:cp命令
- 第八节: mv命令
- 第九节:ln命令
- 第十节:find命令
- 第十一节:chattr命令
- 第十二节:chown命令
- 第十三节:chmod命令
- 第二章:文件过滤和内容编辑类命令
- 第一节: cat命令
- 第二节:less命令
- 第三节:head命令
- 第四节:tail命令
- 第五节:cut命令
- 第六节:sort命令
- 第七节:wc命令
- 第八节:tr命令
- 第三章:文本处理三剑客
- 第一节:grep命令
- 第二节:sed命令
- 第四章:linux信息显示类或搜索命令
- 第一节:uname命令
- 第二节:du命令
- 第三节:data命令
- 第四节:echo命令
- 第五节:watch命令
- 第五章: 文件备份和压缩类命令
- 第一节:tar命令
- 第二节:gzip压缩
- 第三节:zip和upzip命令
- 第四节:scp命令
- 第五节: rsync文件同步工具命令
- 第六章:Linux用户管理及用户信息查询类命令
- 第一节:useradd命令
- 第二节:usermod命令
- 第三节:userdel命令
- 第四节:groupadd和groupdel命令
- 第五节:passwd命令
- 第六节:su命令
- 第七节:visudo命令
- 第八节:id命令
- 第九节:w和who命令
- 第十节:last和lastb命令
- 第七章: Linux磁盘及文件系统管理
- 第一节:fdisk命令
- 第二节: partprobe命令
- 第三节:parted磁盘分区工具
- 第四节:mkfs命令
- 第五节:dumpe2fs命令
- 第六节: fsck命令
- 第七节:mount和umount命令
- 第八节:dd命令
- 第九节:df命令