SW/리눅스

Linux : Stat 명령어, 사용 방법, 예제

얇은생각 2022. 4. 14. 07:30
반응형

stat은 지정된 파일 또는 파일 시스템에 대한 자세한 정보를 표시하는 명령줄 유틸리티입니다.

stat 명령을 사용하는 방법에 대해 설명합니다.

 

 

Linux : 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 명령에 의해 제공되는 정보의 청크만 표시합니다.

반응형