Command-Line

stat可以顯示文件是否隱藏?

  • June 8, 2021

我正在使用這樣的統計數據:

stat -f "%Sp %p %l %Su %u %Sg %g %z %a %N %Y"  /*

我還需要判斷文件是否隱藏(MacOS)。.符號是不夠的。MacOS 隱藏更多文件。

例如,這就是我需要的:

ls -lO                                                                
total 9
drwxrwxr-x  32 root  admin  sunlnk            1024 Jun  4 22:00 Applications
drwxr-xr-x  66 root  wheel  sunlnk            2112 Feb 18 23:23 Library
drwxr-xr-x@  9 root  wheel  restricted         288 Jan  1  2020 System
drwxr-xr-x   7 root  admin  sunlnk             224 May 18 08:12 Users
drwxr-xr-x   4 root  wheel  hidden             128 Jun  7 12:49 Volumes
drwxr-xr-x@ 38 root  wheel  restricted,hidden 1216 Jan  1  2020 bin
drwxr-xr-x   2 root  wheel  hidden              64 Jun  6  2020 cores
dr-xr-xr-x   3 root  wheel  hidden            4602 Jun  1 14:24 dev
lrwxr-xr-x@  1 root  wheel  restricted,hidden   11 Jan  1  2020 etc -> private/etc

為了處理速度,我需要將它作為一個命令執行。我的目標全部來自我上面的統計數據加上ls命令的第 5 列。有什麼提示嗎?

我注意到隱藏物品的%T列印@。然而,它也可能出於其他原因顯示它。這個可以用還是不用?

沒有stat找到解決方案,有沒有辦法將stat結果與命令行上的額外ls -lO列合併?

如果 macosstat與 FreeBSD 類似,則標誌可以在format規範中表示%f為數字形式或%Sf解碼文本形式,如ls -lo.

man stat有關詳細資訊,請參閱您的系統上的man chflags和。man ls

引用自:https://unix.stackexchange.com/questions/653297