[FreeBSD] 查看檔案詳細資訊

URL Link //n.sfs.tw/10605

2017-01-13 10:50:33 By 張○○

一般入門的書比較少會去介紹到要怎麼才能看一個檔案的詳細屬性,例如結點建立時間,存取時間等,就算有也只是使用 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