web-dev-qa-db-ja.com

OS X '端末での「ls」の出力の@はどういう意味ですか?

ディレクトリでlsを実行すると、次の出力が得られます。

drwxr-xr-x@ 12 xonic  staff    408 22 Jun 19:00 .
drwxr-xr-x   9 xonic  staff    306 22 Jun 19:42 ..
-rwxrwxrwx@  1 xonic  staff   6148 25 Mai 23:04 .DS_Store
-rw-r--r--@  1 xonic  staff  17284 22 Jun 00:20 filmStrip.cpp
-rw-r--r--@  1 xonic  staff   3843 21 Jun 21:20 filmStrip.h

@ 手段。

84
xon1c

これは、ファイルに拡張属性があることを示しています。使用する ls -l@ご覧ください。

xattrを使用して、これらの属性を編集できます。 xattr -hは、インラインヘルプを提供します。

頭の中で、私は、利用可能な拡張属性を持つファイルと関係があると思います。同様のディスカッションへのリンクは次のとおりです。

http://discussions.Apple.com/thread.jspa?messageID=579106

したがって、lsを実行したときに「@」が付いたファイルが表示された場合は、次のようにしてください。

xattr -l <filename>

拡張属性が表示されます。

詳細については、xattrのヘルプを確認できます。

xattr --help
usage: xattr [-l] file [file ...]
       xattr -p [-l] attr_name file [file ...]
       xattr -w attr_name attr_value file [file ...]
       xattr -d attr_name file [file ...]

The first form lists the names of all xattrs on the given file(s).
The second form (-p) prints the value of the xattr attr_name.
The third form (-w) sets the value of the xattr attr_name to attr_value.
The fourth form (-d) deletes the xattr attr_name.

options:
  -h: print this help
  -l: print long format (attr_name: attr_value)

「-l」を使用して追加の属性を確認し、「-d」を使用してそれらを削除すると、おそらく必要な処理が行われるようです。最初に一時ディレクトリでこれを練習して、それが機能することを確認してください;)

26

Mac OS 10.6.1のls(1)manページから:

ファイルまたはディレクトリに拡張属性がある場合、-lオプションによって出力される権限フィールドの後には「@」文字が続きます。それ以外の場合、ファイルまたはディレクトリに拡張セキュリティ情報(アクセス制御リストなど)がある場合、-lオプションによって出力されるアクセス許可フィールドの後には「+」文字が続きます。

利用可能なオプションのリストから:

 -@      Display extended attribute keys and sizes in long (-l) output.

 -e      Print the Access Control List (ACL) associated with the file, if present, in long (-l) output.

これらにより、これらの拡張オプションの価値を確認できます。 FWIW、ACL情報は、おそらくすでに知っているのと同じchmod(1)ユーティリティを使用して設定できます。 :-)

コマンドラインから拡張属性を使用して何かを行う簡単な方法はないようです。

20
Ed Carrel

lsのmanページ から:

-lオプションを指定すると、ファイルごとに次の情報が表示されます。ファイルモード、リンクの数、所有者名、グループ名、ファイル内のバイト数、省略された月、日ごとのファイルの最終更新日、時間ファイルの最終変更、分ファイルの最終変更、およびパス名。

また、内容が表示されるディレクトリごとに、ディレクトリ内のファイルの情報の直前に、ディレクトリ内のファイルが使用している512バイトのブロックの総数が1行で表示されます。

ファイルまたはディレクトリに拡張属性がある場合、-lオプションによって出力される権限フィールドの後には「@」文字が続きます。それ以外の場合、ファイルまたはディレクトリに拡張セキュリティ情報(アクセス制御リストなど)が含まれていると、-lオプションによって出力されるアクセス許可フィールドの後に「+」文字が続きます。

使用する:

ls -la@e

これらの属性/情報を持つファイルまたはディレクトリの詳細については。

9
user53528

これは、拡張属性とアクセス制御に関連しています。

Sun lsのmanページ から:

許可の後の文字は、ACLまたは拡張属性の標識です。この属性は、拡張属性がファイルに関連付けられていて、-@オプションが有効な場合は@です。それ以外の場合、重要でないACLがファイルに関連付けられている場合、この文字は正符号(+)文字であり、そうでない場合は空白文字です。

8
Andre Miller

「@」は、ファイルに「拡張属性」が関連付けられていることを意味します。

もし、するなら "ls -@ -l "を使用すると、各ファイルの属性を確認できます。" xattr -l pgsql.so "特定のファイルの属性をダンプします。

通常、それらは古いFinderInfo、テキストエンコーディング情報、または「このファイルはWebからダウンロードされました。本当に開きますか?」という「隔離」情報です。警告。

7
David Gelhar

lsmanページから

長い形式
[…]ファイルまたはディレクトリに拡張属性がある場合、-lオプションの後には '@' キャラクター。 […]

6
Gumbo