Linux中的硬连接和软连接

硬连接:

如果A文件和B文件的关系是硬连接的关系。当用户修改了A文件的内容,那么B文件的内容也会发生更改。如果修改的B文件,那么A文件的内容也会发生更改。

特点:
1、硬连接不限于两个文件之间,可以在多个文件之间进行。ls -l 命令中显示了文件的硬连接数
2、不能对目录做硬件连接
3、不能在不同的文件系统之间做硬链接(Linux的文件系统:ext4,xfs等等)
4、所有的硬连接,具备相同的iNode节点号

软连接:

类似Windows中的快捷方式。为一个源文件创建一个快捷方式。

1、如果源文件被删除了,也没有办法使用该快捷方式。一旦以同样文件名创建了源文件,链接将继续指向该文件的新数据
2、在ls -l 中,软链接作为一种特殊的文件类型显示出来,其第一个字母是l。
3、软链接的大小是其链接文件的路径名中的字符数。

ln命令:用来创建硬连接和软连接

给file1 创建硬连接

[root@localhost ~]#ln file1 file2

给file1创建软连接,file2为创建好的软连接名

[root@localhost ~]# ln -s file1 file2

pwd -P 显示文件的实际路径,而不是软连接的路径

[root@localhost ~]# cd /bin/
[root@localhost bin]# pwd
/bin
[root@localhost bin]# pwd -P
/usr/bin

删除软连接,要特别注意一个地方,本人为此付出过惨重代价。 如果软连接,连接到的是一个目录

正确的删除方法

[root@localhost ~]#rm -rf ../dir

错误的删除软连接方法,这样会把实际目录中的所有文件都删除!

[root@localhost ~]#rm -fr ../dir/

本人曾经在升级MongoDB数据库的时候,里面用到了软连接。我在删除软连接的时候,用了错误的方法,导致数据库里面的内容都被俺给删了!

猜你喜欢

转载自blog.csdn.net/u010599211/article/details/84871265