stat은 지정된 파일 또는 파일 시스템에 대한 자세한 정보를 표시하는 명령줄 유틸리티입니다.
stat 명령을 사용하는 방법에 대해 설명합니다.
stat 명령을 사용
stat 명령의 구문은 다음과 같습니다.
stat [OPTION]... FILE...
stat는 하나 이상의 입력 FILE 이름을 사용하며 명령 동작 및 출력을 제어하는 여러 옵션을 포함합니다.
다음 예를 살펴보겠습니다.
출력은 다음과 같습니다.
stat file.txt
# File: file.txt
# Size: 4030 Blocks: 8 IO Block: 4096 regular file
# Device: 801h/2049d Inode: 13633379 Links: 1
# Access: (0644/-rw-r--r--) Uid: ( 1000/ linuxize) Gid: ( 1000/ linuxize)
# Access: 2019-11-06 09:52:17.991979701 +0100
# Modify: 2019-11-06 09:52:17.971979713 +0100
# Change: 2019-11-06 09:52:17.971979713 +0100
# Birth: -
옵션 없이 호출되면 stat에 다음 파일 정보가 표시됩니다.
- file - 파일 이름입니다.
- size - 파일 크기(바이트)입니다.
- block - 파일에 할당된 블록 수입니다.
- IO block - 모든 블록의 크기(바이트)입니다.
- file type - (예: 일반 파일, 디렉터리, 심볼 링크)입니다.
- device - 장치 번호(16진수 및 10진수)입니다.
- Inode - Inode 번호입니다.
- links - 하드 링크 수입니다.
- access - 숫자 및 기호 메서드의 파일 사용 권한입니다.
- Uid - 사용자 ID 및 소유자의 이름입니다.
- Gid - 그룹 ID 및 소유자의 이름입니다.
- 컨텍스트 - SELinux 보안 컨텍스트입니다.
- access - 파일에 마지막으로 액세스한 시간입니다.
- modify - 파일 내용을 마지막으로 수정한 시간입니다.
- change - 파일의 속성 또는 내용을 마지막으로 변경한 시간입니다.
- birth - 파일 생성 시간(Linux에서는 지원되지 않음)입니다.
파일 시스템에 대한 정보를 표시
파일 자체에 대한 정보 대신 지정된 파일이 있는 파일 시스템에 대한 정보를 가져오려면 -f, (--파일 시스템) 옵션을 사용하십시오.
명령 출력은 다음과 같습니다.
stat -f file.txt
# File: "package.json"
# ID: 8eb53097b4494d20 Namelen: 255 Type: ext2/ext3
# Block size: 4096 Fundamental block size: 4096
# Blocks: Total: 61271111 Free: 25395668 Available: 22265851
# Inodes: Total: 15630336 Free: 13979610
-f 옵션을 사용하여 stat를 호출하면 다음 정보가 표시됩니다.
- file - 파일 이름입니다.
- ID - 파일 시스템 ID를 16진수로 표시합니다.
- Namelen - 파일 이름의 최대 길이입니다.
- fundamental block size - 파일 시스템의 각 블록 크기입니다.
- block :
- total - 파일 시스템의 총 블록 수입니다.
- free - 파일 시스템에서 사용 가능한 블록 수입니다.
- available - 루트 사용자가 아닌 사용자가 사용할 수 있는 사용 가능한 블록 수입니다.
- inode :
- total - 파일 시스템의 총 inode 수입니다.
- free - 파일 시스템의 사용 가능한 아이노드 수입니다.
참조 해제(팔로우) Symlinks
기본적으로 stat은 심볼 링크를 따르지 않습니다. 심볼 링크에서 명령을 실행하면 출력에 다음 파일이 아닌 심볼 링크에 대한 정보가 포함됩니다.
stat /etc/resolv.conf
# File: /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
# Size: 39 Blocks: 0 IO Block: 4096 symbolic link
# Device: 801h/2049d Inode: 8126659 Links: 1
# Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
# Access: 2019-11-06 21:12:26.875956073 +0100
# Modify: 2018-07-24 11:11:48.128794519 +0200
# Change: 2018-07-24 11:11:48.128794519 +0200
# Birth: -
심볼 링크의 참조를 해제하고 심볼 링크가 가리키는 파일에 대한 정보를 표시하려면 -L, (--참조 취소) 옵션을 사용합니다.
stat -L /etc/resolv.conf
# File: /etc/resolv.conf
# Size: 715 Blocks: 8 IO Block: 4096 regular file
# Device: 17h/23d Inode: 989 Links: 1
# Access: (0644/-rw-r--r--) Uid: ( 101/systemd-resolve) Gid: ( 103/systemd-resolve)
# Access: 2019-11-06 20:35:25.603689619 +0100
# Modify: 2019-11-06 20:35:25.555689733 +0100
# Change: 2019-11-06 20:35:25.555689733 +0100
# Birth: -
출력을 사용자 정의
stat 명령에는 필요에 따라 출력을 사용자 지정할 수 있는 두 가지 옵션이 있습니다. -c, (--format="format") 및 --printf="format"입니다.
이 두 옵션의 차이점은 두 개 이상의 파일이 피연산자로 사용될 때 포맷은 각 피연산자의 출력 후에 자동으로 새 줄을 추가한다는 것입니다. --printf는 백슬래시 이스케이프를 해석합니다.
--format 및 --printf와 함께 사용할 수 있는 파일 및 파일 시스템에 대한 많은 형식 지시어가 있습니다.
예를 들어 파일 형식만 보려면 다음을 실행합니다.
stat --format="%F" /dev/null
# character special file
형식 지정 지시사항을 여러 개 조합할 수 있으며 선택적으로 사용자 정의 구분 기호를 사용할 수 있습니다. 구분 기호는 단일 문자 또는 문자열일 수 있습니다.
stat --format="%n,%F" /dev/null
# /dev/null,character special file
줄 바꿈이나 탭과 같은 특수 문자를 해석하려면 --printf 옵션을 사용합니다.
\n은 새 줄을 인쇄합니다.
stat --printf='Name: %n\nPermissions: %a\n' /etc
# Name: /etc
# Permissions: 755
통계는 정보를 간결한 형식으로 표시할 수도 있습니다. 이 형식은 다른 유틸리티에서 구문 분석할 때 유용합니다.
-t(--terse) 옵션을 사용하여 명령을 호출하여 출력을 간결한 형식으로 인쇄합니다.
stat -t /etc
# /etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096
파일 및 파일 시스템 유형에 대한 모든 형식 지시사항의 전체 목록을 보려면 터미널의 man stat 또는 stat --help를 참조하십시오.
stat 명령은 지정된 파일 및 파일 시스템에 대한 정보를 인쇄합니다.
Linux에서 여러 다른 명령어는 지정된 파일에 대한 정보를 표시할 수 있으며, ls가 가장 많이 사용되지만 stat 명령에 의해 제공되는 정보의 청크만 표시합니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Debian 10 : Tomcat 9 설치 방법, 예제, 명령어 (0) | 2022.04.16 |
---|---|
Linux : CentOS 8 : Hostname 변경 방법, 예제, 명령어 (0) | 2022.04.15 |
Linux : Ubuntu 18.04 : Python 3.8 설치 방법, 예제, 명령어 (0) | 2022.04.13 |
Linux : 백그라운드 실행 방법, 예제, 명령어 (0) | 2022.04.12 |
Linux : Apache 시작, 중지, 재시작 방법, 예제, 명령어 (0) | 2022.04.11 |