Linux软链接和硬链接的区别?
1、创建一个文件123.txt并在里面写入内容hello
touch 123.txt //新建文件
cat 123.txt //查看文件内容

2、软链接
例:
对123.txt创建一个软链接并命名为123-softlink.txt
ln -s 123.txt 123-softlink.txt //创建软连接
cat 123-softlink.txt //查看软链接文件内容
ls -lh //显示信息可以看到软链接是指向源文件的并且比源文件小


3、软链接相当于Windows的创建快捷方式
删除源文件123.txt后123-softlink.txt会失效
验证:
rm -r 123.txt //删除文件123.txt
cat 123-softlink.txt //再次查看刚才的软链接显示没有那个目录

4、再创建一个文件1.txt,写入内容hi
touch 1.txt

5、创建硬链接
例:
对1.txt创建硬链接命名为1-hardlink.txt
ln 1.txt 1-hardlink.txt //创建硬链接
ls -l //查看目录下所有文件信息,这里可以看到硬链接文件与源文件大小相同
cat 1-hardlink.txt //查看文件

6、硬链接间的文件大小文件间的大小一致,硬链接相当于一个文件有多个名字,只删掉其中一个名字的时候不会删除文件,硬链接数会减1,当硬链接数为0时才会删除文件,硬链接的inode号相同。
ls -lh //现在可以看到硬链接数为2
ls -il //可以看到inode号


7、验证:删除文件1.txt后硬链接1-hardlink.txt依旧生效
rm -r 1.txt //删除文件1.txt
ls -lh //此时可以看到硬链接数减了1
cat 1-hardlink.txt //文件不会因为1.txt删除而失效

1、ln创建硬链接,带-s选项命令创建软链接
软连接可以对存在及不存在的文件或目录创建,硬链接只能对存在的文件创建
硬链接文件间有相同的inode号,删除其中一个硬链接不影响其它同inode号的文件
删除软链接不会删除它指向的文件,反之删除了软链接指向的文件软链接会失效
软链接作为快捷方式它会比原文件小,硬链接间文件大小相同
