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これにはブロックサイズがなく、これも奇妙です。

関連情報