介绍
简述
ln - make links between files
语法
ln [参数] [源文件或目录] [目标文件或目录]
概要
ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
ln [OPTION]... TARGET (2nd form)
ln [OPTION]... TARGET... DIRECTORY (3rd form)
ln [OPTION]... -t DIRECTORY TARGET... (4th form)
描述
在第一种形式中,使用名称 LINK_NAME 创建指向 TARGET 的链接。
在第二种形式中,在当前目录中创建指向 TARGET 的链接。
在第 3 和第 4 种形式中,创建指向 DIRECTORY 中每个 TARGET 的链接。
默认情况下,每个目的地(新链接的名称)不应该已经存在。创建硬链接时,每个 TARGET 都必须存在。符号链接可以包含任意文本;如果稍后解决,则相对链接将相对于其父目录进行解释。
软连接与硬链接的区别
软连接
- 软链接又叫符号链接,和原文件不是一个文件,类似Windows的快捷方式,如果原始文件被删除,所有指向它的符号链接也就都被破坏了
- 软链接有自己的inode,是linux特殊文件的一种,作为一个文件, 它的数据是它所连接的文件的路径
- 符号链接可以跨越文件系统,也可以为目录建立
硬链接
- 只能引用同一文件系统中的文件,它引用的是文件的inode
- 当移动或者删除原始文件时,硬链接不会被破坏
- 硬链接不允许链接目录文件
注:出自:https://blog.csdn.net/m0_60861848/article/details/125844816
区别
- 软链接文件的大小和创建时间和源文件不同。软链接文件只是维持了从软链接到源文件的指向关系(从jys.soft->jys可以看出),不是源文件的内容,大小不一样容易理解。
- 硬链接文件和源文件的大小和创建时间一样。硬链接文件的内容和源文件的内容一模一样,相当于copy了一份。
案例
创建硬链接
ln file file.hard
cp -p的文件是不是就相当于硬链接了呢
对于源文件的内容有修改,硬链接文件会同步更新修改,始终保持和源文件的内容相同,而复制的文件则不可能做到这一点。
创建软连接
mkdir test
echo aaadsjdi > test/test.txt
ln -s test test_ln
删除软连接,但不删除实际数据
mkdir test
echo aaadsjdi > test/test.txt
ln -s test test_ln
rm -rf test_ln
删除实际数据
rm -rf test_ln/
注:带/会把原来test下的内容删除
0