文件描述符是相对进程而言的,一个文件可以有多个文件描述符,但只有一个inode,inode一样就是同一个文件,文件名不同也是同一个
硬链接
- 两个文件是指向同一个存储区,inode号一样,并没有开辟新的空间,
- 实质是普通文件。但并不开辟新的存储空间
- 删除一个有硬链接的文件,并不会释放存储区,如果该文件的硬链接数为0,才会删除
- 目录不占用实际磁盘空间,所以不能创建硬链接
ln filename link
给filename创建一个名为link的硬链接
$ln 1.txt l1
161013 $ls -li
total 44
927082 -rw-rw-r-- 2 jiang jiang 72 10月 13 09:21 1.txt
927082 -rw-rw-r-- 2 jiang jiang 72 10月 13 09:21 l1
$ln dir ldir
ln: ‘dir’: hard link not allowed for directory
软链接
ln -s filenamepath link2
创建链接到filename的名为link2的符号链接
ln -s `pwd`/2.txt link2
避免写太长的路径,使用pwd表示绝对路径,将它的执行结果当作参数进行使用
- 就是windows下的快捷方式
- 是符号链接文件,不是普通文件
- 开辟新的链接文件空间
- 支持对目录的链接
- 创建软链接时如果不指定路径时都是用相对路径,所以移动软链接文件会出错,应使用绝对路径,可以借助pwd
$ln -s 2.txt l2
161013 $ls -il
total 44
927085 -rw-rw-r-- 1 jiang jiang 78 10月 13 09:50 2.txt
927087 lrwxrwxrwx 1 jiang jiang 5 10月 13 14:13 l2 -> 2.txt