「ls」を使わずにファイルの権限を表示する方法はありますか?

「ls」を使わずにファイルの権限を表示する方法はありますか?

ls -lそれがすべてです。値文字列を調べずにファイルの権限を見つけるための別の方法があるかどうか疑問に思います。

私が知る限り、いいえ展示するchmodのオプション

答え1

これに加えて、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高性能ユーザー体験システムソラリスLinuxそしてFreeBSD)。

「合理的に携帯可能」という用語は、以下に適用される。

  • 有効性
  • 同じ形式

統計と移植性についていくつかのコメントがあります。これが出力ですGNUコアツール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 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 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

答え2

これはLinuxでより具体的であいまいですが(ACLツールをインストールする必要があります)、getfaclファイルにACLが設定されていない場合でも、コマンドは次のような出力を表示します。

[root@mymachine ~#] getfacl my_file.txt
#file: my_file.txt
#owner: root
#group: root
user::rw-
group::r--
other::r--

答え3

perlAIXにはそのような種類があると思います。

perl -e 'printf "%03o\n", (stat( $ARGV[0] ))[2] & 07777' /etc/hosts

これstatこの関数は、選択したファイルのさまざまな興味深いメタデータを返します。ここでは[2]、ほとんどの権限である3番目の要素(0から計算)のみを使用します。結果に 3 から 4 文字を含む 8 進形式 (たとえば、)printf "%03o\n"で権限値を出力します。6441644007

答え4

stat次のものを使用できますstat <filename>

関連情報