Linux软链接和硬链接命令教程详解

1.概念简介

1.1 硬链接: 

可以理解为一个“指向原始文件inode的指针”、系统不为他分配独立的inode和文件。

我们每添加一个硬链接,该文件的inode连接数就会增加1,而且只有当该文件的inode为0时,才算彻底将它删除。

换言之,由于硬链接实际上是指向原文件inode的指针,因此即便原文件被删除,依然可以通过硬链接文件来访问。(说明:不能跨分区对目录文件进行链接)

1.2 软链接: 

仅仅包含所链接文件的路径名,因此能链接目录文件,可可以跨越文件系统进行链接。

但是当原始文件被删除后,链接文件也将失效,从这一点来说与Windows系统中的”快捷方式”具有一样的性质。

2.实验验证

2.1 硬链接

#将”Welcome to Linux’s World”内容重定向写入至readme.txt文件中

[root@Centos7 ~]# echo "Welcome to Linux's World" > readme.txt

#ls查看文件,cat查看文件内容

[root@Centos7 ~]# ls
anaconda-ks.cfg bigdata hostname initial-setup-ks.cfg ping.log readme.txt 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@Centos7 ~]# cat readme.txt 
Welcome to Linux's World

#使用ln 创建readit.txt硬链接文件,链接至 readme.txt

[root@Centos7 ~]# ln readme.txt readit.txt

#使用ll 查看文件详情,inode = 2

图片[1]-Linux软链接和硬链接命令教程详解-不念博客

#使用cat查看 readit.txt 硬链接文件内容

[root@Centos7 ~]# cat readit.txt 
Welcome to Linux's World

#删除原始文件

[root@Centos7 ~]# rm -f readme.txt 

#ll readit.txt 查看硬链接详情,inode = 1

图片[2]-Linux软链接和硬链接命令教程详解-不念博客

#查看 readit.txt 硬链接文件内容依然还存在

[root@Centos7 ~]# cat readit.txt 
Welcome to Linux's World
[root@Centos7 ~]# 

2.2 硬链接

#将”Welcome to Linux’s World”内容重定向写入至readme.txt文件中

[root@Centos7 ~]# echo "Welcome to Linux's World" > readme.txt

#ls查看文件,cat查看文件内容

[root@Centos7 ~]# ls
anaconda-ks.cfg bigdata hostname initial-setup-ks.cfg ping.log readme.txt 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@Centos7 ~]# cat readme.txt 
Welcome to Linux's World

#使用ln -s 创建readit.txt软链接文件,链接至 readme.txt(类似windows快捷方式)

[root@Centos7 ~]# ln -s readme.txt readit.txt

#使用ll 查看文件详情,inode =1

图片[3]-Linux软链接和硬链接命令教程详解-不念博客

#查看软链接readit.txt 内容

[root@Centos7 ~]# cat readit.txt 
Welcome to Linux's World

#删除原始文件

[root@Centos7 ~]# rm -f readme.txt

#ll查看文件详情 及 cat 查看软链接内容(此时软链接失效)

图片[4]-Linux软链接和硬链接命令教程详解-不念博客
图片[5]-Linux软链接和硬链接命令教程详解-不念博客
© 版权声明
THE END