linux 学习笔记5 ln 连接

ln  硬连接 源文件是目录不可以做硬链接

ln -s  软连接

[root@SRD999 /]# ll  查看.2015是个目录

ls: cannot access nas: No such device or address

total 4326

-rw-r--r--.   1 root   root       247 Dec 31 15:26 1

drwxrwxr-x.   2 root   srd       4096 Jan 26 17:53 2015

[root@SRD999 /]# ln /2015 /2016/5   建立硬连接就报错了

ln: `/2015': hard link not allowed for directory



[root@SRD999 /]# ln -s /2015 /2016/test  建立软连接就可以

[root@SRD999 /]# cd 2016

[root@SRD999 2016]# ll

total 4251368

drwxrwxr-x. 2 PD2913 PD2913       4096 Jan 23 14:24 1

-rw-rw-rw-. 1 srd    srd    4353378304 Jan 25 16:28 1.iso

drwxrwxr-x. 2 srd    srd          4096 Jan 23 14:04 2

-rw-r--r--. 2 root   root           22 Jan 26 17:58 2.txt

drwxrwxr-x. 2 srd    srd          4096 Jan 23 14:04 3

lrwxrwxrwx. 1 root   root            5 Jan 26 18:03 test -> /2015

[root@SRD999 2016]# 


建立一个文件,查看,后把这个文件做个硬连接,再修改这个硬连接,查看源文件,同步修改,实际上修改的就是源文件,链接文件类似Windows的快捷图标

[root@SRD999 2015]# cat 1.txt  查看1.txt文件(源文件)

test

123

456

789

[root@SRD999 2015]# ln 1.txt /2016/2.txt  建立连接,将1.txt文件连接到2016目录下面2.txt

[root@SRD999 2015]# cat /2016/2.txt   查看2016下面的2.txt

test

123

456

789

[root@SRD999 2015]# vi /2016/2.txt  编辑2016下面的2.txt

test

123

456

rrrrrrrr

[root@SRD999 2015]# cat /2016/2.txt  查看2016下面的2.txt

test

123

456

rrrrrrrr

[root@SRD999 2015]# cat 1.txt  查看2015下面的1.txt,已经改变了

test

123

456

rrrrrrrr

[root@SRD999 2015]# 


第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;

第二,ln的链接又软链接和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。软链接是可以跨分区的,但是硬链接只能在同一分区内。

第三:目录不能建立硬链接,但可以建立软链接。


你可能感兴趣的:(linux,软连接,源文件)