使用inode号删除特殊文件及容易忽视的硬链接Links数目问题

简介:

使用inode号删除特殊文件及容易忽视的硬链接Links数目问题

 

 

一、使用inode号删除带有特殊符号的文件名

[root@yu63 test]# touch a.txt

[root@yu63 test]# mkdir get_info

[root@yu63 test]# mkdir ???

[root@yu63 test]# ls -il

总用量 8

274341 drwxr-xr-x 2 root root 4096 6月  14 14:02 ???

274338 -rw-r--r-- 1 root root    0 6月  14 14:02 a.txt

274340 drwxr-xr-x 2 root root 4096 6月  14 14:02 get_info

[root@yu63 test]# rm a.txt

rm:是否删除普通空文件 "a.txt"y

[root@yu63 test]# find . -inum 274341 -delete

[root@yu63 test]# ls -il

总用量 4

274340 drwxr-xr-x 2 root root 4096 6月  14 14:02 get_info

 

二、查看文件的inode号有两种方法

第一种:ls -il

第二种:stat 文件名 #或者直接加 *

 

三、为什么每个目录的Links指向的都是2?

1、创建了一个空的文件夹 test

[root@yu63 test]# stat /opt/test/

  File: "/opt/test/"

  Size: 4096      Blocks: 8          IO Block: 4096   目录

Device: 802h/2050dInode: 138924      Links: 2

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2017-06-14 14:22:32.499993362 +0800

Modify: 2017-06-14 14:22:17.440992753 +0800

Change: 2017-06-14 14:22:17.440992753 +0800

可以看到它的Links显示的2,这里我没有给它做任何的硬链接。这是为什么呢?

 

原因:

[root@yu63 test]# ls -a 查看隐藏文件

.  ..

我们并没有在此文件夹下创建任何文件,但是查看隐藏文件的时候依然可以看到两个文件。这两个文件有点特殊,是用点表示的。

原因是Linux的特性,在Linux中,只要有权限,我们可以随意的切换到任意目录。能够切换的这个动作就是靠这两个隐藏文件进行的。单个(.)表示切换到当前目录。两个(..)表示切换到上一级目录,及父目录。实际上这两个特殊文件就是硬链接文件。链接到本地目录和链接到父级目录。每有一个文件目录,其链接文件就会+1.使得能够进行切换目录。

[root@yu63 test]# cd .

[root@yu63 test]# cd ..

[root@yu63 opt]#

 

2、目录中每增加一个目录文件,硬链接数就加一

[root@yu63 test]# mkdir home

[root@yu63 test]# stat /opt/test

  File: "/root/test"

  Size: 4096      Blocks: 8          IO Block: 4096   目录

Device: 802h/2050dInode: 272997      Links: 3

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2017-06-14 14:16:20.669993163 +0800

Modify: 2017-06-14 14:16:46.484993356 +0800

Change: 2017-06-14 14:16:46.484993356 +0800

3、目录中增加普通文件,硬链接数不增加

[root@yu63 test]# touch a.txt

[root@yu63 test]# stat /opt/test

  File: "/root/test"

  Size: 4096      Blocks: 8          IO Block: 4096   目录

Device: 802h/2050dInode: 272997      Links: 3

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2017-06-14 14:16:20.669993163 +0800

Modify: 2017-06-14 14:17:01.989993317 +0800

Change: 2017-06-14 14:17:01.989993317 +0800










本文转自 于学康 51CTO博客,原文链接:http://blog.51cto.com/blxueyuan/1936595,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
Unix 索引 Windows
硬链接和符号链接的不同点
【5月更文挑战第20天】硬链接和符号链接的不同点
377 1
|
5月前
|
Linux 数据处理 数据安全/隐私保护
探索Linux命令lchfn:更改文件或目录的硬链接数
在Linux中,`ln`命令用于创建硬链接,而非`lchfn`。硬链接指向文件的inode,多条目共享相同数据。了解硬链接有助于理解文件系统行为。使用`ln 源文件 目标链接名`创建硬链接,`ls -li`查看硬链接数。直接修改硬链接数风险高,应谨慎操作,区别硬链接和软链接,确保数据安全,并常查阅`man ln`。
|
4月前
|
Windows
文件系统之软连接、硬链接的区别/文件删除与空间的联系/df和du的区别
文件系统之软连接、硬链接的区别/文件删除与空间的联系/df和du的区别
|
6月前
|
弹性计算 运维 Shell
打印文件或目录数量
【4月更文挑战第29天】
41 1
|
存储 安全 Linux
【看表情包学Linux】磁盘基础知识 | CHS 寻址 | 逻辑扇区 LBA | 索引节点 inode | 伪删除 inode bitmap 1→0
【看表情包学Linux】磁盘基础知识 | CHS 寻址 | 逻辑扇区 LBA | 索引节点 inode | 伪删除 inode bitmap 1→0
174 0
|
Linux Shell
打印文件或目录的数量
打印文件或目录的数量
54 1
|
存储 Linux 索引
Linux文件系统inode的作用
前面学习了磁盘管理中的磁盘分区,以及逻辑卷,交换分区的创建,这篇文章将介绍一下我们在分区以及格式化时候用到的ext4文件系统,本盘文章的学习内容包括了解索引(index)和块(block)的作用。
127 0
|
存储 Linux Windows
理解文件系统/inode的概念/磁盘/软硬链接
本文目标:⭐理解文件系统中inode的概念⭐认识软硬链接,对比区别。讲解了文件系统,加深了对文件的理解,与此同时对于磁盘的理解也有很大的帮助!
理解文件系统/inode的概念/磁盘/软硬链接