Linux你必须知道的硬链接和软链接的区别!

  1. 基础知识:

当我们用ls -l 查看文件以长格式显示的时候

  文件属性字段(输出出来的第一段)总共有10个字母组成:第一个字符表示文件类型,其他的九个字符表示文件权限,

[root@localhost etc]# ls -l
总用量 1052
-rw-r--r--.  1 root root       16 6月  10 05:13 adjtime
-rw-r--r--.  1 root root     1518 6月   7 2013 aliases
-rw-r--r--.  1 root root    12288 6月  10 05:39 aliases.db
drwxr-xr-x.  2 root root      236 6月  10 05:06 alternatives
-rw-------.  1 root root      541 4月  11 2018 anacrontab
-rw-r--r--.  1 root root       55 10月 30 2018 asound.conf
drwxr-x---.  3 root root       43 6月  10 05:06 audisp
drwxr-x---.  3 root root       83 6月  10 05:38 audit

第一个字符为 “ - ”的时候表示文件时一个普通字符。

“d”表示文件是一个目录

“L(l)”表示是一个链接文件(软链接会显示)

“b”表示设备文件,一般置于/dev目录下,如硬盘,光盘等。

  • ln命令创建链接文件(默认创建硬链接)

ln -s 创建软链接文件

ln -d建立目录的硬链接

我们先随便创建一个文件用来做链接文件或目录的源

[root@localhost opt]# touch a
[root@localhost opt]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 6月  13 11:27 a
[root@localhost opt]# 

创建硬链接和软链接

[root@localhost opt]# ln a /opt/aa
[root@localhost opt]# ls -l
总用量 0
-rw-r--r--. 2 root root 0 6月  13 11:27 a
-rw-r--r--. 2 root root 0 6月  13 11:27 aa
[root@localhost opt]# ln -s a /opt/aaa
[root@localhost opt]# ls -l
总用量 0
-rw-r--r--. 2 root root 0 6月  13 11:27 a
-rw-r--r--. 2 root root 0 6月  13 11:27 aa
lrwxrwxrwx. 1 root root 1 6月  13 11:32 aaa -> a

对比总结:硬链接的文件大小和时间和源一样

                   软链接文件大小和时间不同

                  硬链接源文件删除后不会受影响

                  软链接源文件删除后会失效(会变成红白闪烁状态)

                  软链接文件只是维持了从软连接到源文件的指向关系

                  软链接目录 下的文件 和软链接之前目录下的文件一样不会改变inode编号,并且时间和大小相同

特别注意:不能创建软链接文件的软链接!!!


版权声明:本文为weixin_58375855原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。