显示目标列表命令:ls
-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
Ext2 /3文件系统中的inode
Linux上的文件系统一般来说就是EXT2或EXT3,博文《Linux文件系统详解》中对inode的总结为:
1.一个文件占用一个 inode,每个inode有编号
2.Linux 系统存在 inode 号被用完但磁盘空间还有剩余的情况
注意,这里的文件不单单是普通文件,目录文件也就是文件夹其实也是一个文件,还有其他的也是
inode 的数量与大小在格式化时就已经固定了,每个inode 大小均固定为128 bytes (新的ext4 与xfs 可设定到256 bytes)
3.文件系统能够建立的文件数量与inode 的数量有关,存在空间还够但inode不够的情况
4.系统读取文件时需要先找到inode,并分析inode 所记录的权限与使用者是否符合,若符合才能够开始实际读取 block 的内容
想要更深的了解Linux文件系统机制的可以学习博文:https://www.cnblogs.com/bellkosmos/p/detail_of_linux_file_system.html
实验验证
进入根目录
wxd@DESKTOP-SD6D2NM:/$ cd /
查看当前的目录的文件索引节点(inode)
wxd@DESKTOP-SD6D2NM:/$ ls -ai
17169973579354190 . 25614222880678456 lib 1407374883572490 sbin
17169973579354190 .. 844424930151137 lib64 1125899906862399 snap
6192449487638721 bin 1407374883572454 media 844424930151744 srv
1688849860268903 boot 2533274790415081 mnt 1 sys
7318349394915385 dev 1407374883572460 opt 844424930151747 tmp
11821949021852965 etc 1 proc 1970324836994373 usr
4785074604089911 home 1688849860283122 root 2533274790481388 var
33495522228572247 init 10696049115543003 run
假设进入 /mnt 目录下,并查看 /mnt 目录下的文件索引节点(inode)
在进入 /mnt/e/ 目录下,并查看 /mnt/e 目录下的文件索引节点(inode)
wxd@DESKTOP-SD6D2NM:/$ cd mnt/ && ls -ai
2533274790415081 . 1407374883553285 c 1407374883553285 e
17169973579354190 .. 1407374883553285 d
wxd@DESKTOP-SD6D2NM:/mnt$ cd e/ && ls -ai
1407374883553285 . 1970324837005878 MyPhoto
2533274790415081 .. 844424930132019 MyPractice
24488322973827116 CloudMusic 281474976710692 $RECYCLE.BIN
281474976742210 MyDocument 281474976710697 System Volume Information
844424930132023 MyDrivers 1688849860291601 TyporaDoc
5066549580823356 MyInstallFiles 1688849860295201 win10Script
3377699720559144 MyLearn 1688849860263989 workZG
由上可以看出:
根目录下'.'的inode号为: 17169973579354190
根目录下 '..' 的inode号为: 17169973579354190
/mnt/ 目录下'.'的inode号为: 2533274790415081
/mnt/ 目录下'..'的inode号为: 17169973579354190
/mnt/e/目录下的'.'的inode号为: 1407374883553285
/mnt/e/目录下的'..'的inode号为: 2533274790415081
不妨发现:
/mnt/e/目录下的'..'的inode号 与 /mnt/ 目录下'.'的inode号相同
/mnt/ 目录下'..'的inode号 与 根目录下'.'的inode号相同
根目录下'.'的inode号 与 根目录下'..'的inode号相同