ls -s 和 find -size 中的块大小差异

ls -s 和 find -size 中的块大小差异

我试图在当前目录中查找大小为 1 块的文件,因此首先运行ls -ls显示每个文件的块数的命令,以下是输出:

total 28
0 -rw-r--r--. 1 root root   2 Jan  9 01:18 bfile
4 -rwxr-xr-x. 1 root root  95 Jan  5 17:46 file1
4 -rw-r--r--. 1 root root  95 Jan  5 17:46 file1~
4 -rw-r--r--. 1 root root   6 Dec 21 13:41 file2
4 -rw-r--r--. 1 root root   6 Nov 30 01:35 file2~
4 ----------. 1 root root 115 Dec 21 02:20 filecp
4 -rw-r--r--. 2 root root   6 Jan  9 01:06 fileu
4 -rw-r--r--. 2 root root   6 Jan  9 01:06 fileu2
0 -rw-r--r--. 1 root root   0 Jan  9 01:06 fileu2~

接下来我运行以下命令:

find . -size 1

这将找到所有大小为 1 块的文件,所以我预计不会显示任何输出,但输出是:

./bfile
./fileu2
./filecp
./file1
./file1~
./file2~
./fileu
./file2

那么这怎么可能呢? ls 显示没有可用的大小为 1 块的文件,但 find 命令将上述文件列为 1 块大小!

注意:上面列出的 bfile 是使用 truncate 命令创建的:truncate -s 2 bfile它没有块大小,这也很奇怪。

相关内容