软链接和硬链接
ln参数
参考链接 https://www.cnblogs.com/sueyyyy/p/10985443.html
- 链接文件
-
-b
- 删除,覆盖以前建立的链接
-
-d
- 允许超级用户建立目录的硬链接
-
-f
- 强行建立文件或目录的连接,不论文件或目录是否存在
-
-i
- 覆盖既有文件之前先询问用户
-
-n
- 把符号连接的目的目录是为一般文件/目录
-
-s
- 对源文件建立软链接(符号链接),而非硬连接
-
-v
- 显示详细的处理过程
-
-S
<字尾备份字符串> ”或 “–suffix=<字尾备份字符串> -
-V
<备份方式>”或“–version-control=<备份方式> -
-help
显示帮助信息 -
-version
显示版本信息
-
常见用法
ln -s
或——symbolic:对源文件建立符号(软)连接,而非硬连接;
ln -d
[源文件] [目标文件] :建立目录的硬连接;
ln -f
—force:强行建立文件或目录的连接,不论文件或目录是否存在;
创建软链接
ln
加-s
创建的就是软链接
# 创建软链接:ln -s 源文件 目标文件(快捷方式)
ln –s /var/www/test /var/test
## -f 强制建立软链接,删除原链接文件
ln -sf /lib64/libc-2.12.so /lib64/libc.so.6
# 更新软链接: ln –snf [新的源文件或目录] [目标文件或目录]
ln –snf /var/www/test1 /var/test
创建硬链接
ln 不加-s创建的就是硬链接
硬链接
是指文件的inode(i节点)
指向另一个文件名,编辑这个文件,指向这个i节点
的文件都会发生改变,删除其中一个文件,i节点
依然存在,其他指向该i节点
的文件不会被删除.
硬链接
说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode
,指针数+1.
(1)不可以在不同文件系统的文件间建立链接
(2)只有超级用户才可以为目录创建硬链接。
硬链接就是能够同时修改同多个链接的文件,其中一个修改后,所有与其有硬链接的文件都一起修改了。
删除硬链接会删除一个指针,链接数同时减一,当链接数减为0时,内核才会把文件内容从磁盘上删除。
硬连接不支持跨文件系统。
# 创建硬链接:ln 源文件 目标文件
ln src-file dst-file
如何查看文件是软链接还是硬链接
https://segmentfault.com/q/1010000004911271
# 使用file查看文件是否软链接
file $(which nc)
# 使用readlink查看nc命令的软链接
readlink $(which nc)