Linux常见命令 14 - 软/硬连接命令 ln

目录

1. 软连接 ln -s

2. 硬连接 ln


目前Linux中比较常用的是软连接,硬连接不常用,掌握基本的软连接常识即可

1. 软连接 ln -s

语法:ln -s  [源文件] [目标文件]

liu@SLR:/hd1/Dling/lane/Wmq/test$ ln -s hello.txt hello.txt.soft
liu@SLR:/hd1/Dling/lane/Wmq/test$ ls -lh
total 8.0K
-rw-rw-r-- 1 liu liu 4.2K 1月  19 22:17 hello.txt
lrwxrwxrwx 1 liu liu    9 1月  19 22:17 hello.txt.soft -> hello.txt

特征:

  • 软连接就类似于windows的快捷方式,在MobaXterm中可视化为一个小箭头

        

  •  链接文件前面的标识均为:lrwxrwxrwx。其中l标识链接,三种用户均为最高级别 rwx
  • 链接的文件大小只为符号链接大小,与源文件大小无关
  • 上面代码段中最后一行展示的文件为:hello.txt.soft -> hello.txt,箭头指向源文件
  • 如果源文件丢失,软连接也就不能访问了

2. 硬连接 ln

语法:ln [源文件] [目标文件]

liu@SLR:/hd1/Dling/lane/Wmq/test$ ln hello.txt hello.txt.hard
liu@SLR:/hd1/Dling/lane/Wmq/test$ ls -lh
total 16K
-rw-rw-r-- 2 liu liu 4.2K 1月  19 22:17 hello.txt
-rw-rw-r-- 2 liu liu 4.2K 1月  19 22:17 hello.txt.hard

特征:

1. 进行硬连接本质上是进行两步操作:拷贝+同步更新,如果源文件进行更新,则硬连接对应的文件内容也会实时更新

2. 如果源文件丢失,硬连接依旧可以访问。因为它进行了拷贝的操作

3. 软硬连接可通过i节点识别。如代码段所示,软连接与源文件节点不同,但硬连接与源文件i节点相同,由于一个文件一定有一个i节点,但是一个i节点不一定只对应一个文件。硬链接一个i节点对应多个文件。当把一个文件删除,另外一个文件依旧存在。且两个文件能够同步更新,因为当对文件进行写操作的时候在内核层面上的操作针对i节点,但是i节点能够同时映射到2个文件,所以可以同步更新。

liu@SLR:/hd1/Dling/lane/Wmq/test$ ls -i
92230489 hello.txt  92230489 hello.txt.hard  92230490 hello.txt.soft

4. 不能跨分区进行连接。比如 把 /home 目录下的文件连接到 /boot 目录下,这是不允许的。但是软连接是允许的,如下代码段所示:

liu@SLR:/hd1/Dling/lane/Wmq/test$ ln hello.txt /home/liu/hello.txt.hard
ln: failed to create hard link '/home/liu/hello.txt.hard' => 'hello.txt': Invalid cross-device link

5. 硬连接不可以针对目录使用,只能针对文件。如下代码段所示:

liu@SLR:/hd1/Dling/lane/Wmq/test$ ln dir1  dir1.hard
ln: dir1: hard link not allowed for directory
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值