리눅스 매뉴얼을 보고 있었는데이 페이지에서, 특히 (잘못된) "-size" 테스트에 대한 섹션에서 설명서를 찾으십시오.킬로바이트1024입니다바이트. 내가 아는 한 이것은 잘못된 것입니다. 1킬로바이트는1000바이트, 그리고킬로바이트1024바이트입니다. 그럼 어떤 단위인가요?실제로사용? "킬로바이트"라고 되어 있고 "1000바이트"를 의미합니까, 아니면 "1024바이트"라고 되어 있고 "킬로바이트"라고 잘못되어 있습니까?
답변1
잘 찾았어요! 명확한 설명이 맞습니다. 1k는 킬로바이트(1024바이트)를 나타냅니다. 다양한 크기를 생성하고 어떤 크기가 인식되는지 확인하여 이를 테스트했습니다.
$ for i in 999 1000 1001 1023 1024 1025; do dd if=/dev/urandom of=$i bs=1 count=$i; done
$ find . -size 1k
.
./1024
./1023
./1001
./1000
./999
1025바이트 파일이 아닌 1024바이트 파일이 발견된 것을 확인할 수 있습니다.
(원하는 경우 버그 보고서 제출을 고려할 수 있습니다.)
답변2
설명서에당신이 링크한 페이지오래되고 부정확합니다. 하나온라인 페이지이 오류가 수정된 위치는 다음과 같습니다.
-size n[cwbkMG]
파일은 n 단위의 공간을 사용하며 반올림됩니다. 다음 접미사를 사용할 수 있습니다:
512바이트 블록의 경우 `b'(접미사가 사용되지 않는 경우 기본값)
바이트의 경우 `c'
2바이트 단어의 경우 `w'
키비바이트의 경우 `k'(KiB, in 1024 ) 바이트)
'M'은 Mebibytes(MiB, 단위는 1024 * 1024 = 1048576바이트)를 나타냅니다.
'G'는 Gibibytes(GiB, 단위는 1024 * 1024 * 1024 = 1073741824바이트)를 나타냅니다.
이것BSD 조회 매뉴얼아직도 정확하지 않습니다.
최신 설명서는 man find
최신 운영 체제에 있습니다.
GNU find 버전(find(GNU findutils) 4.7.0-git)부터 매뉴얼은 다음과 같습니다.
-size n[cwbkMG]
파일은 n 단위의 공간을 사용하며 반올림됩니다. 다음 접미사를 사용할 수 있습니다.`b'는 512바이트 블록을 나타냅니다(접미사가 사용되지 않는 경우 기본값입니다)
`c'는 바이트를 나타냅니다.
`w'는 2바이트 단어를 나타냅니다.
`k'는 Kibibytes(KiB, 1024바이트 단위)를 나타냅니다.
'M'은 메비바이트(MiB, 단위는 1024 * 1024 = 1048576바이트)를 나타냅니다.
'G'는 기비바이트(GiB, 단위는 1024 * 1024 * 1024 = 1073741824바이트)를 나타냅니다.
따라서 이 문제는 find의 일부 버전에서 해결되었습니다.