对硬链接的认识

1. ls -al的输出结果说明

[root@localhost ~]# ls -al anaconda-ks.cfg 
-rw-------. 1 root root 1614 Jan 20 17:32 anaconda-ks.cfg
drwxr-xr-x.  2 root root    6 Jan 20 17:55 Desktop

权限位共11位 
第1位 -表示文件  d表示目录
2-10位 三个一组 分别表示属主、属组、其他用户的权限
第11位 .  表示的是selinux安全标签,如果文件在selinux是enforcing的状态下创建就会有
              如果在selinux是disabled或者permissive的情况下创建文件则不会有

权限位后边的数字是当前文件或者目录的硬链接数量

后边分别表示属主 属组  文件最后修改时间


下边通过命令来说明一下selinux安全标签
[root@localhost ~]# mkdir test
[root@localhost ~]# cd test
[root@localhost test]# touch a.txt
[root@localhost test]# ll a.txt 
-rw-r--r--. 1 root root 0 Jun 30 22:41 a.txt
[root@localhost test]# getenforce 
Enforcing
[root@localhost test]# setenforce 0
[root@localhost test]# getenforce 
Permissive
[root@localhost test]# touch b.txt
[root@localhost test]# ll b.txt 
-rw-r--r--. 1 root root 0 Jun 30 22:42 b.txt
[root@localhost test]#    发现临时调整不可以,其实需要通过配置文件永久调整才行

[root@localhost test]# vim /etc/selinux/config 
   SELINUX=disabled
[root@localhost test]# reboot
root@localhost ~]# cd test/
[root@localhost test]# getenforce 
Disabled
[root@localhost test]# touch c.txt
[root@localhost test]# ll
total 0
-rw-r--r--. 1 root root 0 Jun 30 22:41 a.txt
-rw-r--r--. 1 root root 0 Jun 30 22:42 b.txt
-rw-r--r--  1 root root 0 Jun 30 22:47 c.txt

可以看到新创建的文件没有selinux安全标签

2. 硬链接与软链接的关系

软链接文件有原文件的inode节点不同
硬链接文件与原文件的inode节点相同

[root@localhost test]# cd
[root@localhost ~]# mkdir testdir
[root@localhost ~]# cd testdir/
[root@localhost testdir]# touch test.txt
[root@localhost testdir]# ln -s test.txt /etc/t1.txt
[root@localhost testdir]# ln test.txt /etc/t2.txt
[root@localhost testdir]# ls -i test.txt 
68653591 test.txt
[root@localhost testdir]# ls -i /etc/t1.txt 
68653596 /etc/t1.txt
[root@localhost testdir]# ls -i /etc/t2.txt 
68653591 /etc/t2.txt

3. 关于硬链接数量

[root@localhost test]# pwd
/root/test
[root@localhost test]# ls
a.txt  b.txt  c.txt
[root@localhost test]# mkdir a
[root@localhost test]# ls -al
total 4
drwxr-xr-x.  3 root root   54 Jun 30 22:49 .
dr-xr-x---. 17 root root 4096 Jun 30 22:46 ..
drwxr-xr-x   2 root root    6 Jun 30 22:49 a
-rw-r--r--.  1 root root    0 Jun 30 22:41 a.txt
-rw-r--r--.  1 root root    0 Jun 30 22:42 b.txt
-rw-r--r--   1 root root    0 Jun 30 22:47 c.txt

对于当前目录下 的三个文件来说 硬链接只有1个 不难理解 这个硬链接就是自己 也就是说 自己是对自己的一个硬链接
这样说,没有什么毛病 因为inode节点相同 而且文件也一样
新创建的a目录有2个硬链接,一个是自己,也就是名字是a的这个目录,另外一个是a目录里边的.目录
如果在a目录下创建b目录,a目录的硬链接数会+1,因为b目录里的..目录跟a目录里的.目录是一个硬链接,
也是因为这个原因,在b目录cd .. 会切换到上层目录a

[root@localhost test]# mkdir a/b
[root@localhost test]# ls -al
total 4
drwxr-xr-x.  3 root root   54 Jun 30 22:49 .
dr-xr-x---. 17 root root 4096 Jun 30 22:46 ..
drwxr-xr-x   3 root root   15 Jun 30 22:53 a
-rw-r--r--.  1 root root    0 Jun 30 22:41 a.txt
-rw-r--r--.  1 root root    0 Jun 30 22:42 b.txt
-rw-r--r--   1 root root    0 Jun 30 22:47 c.txt

从输出结果来看 ..目录的硬链接是17个 而上层目录是root目录,排除root目录自己的名字和root目录下的.目录,
可以知道root目录下有15个目录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值