首先这里先对CentOS系统中关于ln的帮助文档进行下分享:(小白英文不是太好,稍微理解下中文的)
ln 在文件之间建立连接
用法:
ln [OPTION] [-T] TARGET LINK_NAME
ln [OPTION] TARGET
ln [OPTION] TARGET DIRECTORY
ln [OPTION] -t DIRECTORY TARGET
描述:在Linux下有两个‘link’(链接)的概念,一般称为软链接和硬链接两种。
软链接的话是包含了路径信息的指定文件,所以软链接可以指向不同文件系统里的文件,更过分的是它居然可以指向一个根本不存在的问价哦。软链接本身的大小是根据所要链接的文件的名称所决定的。再软链接被访问的时候,OS就是通过调用链接文件本身所包含的文件路径替换想要访问的文件的路径,以此来达到能够访问文件的目的。可以通过rm和unlink这两个命令对链接进行删除,但是删除的却不是源,而是删除的链接文件。假如把源文件删除的话,链接文件就会失效。
硬链接的话,它本身只不过是一个文件名称而已。打个比方来说,就好比一个人有好多名字(别名,笔名,网名等等)你少一个名字的话,对于你本身别无影响,所以当所有名字都被删除的话,文件本身就会被删除。假如一个源文件在很多地方都有硬链接,但是它确是仅仅只占用一个文件大小的空间,为什么会这样呢?是因为索引节点的原因,有兴趣的话可以去网上查阅相关资料。
Ps:只有超级用户才能建立目录的硬连接。
下面给出一些较为常用选项:
-b
备份,但不接受参数
-f
删除已存在的目的文件
-d, -F, --directory
允许超级用户建立目录硬连接
-f, --force
删除已存在的目的文件
-i, --interactive
提示是否删除已存在的目的文件
-L, --logical
对符号链接进行硬链接
-n, --no-dereference
当所给出的目的文件名是一个目录的符号连接时,将其视为一般文件处理
--version
显示版本信息和退出
-v, --verbose
打印每个链接文件的名称
下面是小白做的一些实验,直接把命令拿了过来,有兴趣的朋友可以试下。
ln -s /home/wang/test ./ #在当前目录进行链接
ln -s /home/wang/test ./ #在当前目录进行目录链接
ln /home/wang/test.txt ./ #进行硬链接