我有2个目录如下
/appl/exe/04/dat>ls -alrt
total 290
drwxrwxr-x 30 exceed exceed 1024 Jun 11 09:04 ..
drwxrwxrwx 2 exceed exceed 138240 Aug 17 03:56 .
/appl/exe/13/dat>ls -alrt
total 18
drwxrwxr-x 28 exceed exceed 1024 Jul 6 13:12 ..
drwxrwxrwx 2 exceed exceed 7680 Aug 16 20:46 .
为什么厕所显示出差异?这是什么意思?
wc -l /appl/exe/04/dat -> 显示输出如下:
4 /appl/exe/04/dat
wc -l /appl/exe/13/dat -> 显示输出如下:
0 /appl/exe/13/dat
答案1
首先,请注意您正在运行wc -l
运行目录。该命令用于计算文本文件中的行数。所以 wc 基本上是查看文件系统用来表示目录的内部二进制格式,并计算字节 0x0a 出现的次数,这可能不会告诉您任何有用的信息。
也就是说,即使两个目录都是空的,请注意 的大小04/dat
要大得多。这意味着它曾经包含许多文件,但后来已被删除。但删除文件并不会删除目录块中的所有痕迹。根据文件系统的不同,它可能只是将索引节点归零或将目录条目合并到块的前一个条目中。
因此,一个目录中的剩余 CRUD 基本上比另一个目录中的剩余 CRUD 多得多,因此更多 CRUD 包含更多换行符(字节 0xa)也就不足为奇了。请注意,这些字节甚至不一定是文件名的一部分,它们可能是数字的一部分。