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여기에는 블록 크기가 없으며 이 역시 이상합니다.

관련 정보