一般入門的書比較少會去介紹到要怎麼才能看一個檔案的詳細屬性,例如結點建立時間,存取時間等,就算有也只是使用 ls 這個強大的指令。的確,ls 是非常的強大,不過參數太多了,用起來不很方便。
接下來看看 stat 這個指令在 FreeBsd 中的用法(Linux 中也有這個指令,差異點只是參數不完全相同)
這個指令可以查看檔案的詳細資訊:
$ stat index.htm
89 16535059 -rw-r--r-- 1 kt user 66103757 134 "Jun 11 14:54:09 2010" "Jun 11 14:54:09 2010" "Jun 11 14:54:09 2010" "Jun 4 19:10:57 2010" 4096 4 0 index.htm
真是一團不知什麼是什麼的輸出,這時只要加上 -x 就可以了
$ stat -x index.htm
File: "index.htm"
Size: 134 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 1017/ kt) Gid: ( 1001/ user)
Device: 0,89 Inode: 16535059 Links: 1
Access: Fri Jun 11 14:54:09 2010
Modify: Fri Jun 11 14:54:09 2010
Change: Fri Jun 11 14:54:09 2010
如果想要讀取檔案的 Rawdata,以供其他程式使用,就加 -r,會用的人就知道這個太方便了。
$ stat -r index.htm
89 16535059 0100644 1 1017 1001 66103757 134 1276239249 1276239249 1276239249 1275649857 4096 4 0 index.htm
資料分別是代表為何加 -s 就會列出
$ stat -s index.htm
st_dev=89 st_ino=16535059 st_mode=0100644 st_nlink=1 st_uid=1017 st_gid=1001 st_rdev=66103757 st_size=134 st_atime=1276239249 st_mtime=1276239249 st_ctime=1276239249 st_birthtime=1275649857 st_blksize=4096 st_blocks=4 st_flags=0
來看看 FreeBSD 上面男人(man)的範例,強到爆
自訂格式
$ stat -f "%Sp -> owner=%SHp group=%SMp other=%SLp" .
drwxr-xr-x -> owner=rwx group=r-x other=r-x
To display a file's modification time:
$ stat -f %m /tmp/foo
1177697733
To display the same modification time in a readable format:
$ stat -f %Sm /tmp/foo
Apr 27 11:15:33 2007
To display the same modification time in a readable and sortable format:
$ stat -f %Sm -t %Y%m%d%H%M%S /tmp/foo
20070427111533
原文 2010-06-11 19:39:41