硬软连接学习
在Linux中连接分为两种,硬链接(Hard link),软连接或符号连接 创建链接命令:ln -s是软连接
软链接例子:[root@localhost /]# ln -s /app/apa4.1.1/ /app/apa
硬链接是通过索引节点进行链接。 硬链接的文件类型是普通文件
格式 : ln 源文件 硬链接文件
多个文件名指向同一个inode,这种情况就是硬链接
硬链接好处:删除源文件,不影响硬链接文件访问不丢失数据
硬链接总结:1.硬链接文件是具有相同inode节点号的不同文件名
2.删除硬链接文件或者删除源文件之一,文件实体并未被删除
3.只有删除了源文件及其所有对应的硬链接文件,文件实体才会被删除
软连接学习
相当于windows里的快捷方式
查看软连接的value:readilnk
软链接里面存放的是源文件的路径,并且执行源文件
删除源文件,就不能通过软链接访问源文件了
软链接和源文件是不同类型的文件,也是不同的文件,inode号不同
删除 rm -f
文件例子:[root@localhost ~]# mkdir /olbdoy/test/oldboy -p
[root@localhost ~]# cd /olbdoy/test/oldboy/
[root@localhost oldboy]# touch oldboyfile
[root@localhost oldboy]# ln oldboyfile oldboy_file_hard_link
[root@localhost oldboy]# ln -s oldboyfile oldboy_file_soft_link
[root@localhost oldboy]# ls -li
总用量 0
781865 -rw-r--r-- 2 root root 0 5月 8 11:03 oldboyfile
781865 -rw-r--r-- 2 root root 0 5月 8 11:03 oldboy_file_hard_link
781867 lrwxrwxrwx 1 root root 10 5月 8 11:04 oldboy_file_soft_link -> oldboyfile
目录例子:目录不允许创建硬链接文件每一个目录创建成功后自带一个硬链接,是.
[root@localhost /]# cd /oldboy/
[root@localhost oldboy]# mkdir oldboydir
[root@localhost oldboy]# ln oldboydir oldboy_dir_hard_link
ln: "oldboydir": 不允许将硬链接指向目录
[root@localhost oldboy]# ln -s oldboydir oldboy_dir_soft_link
[root@localhost oldboy]# ls -li
总用量 8
781847 drwxr-xr-x 2 root root 4096 5月 8 11:12 oldboydir
781849 lrwxrwxrwx 1 root root 9 5月 8 11:13 oldboy_dir_soft_link -> oldboydir
781934 drwxr-xr-x. 3 root root 4096 4月 19 12:40 test
有关目录链接小节
1.对于目录,不可以创建硬链接,但可以创建软连接
2.对于目录的软链接是生产场景运维中的常用技巧
3.目录的硬链接不能跨越文件系统
4.每一个目录下面都有一个硬链接“.”和上一级目录的链接“..”
散乱知识点:
控制文件文件删除:以下两个同时具备才生效
1.文件的硬链接数,有一个硬链接i_link+1,i_link=0文件就被删除了
2.受进程占用控制,是否有进程占用这个文件,有一个进程占用这个文件i_count+1,i_count=1
没有进程调用,i_count,文件就被删了
当i_link=0并且i_count都为0时,文件才被删除