![Linux: 파일의 여유 공간을 계산/찾는 방법은 무엇입니까?](https://linux55.com/image/52516/Linux%3A%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%97%AC%EC%9C%A0%20%EA%B3%B5%EA%B0%84%EC%9D%84%20%EA%B3%84%EC%82%B0%2F%EC%B0%BE%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
예를 들어, 파일의 여유 공간을 어떻게 찾을 수 있습니까?
fls -o 63 /images/diskimg.dd
istat -o 63 /images/diskimg.dd 31
icat -o 63 /images/diskimg.dd | xxd | less
다음 중 Slackspace를 찾으려면 어떤 명령을 사용해야 합니까? 아니면 다른 것이 있습니까? Slackspace에 저장할 수 있는 정보를 어떻게 찾을 수 있나요?
-s 옵션을 사용하면 icat 명령을 사용하여 파일의 여유 공간을 볼 수 있지만 여유 공간 크기를 계산하고 icat으로 추가하는 것을 좋아하지 않는지 여전히 확실하지 않습니다.
답변1
귀하가 언급하는 "느슨한 공간"은 종종 파일 내의 희박한 공간이라고 합니다. ls
& du
명령을 사용하여 특정 파일이 얼마나 많은 희소 공간을 소비하는지 감지 할 수 있습니다.
에서 발췌Wikipedia 스파스 파일
발각
-s
명령의 옵션은ls
블록 단위의 발자국과-k
블록 단위의 겉보기 크기를 표시합니다.$ ls -lks sparse-file
-h
사람이 읽을 수 있는 형식으로 인쇄하는 데 사용할 수 있습니다.또는 du 명령은 점유된 공간을 인쇄하고
ls
겉보기 크기도 인쇄합니다. 이 옵션은--block-size=1
출력과 비교할 수 있도록 점유 공간을 블록이 아닌 바이트 단위로 인쇄합니다ls
.$ du --block-size=1 sparse-file $ ls -l sparse-file
예
먼저 스파스 파일을 만듭니다.
$ truncate -s 5M sparsy
지금 확인해 보세요:
$ ls -lks sparsy
0 -rw-rw-r--. 1 saml saml 5242880 Apr 4 09:18 sparsy
$ ls -l sparsy
-rw-rw-r--. 1 saml saml 5242880 Apr 4 09:18 sparsy
노트:출력의 첫 번째 열에는 가 ls -lks sparsy
표시됩니다 0
. 이는 파일이 sparsy
100% 희소하고 실제 데이터 블록이 없으며 희소 데이터만 포함되어 있음을 의미합니다.
이 du
명령은 동일한 내용을 표시합니다.
$ du --block-size=1 sparsy
0 sparsy
희박하지 않은 파일의 경우 다음이 표시됩니다.
$ seq 1000 > non-sparsy
이제 다음 명령을 사용하여 확인합니다 ls
.
$ ls -lks non-sparsy
4 -rw-rw-r--. 1 saml saml 3893 Apr 4 09:27 non-sparsy
우리는 이것이 4블록의 공간을 소비한다는 것을 알 수 있습니다. 다음을 사용하여 du
동일한 것을 보여줍니다 .
$ du --block-size=1 non-sparsy
4096 non-sparsy