stat

statは、ファイルの情報や状態を取得する。

Man page of STAT

指定されたパスのファイル情報をstat構造体に格納する。

"test.txt"のファイルサイズを調べる。

$ ls
stat  stat.c  test.txt
$ vi test.txt 
$ ls -al
合計 28
drwxrwxr-x. 2 h.miura h.miura 4096  8月 14 11:10 .
drwxrwxr-x. 3 h.miura h.miura 4096  8月 14 10:53 ..
-rwxrwxr-x. 1 h.miura h.miura 8736  8月 14 11:05 stat
-rw-rw-r--. 1 h.miura h.miura  712  8月 14 11:05 stat.c
-rw-rw-r--. 1 h.miura h.miura    6  8月 14 11:10 test.txt
$ hexdump -C test.txt 
00000000  41 42 43 44 45 0a                                 |ABCDE.|
00000006
$ vi stat.c 
$ gcc stat.c -o stat
$ ./stat 
sst.st_size = 6
$

ls -alでもわかるが、いちおうhexdump -C test.txtでバイナリの中身まで確認。
そして、最終的にstatでもサイズが6であることが証明された。

Sample/unixsyscall/stat/stat/src/stat at master · bg1bgst333/Sample · GitHub