現在のディレクトリでサイズが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
これにはブロックサイズがなく、これも奇妙です。