Linux高级编程 5
学习笔记
软连接 相当于windows下的快捷方式
ln -s 源文件 目标文件
$ls
dir1 file1
$ln -s file1 filesoft
$ls
dir1 file1 filesoft
$ls -l filesoft
lrwxrwxrwx 1 ubuntu ubuntu 5 Nov 29 21:33 filesoft -> file1
这里面的5字节为文件的访问路径
把软链接拷贝到其他目录如果使用相对路径的,有可能不能用
为了实现任意搬移,源文件要使用绝对路径的软链接
$ln -s /home/ubuntu/code/test/file2 ~/file2.soft
$ls
dir1 file1 file2
$ls -l file2
-rw-rw-r-- 1 ubuntu ubuntu 38 Nov 29 21:49 file2
$cd
$ls -l file2.soft
lrwxrwxrwx 1 ubuntu ubuntu 28 Nov 29 21:49 file2.soft -> /home/ubuntu/code/test/file2
lrwxrwxrwx file2.soft 软链接文件权限是全开放
对应的文件file2的权限为-rw-rw-r-- 。
lrwxrwxrwx只是代表软链接本身的权限,任意用户都可以读写软链接,
但是对软链接指向的文件进行读写和修改还要参考指向文件的权限。
连接和被连接的文件必须在同一个文件系统当中
硬链接:
不需要参数
ln sourcefile destinationfile
硬链接的特征:
硬链接,对任意一个文件进行修改,其他文件也会变化
$ls -l
-rwxrwxrwx 1 root root 6 Nov 29 21:41 file1
$ln file1 file1.h
$ll
-rwxrwxrwx 2 root root 6 Nov 29 21:41 file1*
-rwxrwxrwx 2 root root 6 Nov 29 21:41 file1.h*
2 :为硬链接数
删除的时候,硬链接计数-1
当硬链接计数为0的时候,文件才真正从磁盘删除