> 파일 및 디렉토리 관리 > stat

stat: 파일 정보 사용자 정의 형식으로 출력

`stat` 명령어는 파일 또는 파일 시스템의 상세 상태 정보를 표시합니다. 특히 `-c` (또는 `--format`) 옵션을 사용하면 파일 크기, 권한, 소유자, 시간 정보 등을 사용자가 지정한 형식으로 추출할 수 있어, 스크립트나 보고서 작성 시 매우 유용합니다.

개요

`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`)의 동작이 다를 수 있습니다.

동일 카테고리 명령어