Co oznacza @ w ls -l?


121

Używam Mac OSX. Kiedy piszę ls -l, widzę coś takiego

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

Co oznaczają znaki @?

Odpowiedzi:


116

Wskazuje, że plik ma rozszerzone atrybuty . Możesz użyć xattrnarzędzia wiersza polecenia, aby je wyświetlić i zmodyfikować:

xattr -l file # lists the names of all xattrs.
xattr -w attr_name attr_value file # sets xattr attr_name to attr_value.
xattr -d attr_name file # deletes xattr attr_name.
xattr -c file # deletes all xattrs.
xattr -h # prints help

9
W wersji 10.8 (Mountain Lion) opcja --list jest nieprawidłowa. To jest -l.
Mark E. Haase

4
jeśli chcesz znaleźć wszystkie pliki typu i usuń attr kwarantanny w OSX: find . -iname '*.ext' -print0 | xargs -0 xattr -d com.apple.quarantine. Dlatego znalazłem to pytanie.
jcollum

2
również dla SEO: @ to „at symbol”
jcollum

Nie działało dla mnie. Musiałem użyć xattr -d zamiast --delete.
geoidesic

2
@ jcollum jeszcze lepiej, find . -type f -xattr -print | xargs -0 xattr -d com.apple.quarantine(nie jestem pewien, czy -type fjest to potrzebne). Chociaż z jakiegoś powodu żadne polecenie nie działa w tej chwili dla mnie ... Ten działał dla mnie:find . -type f -xattr -exec xattr -d com.apple.quarantine {} \;
Michael

26

W systemie Snow Leopard możesz to zrobić, aby wyświetlić więcej informacji:

ls -l@

Bezpośrednio z xattrinstrukcji:Attribute names can also be displayed using ``ls -l@''.
ordonezalex

3

Ma rozszerzone atrybuty - zobacz stronę podręcznika OSX tutaj, aby uzyskać więcej informacji na temat ls.


2

Możesz rzucić okiem na ten post na listach mailingowych Apple. Wyjaśnia, że ​​@ pokazuje, że Finder ma rozszerzone atrybuty inne niż ACL.



0

W OSX oznacza to obecność metadanych powiązanych z plikiem.


Nie oznacza to również linku symbolicznego w Linuksie - dowiązania symboliczne są oznaczone literą lw pierwszej kolumnie uprawnień, lub zepsute linki znakiem @ na końcu ścieżki, a nie na końcu ciągu uprawnień.
BR

Rozumiem.
kbyrd,

0

Oprócz odpowiedzi Michała Mrożka:

W OSX 10.10 (Yosemite) możesz użyć tych parametrów attrx:

xattr -l file
xattr -w attr_name attr_value file
xattr -d attr_name file
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.