这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件或目录在另外一个位置建立一个同步的链接,默认是链接是硬链接,常用参数是 "-s" 。
对于ln命令,这里有两点需要说明:
1、无论是软连接还是硬链接,都会保持每一处链接文件的同步性,也就是说不论你改动了哪一处,其他的文件都会发生变化,即文件保持同步。
2、使用软连接(符号链接)需要加参数 "-s" ,他只会在你选定的位置上生成一个文件的镜像,其大小为指向的路径字符串长度。
使用硬链接创建一个文件,硬链接文件都是指向同一个inode的多个不同路径;创建文件的硬链接即为为inode创建新的引用路径,因此会增加其引用次数,不会再磁盘上复制一份文件,占用的是同一个磁盘空间,大小也是和原文件一样大。
即:不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁盘空间。
命令格式及参数
命令格式:指令名称 : ln
使用权限 : 所有使用者
使用方式 : ln [options] source dist,其中 option 的格式为 :
【注意: 符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的。】
options:
- -b 删除,覆盖以前建立的链接
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -s 软链接(符号链接)
- -v 显示详细的处理过程
- -S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"
- -V "-V<备份方式>"或"--version-control=<备份方式>"
- --help 显示帮助信息
- --version 显示版本信息
软连接 :ln -s [options] 源文件 目标文件
特点:
可以对目录进行符号链接
可以跨分区进行符号链接
软连接指向的是另一个文件的路径,其大小为指向的路径字符串长度;不增加或减少目标文件inode的引用计数
硬链接:ln 【options】源文件 目标文件
特点:
不能够对目录进行硬链接;及源文件不能是目录。
不能跨分区进行硬链接
硬链接文件都是指向同一个inode的多个不同路径;创建文件的硬链接即为为inode创建新的引用路径,因此会增加其引用计数
思考:
文件管理操作对文件的影响:【这里主要是从链接的角度考虑】
文件复制:
文件移动:
文件删除: