ln命令
Linux ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
1 | ln [参数][源文件或目录][目标文件或目录] |
命令参数
必要参数:
- -b 删除,覆盖以前建立的链接
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -s 软链接(符号链接)
- -v 显示详细的处理过程
选择参数:
- -S “-S<字尾备份字符串> “或 “–suffix=<字尾备份字符串>”
- -V “-V<备份方式>”或”–version-control=<备份方式>”
- –help 显示帮助信息
- –version 显示版本信息
相关概念:
链接:简单说,链接就是一种文件共享的方式,是POSIX中的概念,主流文件系统都支持链接文件。
inode:在Linux文件系统中,保存在磁盘的上的文件不管是什么类型,都给他分配一个编号,称为索引节点号inode。
Linux用ln命令创建软、硬链接。
软链接
创建软链接:ln -s 源文件 软链接文件
示例:在/opt目录下创建一个/tmp/test文件的软链接slnfile1
总结:
1、软链接相当于Windows的快捷方式
2、软链接里面存放的是源文件的路径,指向源文件
3、删除源文件,软链接文件依然存在,但是无法通过软链接访问源文件,已经失效,并且白字红底闪烁
4、软链接和源文件是不通的文件,iNode号不同,文件类型也不同
5、所有连接文件的权限都是777,而实际权限是由链接指向的源文件权限决定的
硬链接
创建硬链接:ln 源文件 硬链接文件
示例:在/opt目录下创建/tmp/test文件的硬链接hlnfile1
总结:
1、具有相同iNode节点号的多个文件,互为硬链接文件
2、删除硬链接文件或者源文件任意之一,文件实体并未被删除,只有删除了所有硬链接文件和源文件,文件实体才被删除
3、硬链接文件只是文件的另一个入口
4、链接文件和源文件属性相同
5、不能跨分区,不能对目录使用
硬链接和软链接区别
1、软链接其实就是创建一个新文件,这个文件就是用来指向其他文件的,软链接文件的inode号跟源文件的inod不同
2、硬链接是不会创建inode号的,他只是在源文件的inode link count域里再增加1,因此硬链接不可以跨文件系统,软链接可以
3、硬链接是一个文件别名
4、硬链接不可以对不存在的文件和目录创建,软链接可以