Linux文件管理04 链接命令

命令

1
2
3
ln -s [原文件][目标文件] (link)
#生成链接文件
-s 创建软链接


硬链接

  • 拥有相同的i节点和存储block块,可以看做是同一个文件。(在格式化时,1.将分区划分为等大小的block数据块,该数据块通常为4KB。2.建立分区表,并为每个文件建立一个相关数据。当用户搜索某个文件时,会先到分区表中查找文件所对应的block存储位置,接着到相应位置取出,并返回给用户。)硬链接与原文件拥有相同的i节点。因此,与原文件非常相似。当删除原文件或硬链接文件的任何一文件,不影响文件索引操作。可看做,同一个文件的不通进入点。它是同样的存储空间。
  • 可通过i节点识别(相同的i)
  • 不能跨分区建立
  • 不能针对目录使用,只有文件才可以创建
1
2
3
4
ln ./source/abc ./target/bcd.hard
# 创建后,引用计数+1
ls -i ./source/abc ./target/bcd.hard
# 可使用ls -i 来查看文件i节点号

不建议创建硬链接文件
文件太过隐蔽,除了有i节点这样一个标识之外,很难区分它是不是硬链接
硬链接限制较多,不能跨分区,不能针对目录,使用当中容易出现错误使用方法


##软链接

  • 类似于Windows快捷方式
  • 软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据。(拥有自己的分区表中索引数据,通过索引找到分区表中文件的目标索引数据,再通过目标索引数据,查找数据)
  • lrwxrwxrwx l软链接, 软链接文件权限都为rwxrwxrwx, 虽然权限显示为777,但实际权限需要看原文件权限。
  • 修改任意文件,另一个都改变
  • 删除原文件,软链接不能使用
  • 创建软链接,原文件一定要写绝对路径。否则,软链接会到它所在的同一目录去找原文件。
  • 软链接的目的是:在不改变原目录/文件的前提下,起一个方便的别名。