ํŒŒ์ผ์ด๋‚˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ƒํƒœ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” linux stat ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•


stat ๋ช…๋ น์–ด๋Š” ํŒŒ์ผ์ด๋‚˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ stat,ย statfs ์˜ System call ํ˜ธ์ถœ๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.


์‚ฌ์šฉ๋ฒ•

์ƒํƒœ ์ถœ๋ ฅ

์˜ต์…˜์—†์ด stat ๋ช…๋ น์–ด ๋’ค์— ํŒŒ์ผ์„ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ํŒŒ์ผ์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

$ stat /etc/redhat-release 

  File: /etc/redhat-release
  Size: 45              Blocks: 8          IO Block: 4096   regular file
Device: ca02h/51714d    Inode: 9470        Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:etc_t:s0
Access: 2021-02-04 04:57:53.710565576 +0000
Modify: 2020-09-23 09:38:30.000000000 +0000
Change: 2020-11-10 04:11:24.916712115 +0000
 Birth: -


์ถ•์•ฝ ์ถœ๋ ฅ

-t ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ถ•์•ฝํ•ด์„œ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

$ stat /etc/redhat-release -t
/etc/redhat-release 45 8 81a4 0 0 ca02 9470 1 0 0 1612414673 1600853910 1604981484 0 4096 system_u:object_r:etc_t:s0


file systemย  ์ถœ๋ ฅ

-f ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด statfs ์ฒ˜๋Ÿผ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ƒํƒœ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

$ stat /etc/redhat-release -f

  File: "/etc/redhat-release"
    ID: ca0200000000 Namelen: 255     Type: xfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 2618363    Free: 774778     Available: 774778
Inodes: Total: 5241792    Free: 5028369


ํŠน์ • ์ •๋ณด๋งŒ ์ถœ๋ ฅ

stat -c=FORMAT ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ์ •๋ณด๋งŒ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. FORMAT ์€ % ๋’ค์— ํ•œ์ •์ž๋ฅผ ์ฃผ๋ฉฐ ์ „์ฒด ๋ชฉ๋ก์€ stat --help ๋ช…๋ น์–ด๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

8์ง„์ˆ˜๋กœ ๊ถŒํ•œ ํ‘œ์‹œ

%a ๋Š” octal ํ˜•์‹์œผ๋กœ ํŒŒ์ผ์˜ permission ์„ ์ถœ๋ ฅํ•˜๋ฉฐ %n ์€ ์ž…๋ ฅ์œผ๋กœ ์ค€ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋Š” /etc/redhat-release ํŒŒ์ผ์˜ 8์ง„์ˆ˜ ํ˜•์‹ ๊ถŒํ•œ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

$  stat -c "%a %n"  /etc/redhat-release 
644 /etc/redhat-release


hard link ๊ฐฏ์ˆ˜ ํ‘œ์‹œ

%h ๋Š” ํŒŒ์ผ์˜ ํ•˜๋“œ ๋งํฌ(hard link) ๊ฐฏ์ˆ˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ง€์ •์ž์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋Š” /etc/redhat-release ํŒŒ์ผ์˜ ๋งํฌ ๊ฐฏ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

$ stat -c "%h %n" /etc/redhat-release 
1 /etc/redhat-release

ln ๋ช…๋ น์–ด๋กœ hard link ๋ฅผ ์ƒ์„ฑํ›„์— ๋‹ค์‹œ ์‹คํ–‰ํ•ด ๋ณด๋ฉด ๋งํฌ ๊ฐฏ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ sudo ln  /etc/redhat-release link1
$ stat -c "%h %n" /etc/redhat-release
2 /etc/redhat-release


atime, mtime, ctime ์ •๋ณด ํ‘œ์‹œ

%x , %y, %z ์ง€์ •์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹๊ฒŒ ํŒŒ์ผ์˜ atime, mtime, ctime ์„ ํ‘œ์‹œํ•ด ์ค๋‹ˆ๋‹ค.

$ stat -c "%x %y %z" file1

2021-02-28 07:40:43.918599333 +0000 2021-02-28 07:40:43.918599333 +0000 2021-02-28 07:40:43.918599333 +0000


๊ฐ™์ด ๋ณด๊ธฐ