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


81

やったとき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

どういう@意味かと思っていました。



1
xattr -r -d com.apple.TextEncoding *C ++ヘッダーやソースファイルなどのテキストファイルがローカルに作成された場合、おそらく削除されます。ダウンロードした場合、xattr -r -d com.apple.quarantine *おそらく削除されるので、Makefileの編集などを行うことができます。何らかの理由で、Apple Makefileの編集を許可していませんが、Makefileの実行許可していますcom.apple.quarantine。図を行く
...-jww

回答:



24

私の頭上では、利用可能な拡張属性を持つファイルと関係があると思います。同様の議論へのリンクは次のとおりです。

http://discussions.apple.com/thread.jspa?messageID=5791060

したがって、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」でそれらを削除すると、おそらくあなたが望むことをするようです。ただし、最初に一時ディレクトリでこれを練習し、動作することを確認してください;)


どうもありがとう!問題のディレクトリはcom.apple.quarantineとしてマークされているように見えます。com.apple.quarantineは、ネットから危険なスクリプトやアプリを保護するためのセキュリティ対策です。これは、ディレクトリがリストされないという問題を引き起こす可能性はありません。:/見つけたら解決策を投稿します。

20

Mac OS 10.6.1のls(1)のマニュアルページから:

ファイルまたはディレクトリに拡張属性がある場合、-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)ユーティリティを使用して設定できます。:-)

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


2
拡張属性は、xattrコマンドを使用して表示および操作できます(OS X v10.5および.6でのみ使用可能)。manページはないようですが、xattr -h内部ヘルプが表示されます。
ゴードンデイヴィソン

xattr現在、manページがあり、xattr -l fileすべての属性を一覧表示するかxattr -p attribute_name file、特定の属性を印刷するために使用できます。
Lri

9

lsmanページから:

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

さらに、コンテンツが表示される各ディレクトリについて、ディレクトリ内のファイルが使用する512バイトブロックの合計数が、ディレクトリ内のファイルの情報の直前に1行で表示されます。

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

つかいます:

ls -la@e

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


8

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

sun lsのmanページから:

許可の後の文字は、ACLまたは拡張属性インジケーターです。拡張属性がファイルに関連付けられており、-@オプションが有効な場合、この文字は@です。それ以外の場合、この文字は、自明でないACLがファイルに関連付けられている場合はプラス記号(+)文字、関連付けられていない場合はスペース文字です。


7

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

ls -@ -l」を実行すると、各ファイルの属性を確認できます。xattr -l pgsql.so特定のファイルの属性をダンプするには、「」のようなこともできます。

通常、それらは古い学校のFinderInfo、テキストエンコード情報、または「このファイルはWebからダウンロードされました。本当に開きますか?」を提供する「検疫」情報のようなものです。警告。


1
拡張属性は、Macプラットフォームに固有のものではありません。多くのオペレーティングシステムがこのファイルレベルの機能をサポートしています。
ステファンケンドール

@iftrue:最終的にはファイルシステム機能です。
ジョーイ

6

manページからls

長い形式
[…]ファイルまたはディレクトリに拡張属性がある-l場合、オプションによって出力される権限フィールドの後に ' @'文字が続きます。[…]


2
「@」は、ファイル/ディレクトリにACLが関連付けられていることを示すために通常存在する「+」を隠すこともできます。'ls -le @ O'を試してください-xattrs、ACL(存在する場合)、およびフラグもリストされます。
ゴードンデイヴィソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.