ls 명령을 사용하면 파일 크기가 다르게 나타나는 이유는 무엇입니까?

ls 명령을 사용하면 파일 크기가 다르게 나타나는 이유는 무엇입니까?

내가 실행 중인 명령은 다음과 같습니다: ls -alFs --block-size=1

출력은 다음과 같습니다.

4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:28 QRN_1570310934.charbin
4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:29 QRN_1570310939.charbin
4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:29 QRN_1570310946.charbin
8192 -rw-rw-r-- 1 dkm dkm 8192 Oct 8 11:33 QRN_1570555988.charbin
8192 -rw-rw-r-- 1 dkm dkm 8190 Oct 8 11:35 QRN_1570556100.charbin
4096 -rw-rw-r-- 1 dkm dkm 340 Oct 8 11:35 QRN_1570556140.charbin

가장 왼쪽에는 --block-size=1로 인해 바이트 단위로 표시되는 -s 스위치의 크기 출력이 있지만, -l 스위치의 출력 크기(왼쪽에서 6번째 열)는 상당히 많은 파일에서 근본적으로 다릅니다. 나는 이것을 알아 내려고 노력했지만 어디에서도 명확한 답을 얻을 수 없었습니다.

내 추측으로는 -s 스위치가 장치 블록을 제공하고 -l 스위치가 실제 바이트 크기를 제공한다는 것입니다. 그렇게 보이는데 어떻게 확실히 알 수 있나요? 'ls' 매뉴얼 페이지에는 -l 스위치의 크기 출력이 어떻게 파생되는지에 대한 세부 정보가 제공되지 않습니다.

이 문제를 해결하기 위해 사용할 수 있는 다른 도구에 대한 제안이 있거나 더 나은 방법이 있습니다. 실제로 아는 사람이 있다면 더욱 좋을 것입니다.

미리 감사드립니다.

답변1

-s또는 옵션 --size을 사용하면 각 파일의 디스크 할당을 인쇄하고 옵션을 사용하면 l크기를 바이트 수로 인쇄합니다.

원천:https://www.gnu.org/software/coreutils/manual/html_node/What-information-is-listed.html#What-information-is-listed

관련 정보