Помимо stat
(специфично для Linux), существуют инструменты, которые позволяют сделать это в качестве побочного эффекта.Программа tar
, например, может сделать это:
tar cf - filename | tar tvf -
Например
$ tar cf - foo |tar tvf -
rwxr-xr-x 1021/1021 18 Jan 13 21:40 2016 foo
Использование специального "-"
вроде этого достаточно переносимо (работает с AIX , HPUX , Solaris , Linux и FreeBSD ).
Термин «разумно переносимый» применяется к
Есть несколько комментариев о статистике по сравнению с переносимостью. Вот вывод из GNU coreutils stat
:
$ stat foo
File: `foo'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 801h/2049d Inode: 784564 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 1001/ tom) Gid: ( 100/ users)
Access: 2016-05-12 19:03:54.773503477 -0400
Modify: 2016-05-12 19:03:54.773503477 -0400
Change: 2016-05-12 19:03:54.773503477 -0400
Birth: -
и вывод из BSD stat (OSX):
$ stat foo
16777221 61893362 -rwxr-xr-x 1 tom wheel 0 0 "May 12 19:03:54 2016" "May 12 19:03:54 2016" "May 12 19:04:59 2016" "May 12 19:03:54 2016" 4096 0 0 foo
А вот пример вывода из AIX istat (для меня отличается ):
$ istat foo
Inode 3166649 on device 32768/13 File
Protection: rwxr-xr-x
Owner: 1021(dickey) Group: 1021(dickey)
Link count: 1 Length 18 bytes
Last updated: Wed Jan 13 21:40:30 UTC 2016
Last modified: Wed Jan 13 21:40:30 UTC 2016
Last accessed: Wed Jan 13 21:40:20 UTC 2016