--- title: stat — 파일 메타데이터 확인 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 파일 크기·권한·소유자·생성/수정/접근 시각과 inode를 정확히 확인하는 명령어. tags: 프로그램, 파일 및 디스크 관리, stat --- **💬 "stat 명령어"** ls -l은 요약이고, stat은 **파일의 모든 메타데이터를 정확히** 보여줍니다. 권한·시각·inode 문제를 볼 때 씁니다. 특히 접근/수정/변경 시각(Atime/Mtime/Ctime)을 구분해서 보는 것이 장애 분석에 중요합니다. - **개념**: 파일의 크기, inode 번호, 링크 수, 소유자, 권한, 시각 정보를 모두 출력합니다. - **Access**: 마지막으로 읽은 시각입니다. relatime 옵션 때문에 항상 갱신되지는 않습니다. - **Modify**: 내용이 마지막으로 바뀐 시각입니다. 로그/배포 시점 판단에 가장 유용합니다. - **Change**: 메타데이터(권한·소유자)가 바뀐 시각입니다. - **Size / Blocks**: 논리 크기와 실제 할당 블록입니다. 스파스 파일 확인에 씁니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | -c <형식> | 지정한 형식으로 원하는 항목만 출력 | | -f | 파일이 아니라 파일시스템 정보를 출력 | | --printf | 개행을 직접 제어해 출력 | ## 필수 명령어 조합 3가지 - `stat -c '%n %s %U:%G %a' /var/www/html/index.php` — 이름·크기·소유자·권한만 한 줄로 뽑기 - `stat -c '%n %y' /var/log/nginx/*.log` — 로그별 마지막 수정 시각 비교 - `stat -f -c '%T %a %b' /` — 파일시스템 타입과 블록 통계 확인 **💬 "이슈 티켓에 남길 근거를 만드는 예시 알려줘"** 실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다. ### 1단계 · 파일 기준 정보 확인 대상 파일의 권한과 소유자, 시각을 확인합니다. ``` stat /var/www/html/index.php ``` ### 2단계 · 필요한 항목만 추출 여러 파일을 비교할 때 형식 출력을 씁니다. ``` stat -c '%n %U:%G %a %y' /var/www/html/*.php ``` ### 3단계 · 배포 전후 비교 배포 시각과 파일 수정 시각이 맞는지 검증합니다. ``` stat -c '%n %y' /opt/app/current/public/index.php ``` ## 실무에서는 이렇게 씁니다 ### 1. 권한 원인 추적 **상황** — 웹서버가 특정 파일을 읽지 못해 403이 발생합니다. ``` stat -c '%n %U:%G %a' /var/www/html/uploads ``` **결과** — 소유자가 root:root이고 권한이 700이면 www-data가 접근할 수 없음을 바로 확인합니다. **포인트** — 403/500 문제의 절반은 권한입니다. stat으로 소유자와 권한을 먼저 봅니다. ### 2. 배포 시각 검증 **상황** — 롤백 후 실제로 이전 파일이 반영됐는지 확인해야 합니다. ``` stat -c '%n %y' /opt/app/current/public/index.php ``` **결과** — Modify 시각이 롤백한 릴리스 시각과 일치하는지 확인합니다. **포인트** — 캐시가 남아 있으면 시각만 봐서는 부족합니다. 링크 대상과 함께 확인합니다. ## 주의할 점 - Access 시각은 relatime 설정 때문에 항상 갱신되지 않아 신뢰도가 낮습니다. - 심볼릭 링크는 기본적으로 대상 파일의 정보를 보여줍니다. 링크 자체를 보려면 -L 대신 기본 동작을 확인합니다. - Ctime은 변경 시각이지 생성 시각이 아닙니다. 리눅스에는 생성 시각을 기본 제공하지 않는 파일시스템이 있습니다. ## 실제 실행 화면 파일의 소유자·권한·시각과 로그 파일의 크기·시각을 확인한 결과입니다. ![stat 명령어 실행 결과: 파일 메타데이터와 시각 정보](https://games.cursorai.co.kr/assets/stat-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/filesystem/stat.html