软连接与硬连接

软连接

:软连接就好比Windows桌面上的快捷方式,而文件本身在硬盘上,你将桌面的快捷方式删除后,丝毫不会影响你软件本身的使用,而你如果将软件本身删除卸载后,那么快捷方式就像一个空壳子一样 看似存在,但是进不去软件.   这么可以理解那么软连接就是相同的道理

首先创建一个文件   

[root@zhuzhuxia ~]# cd /home
[root@zhuzhuxia home]# touch file.txt

创建此文件的软连接,并观察

[root@zhuzhuxia home]# ln -s file.txt /opt/file.txt
[root@zhuzhuxia home]# ll -d /opt/file.txt 
lrwxrwxrwx. 1 root root 8 9月   4 11:30 /opt/file.txt -> file.txt

命令本身就是   ln -s  真实文件   你要放在哪里

-s 软连接

观察软连接     lrwxrwxrwx.    开头l就是软连接

源文件 /home/file.txt和软连接/opt/file.txt 是一个东西,改变源文件的内容,软连接的内容也随着改变,相反 也是一样的道理.

[root@zhuzhuxia ~]# echo "123" > /home/file1.txt     ----给源文件写入内容
[root@zhuzhuxia ~]# cat /opt/file.txt           
123                                                  ---源文件和软连接都可以查看到
[root@zhuzhuxia ~]# cat /opt/file.txt 
123
[root@zhuzhuxia ~]# echo "456" >> /opt/file.txt     --给软连接追加内容
[root@zhuzhuxia ~]# cat /opt/file.txt 
123
456
[root@zhuzhuxia ~]# cat /home/file1.txt             ---软连接和源文件都可以查看到
123
456

特点: 删除软连接,源文件不会影响

删除源文件,软连接会闪烁,不可用

[root@zhuzhuxia ~]# rm -rf /home/file1.txt    ---删除了源文件
[root@zhuzhuxia ~]# ll -d /opt/file.txt 
lrwxrwxrwx. 1 root root 15 9月   4 11:41 /opt/file.txt -> /home/file1.txt
[root@zhuzhuxia ~]# cat /opt/file.txt 
cat: /opt/file.txt: 没有那个文件或目录          ----软连接虽然显示存在,但是没有,不可用

1.软链接像快捷方式,可以对文件,目录做软链接

2.软链接记录的只是源文件的路径

3.软链接失去源文件将不可用, 删除软链接不影响源文件的正常使用

4.软链接与源文件的inode不同

5

删除软连接目录时,切记不要在目录名后面加/,否则会将目录中的文件删除

特别强调!!!!

[root@localhost home]# ln -s /opt/aaa  /home/bbb   -------做软链接
 ll
lrwxrwxrwx. 1 root root 8 9月   8 19:10 bbb -> /opt/aaa
[root@localhost opt]# rm -rf /home/bbb/       ------删除软链接  但是后面加/
[root@localhost home]# ll /home/bbb
lrwxrwxrwx. 1 root root 8 9月   8 19:11 /home/bbb -> /opt/aaa


[root@localhost home]# ln -s /opt/aaa /home/bbb   ----在做软链接
[root@localhost home]# touch /opt/aaa/b    ----在源文件下创建一个文件,往里面写入内容
[root@localhost home]# echo 123 > /opt/aaa/b
[root@localhost home]# cat /opt/aaa/b
123
[root@localhost home]# cd bbb
[root@localhost bbb]# cat b
123
[root@localhost bbb]# cd 
[root@localhost ~]# rm -rf /home/bbb/      ---删除软链接带/
[root@localhost ~]# cd /home
[root@localhost home]# cd bbb
[root@localhost bbb]# cat b          -----软链接下的文件被删除
cat: b: 没有那个文件或目录
[root@localhost bbb]# ll
总用量 0




[root@localhost opt]# ln -s /opt/aaa  /home/bbb   ----在做软链接
[root@localhost opt]# rm -rf /home/bbb     ---删除软链接时 后面不加/
[root@localhost opt]# ll
总用量 0
drwxr-xr-x. 2 root root 17 9月   8 19:13 aaa
[root@localhost opt]# cd /home/       ----此时的软连接目录没有了
[root@localhost home]# ll
总用量 0

删除软连接目录时,切记不要在目录名后面加/,否则会将目录中的文件删除

硬链接:   

语法:  ln  源文件   目标链接


    touch /opt/file2   先创建文件夹

[root@localhost ~]# ln /opt/file2  /home/file2.   制造硬链接
[root@localhost ~]# ll -d /home/file2. 
-rw-r--r--. 2 root root 0 9月   8 18:44 /home/file2.

查看源文件与硬链接的inode

[root@localhost ~]# ll -i /opt/file2  /home/file2.
16777656 -rw-r--r--. 2 root root 0 9月   8 18:44 /home/file2.
16777656 -rw-r--r--. 2 root root 0 9月   8 18:44 /opt/file2

       ------源文件与硬链接的inode相同

删除源文件或者硬链接 看源文件与硬链接是否受影响

[root@localhost ~]# echo 123456 > /opt/file2
[root@localhost ~]# cat /opt/file2
123456
[root@localhost ~]# cat /home/file2.
123456

[root@localhost ~]# rm -rf /home/file2.    -----删除硬链接
[root@localhost ~]# cat /opt/file2             ------源文件正常
123456


[root@localhost ~]# rm -rf /opt/file2        -----删除源文件
[root@localhost ~]# cat /home/file2.          -----硬链接正常
123456

综上所述  硬链接的特点是:

1.硬链接只能是文件夹,不可以是目录.

2.硬链接与文件夹之间没有依赖关系,源文件与硬链接删除任意一个  都不影响对方的使用

3.硬链接与源文件的inode相同

软链接与硬链接的区别:

- 软链接可以跨文件系统,硬链接不可以;
- 软链接可以对目录进行连接,硬链接不可以;
- 删除源文件之后,软链接失效,硬链接无影响;
- 软连接有不同的inode号,硬链接相同的inode号;
- 两种链接都可以通过命令 ln 来创建;
- ln 默认创建的是硬链接;
- 使用 -s 参数可以创建软链接。

你可能感兴趣的:(linux)