云网牛站
所在位置:首页 > Linux教程 > 在Linux系统中检查和计算索引节点(Inode)使用率的方法

在Linux系统中检查和计算索引节点(Inode)使用率的方法

2020-02-27 10:13:54作者:林中豪稿源:云网牛站

在本文中,我们将向您展示如何检查Inode,另外,我们将告诉您如何计算索引节点(Inode)使用率,包括通过复制和移动检查索引节点更改等内容。

在Linux系统中检查和计算索引节点(Inode)使用率的方法

 

什么是Inode?

索引节点代表索引节点或索引号,它是Linux文件系统中的一种数据结构,用于存储有关文件和目录的信息。

文件系统通常分为两部分,即元数据和实际数据。

每个文件都有一个包含有关该文件的元数据的索引节点,文件系统中的每个文件都有一个唯一的索引节点号,保证索引节点号仅在文件系统内唯一。

当文件系统上的inode已满时,您可能会收到错误,设备上没有剩余空间或Inode用完了。

Inode存储有关文件的以下信息:

文件大小。

设备编号。

用户ID(UID)。

组ID(GID)。

有关权限的信息(读,写,执行等)。

文件访问权限(所有者,组和其他)。

时间戳信息,例如文件访问,文件修改,文件删除和索引节点编号更改。

有关软链接和硬链接的信息。

文件在文件系统上的位置。

 

如何在Linux中检查文件的索引节点号?

使用带有-i选项的ls命令来查看文件索引节点号,文件的inode编号将显示在输出的第一个字段中:

# ls -li 2daygeek.txt

1740436 -rw-r--r-- 1 daygeek daygeek 211 Feb 10 08:03 2daygeek.txt

参考:讲解在Linux命令行下使用ls命令列出文件的技巧

 

如何在Linux中使用索引节点号搜索文件?

您可以在Linux中使用inode编号查找文件,为此,请使用以下格式:

# find /home/daygeek/ -inum 1740436

/home/daygeek/2daygeek.txt

 

如何在Linux中检查文件系统上的Inode利用率?

如果要检查文件系统上的索引节点利用率,请运行以下命令:

# df -i

在Linux系统中检查和计算索引节点(Inode)使用率的方法

 

如何计算Linux中的Inode使用率?

如果要计算当前目录中的索引节点利用率,请使用以下命令,这将打印输出而没有总计:

# pwd

/home/daygeek

# find . -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c | sort -rn

在Linux系统中检查和计算索引节点(Inode)使用率的方法

 

总计中如何计算Linux中的Inode使用率?

如果要计算当前目录中的索引节点利用率,请使用以下命令,这将输出总计的输出:

# echo "Detailed Inode usage for: $(pwd)" ; for d in `find -maxdepth 1 -type d |cut -d\/ -f2 |grep -xv . |sort`; do c=$(find $d |wc -l) ; printf "$c\t\t- $d\n" ; done ; printf "Total: \t\t$(find $(pwd) | wc -l)\n"

在Linux系统中检查和计算索引节点(Inode)使用率的方法

 

如何通过复制和移动检查索引节点更改?

在文件系统中执行文件移动时,Inode值不会更改/修改,请参阅下面的结果:

# ls -li /home/daygeek/2daygeek.txt 

1740436 -rw-r--r-- 1 daygeek daygeek 211 Feb 10 08:03 /home/daygeek/2daygeek.txt

# mv /home/daygeek/2daygeek.txt /home/daygeek/Downloads/

# ls -li /home/daygeek/Downloads/2daygeek.txt

1740436 -rw-r--r-- 1 daygeek daygeek 211 Feb 10 08:03 /home/daygeek/Downloads/2daygeek.txt

在Linux中执行文件复制时,会更改/修改Inode值,请参阅下面的结果:

# ls -li /home/daygeek/Downloads/2daygeek.txt

1740436 -rw-r--r-- 1 daygeek daygeek 211 Feb 10 08:03 /home/daygeek/Downloads/2daygeek.txt

# cp /home/daygeek/Downloads/2daygeek.txt /home/daygeek/Downloads/2daygeek-new.txt

# ls -li /home/daygeek/Downloads/2daygeek-new.txt

1743316 -rw-r--r-- 1 daygeek daygeek 211 Apr  5 09:51 /home/daygeek/Downloads/2daygeek-new.txt

 

如何减少Linux中Inode的使用量?

唯一的选择是删除未使用的文件,以减少Linux中inode的使用,这也是最佳的处理方法。

 

相关主题

介绍Linux系统中stat命令的使用方法,用它显示有关文件系统的信息

精选文章
热门文章