개요
`stat` 명령어는 파일의 inode 정보(메타데이터)를 보여줍니다. `-c` 옵션은 이 정보를 사용자가 정의한 형식으로 출력할 수 있게 하여, 특정 속성만 추출하거나 다른 명령어와 조합하여 사용하기에 적합합니다.
주요 특징
- 파일 및 파일 시스템의 상세 메타데이터 조회
- `-c` 옵션을 통한 사용자 정의 출력 형식 지원
- 스크립트 및 자동화 작업에 유용
- 다양한 파일 속성 (크기, 권한, 소유자, 시간 등) 접근
주요 옵션
`stat` 명령어의 핵심인 `-c` 옵션과 함께 사용되는 주요 형식 지정자들입니다.
형식 지정 옵션
생성된 명령어:
명령어를 조합해 보세요.
설명:
`stat` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
`stat -c` 옵션을 활용하여 파일 정보를 다양한 형식으로 출력하는 예시입니다.
파일 이름과 크기 출력
stat -c '%n %s' my_file.txt
지정된 파일의 이름과 크기를 공백으로 구분하여 출력합니다.
파일 종류와 권한 출력
stat -c '%F %A' my_script.sh
파일의 종류와 사람이 읽기 쉬운 형태의 권한을 출력합니다.
소유자, 그룹, 최종 수정 시간 출력
stat -c 'Owner: %U, Group: %G, Modified: %y' my_document.pdf
파일의 소유자 이름, 그룹 이름, 최종 수정 시간을 특정 문자열과 함께 출력합니다.
심볼릭 링크 대상 확인
stat -c '%N' my_symlink
심볼릭 링크의 경우, 링크된 원본 파일의 경로를 포함하여 출력합니다.
현재 디렉토리의 모든 파일/디렉토리 이름과 크기 출력
stat -c '%n %s' *
와일드카드를 사용하여 현재 디렉토리의 모든 항목에 대해 이름과 크기를 출력합니다.
팁 & 주의사항
`stat -c`를 더욱 효과적으로 사용하기 위한 팁과 주의할 점입니다.
따옴표 사용
FORMAT 문자열에 공백이나 특수 문자가 포함될 경우, 셸이 이를 별도의 인수로 해석하지 않도록 작은따옴표(') 또는 큰따옴표(")로 묶어야 합니다.
- 작은따옴표('): 변수 확장을 방지하고 문자열을 그대로 전달할 때 유용합니다.
- 큰따옴표("): 변수 확장을 허용하면서 문자열을 묶을 때 사용합니다.
시간 형식
시간 관련 지정자(%x, %y, %z)는 기본적으로 사람이 읽기 쉬운 형식으로 출력됩니다. 초 단위의 타임스탬프를 얻으려면 `%X`, `%Y`, `%Z`를 사용하세요.
find 명령어와 조합
find . -maxdepth 1 -type f -exec stat -c '%n %s' {} \;
`find` 명령어의 `-exec` 옵션과 조합하여 특정 조건의 파일에 대해 `stat -c`를 실행할 수 있습니다.
운영체제별 차이
일부 형식 지정자는 운영체제나 `stat` 버전에 따라 다르게 동작하거나 지원되지 않을 수 있습니다. 예를 들어, `%w` (생성 시간) 지정자는 Linux에서는 일반적으로 지원되지 않으며, macOS/BSD에서만 사용 가능합니다.
- Linux: 주로 `coreutils` 패키지에 포함된 `stat` 버전을 사용합니다.
- macOS/BSD: 일부 형식 지정자(예: `%w`)의 동작이 다를 수 있습니다.