우선 저는 쉘 명령에 대해 전혀 모릅니다. 그러니 인내심을 가지시기 바랍니다. 또한, 저는 OS X를 사용하고 있지만 가능하다면 Unix 호환 답변을 받을 수 있으면 좋겠습니다.
명령을 실행하려고 합니다 stat -f [some parameters here] [volume name]
.
다른 곳의 참고 자료에 따르면 이 형태의 가장 간단한 명령은 stat -f /dev/disk0s2
구문상 정확합니다. 하지만 나는 다음을 가지고 있습니다 :
stat -f /dev/disk0s2
/dev/disk0s2
여기에 따르면 (https://www.computerhope.com/unix/stat.htm) 예를 들어 정보가 가득한 단락을 얻어야 합니다. 내 경우에는 stat 명령을 통해 얻은 블록 크기에 가장 관심이 있습니다.
여기도 (https://apple.stackexchange.com/questions/42509/how-to-get-hfs-filesystem-blocksize), 여기에는 "%k, %z, %b" 매개변수가 언급되어 있습니다. 하지만 통계 매뉴얼(예: 을 사용하여 man stat
)에서는 그러한 매개변수를 찾을 수 없습니다. 또한 거기에서 왜 따옴표가 사용되는지 모르겠습니다( stat -f %k
예를 들어 본 적이 있습니다).stat -f "%k"
요약하면 세 가지 질문이 있습니다.
1) stat -f /dev/disk0s2
예상한 결과가 나오지 않는 이유는 무엇입니까?
2) %k, %z 및 %b 매개변수는 무엇입니까? 매뉴얼에 언급되어 있나요?
3) 위 매개변수 주변의 따옴표(예: stat -f %k
및 ) stat -f "%k"
는 무엇을 의미합니까? 이것은 Unix 명령 구문에서 흔히 볼 수 있는 것입니까?
미리 감사드립니다.
답변1
OS X에 사전 설치된 명령줄 도구는 FreeBSD에서 제공되지만 많은 온라인 가이드에서는 Linux 환경과 GNU 도구를 가정할 수 있습니다. 항상 같은 것은 아닙니다.
두 매뉴얼 페이지 비교FreeBSD 통계그리고GNU 통계. FreeBSD에서는 -f
출력 형식을 설정하고 적절한 매개변수를 사용합니다. GNU stat에서는 -f
지정된 파일이 아닌 파일 시스템에 대한 출력을 요청하고 인수를 사용하지 않습니다.
따라서 1) 다른 도구를 사용하기 때문에 결과가 다르고 2) FreeBSD 매뉴얼 페이지의 "형식" 아래에 형식 옵션이 언급되어 있습니다. 3) 따옴표는 실제로 그 자체와 관련이 없으며 stat
셸과 관련이 있습니다. 셸 특수 문자(예: 공백, 전역 문자 등)가 포함된 ?*[]
명령줄 매개변수는 따옴표로 묶어야 합니다.껍데기그들을 처리하는 것부터. 하지만 %
특별한 것은 아니므로(적어도 이 경우에는 아님) 참조 여부는 중요하지 않습니다.