Cosa significa @ in ls -l?


121

Sto usando Mac OSX. Quando scrivo ls -lvedo qualcosa di simile

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

Cosa significano le @?

Risposte:


116

Indica che il file ha attributi estesi . È possibile utilizzare l' xattrutilità della riga di comando per visualizzarli e modificarli:

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
In 10.8 (Mountain Lion), --list non è valido. Sono -l.
Mark E. Haase,

4
se si desidera trovare tutti i file di un tipo e rimuovere l'attr quarantena in OSX: find . -iname '*.ext' -print0 | xargs -0 xattr -d com.apple.quarantine. Ecco perché ho trovato questa domanda.
jcollum,

2
inoltre, per SEO: @ è il "simbolo"
jcollum,

Non ha funzionato per me. Ho dovuto usare xattr -d invece di --delete.
geoidesic,

2
@jcollum meglio ancora, find . -type f -xattr -print | xargs -0 xattr -d com.apple.quarantine(non sono sicuro se -type fè necessario). Sebbene per qualche motivo nessuno dei due comandi stia funzionando per me in questo momento ... Questo ha funzionato per me:find . -type f -xattr -exec xattr -d com.apple.quarantine {} \;
Michael

26

In Snow Leopard, almeno, puoi farlo per mostrare maggiori informazioni:

ls -l@

Direttamente dal xattrmanuale:Attribute names can also be displayed using ``ls -l@''.
ordonezalex,

3

Ha attributi estesi - Vedi la pagina man di OSX qui per maggiori informazioni su ls.


2

Potresti dare un'occhiata a questo post nelle mailing list di Apple. Spiega che @ mostra che il Finder ha esteso attributi diversi da ACL.



0

Su OSX, questo indica la presenza di metadati associati al file.


Non significa nemmeno un collegamento simbolico su Linux: i collegamenti simbolici sono indicati con una l nella prima colonna di autorizzazioni, o collegamenti interrotti da un @ alla fine del percorso, non alla fine della stringa di autorizzazioni.
BR

Capito, modificato.
kbyrd,

0

Oltre alla risposta di Michael Mrozek:

Su OSX 10.10 (Yosemite) puoi usare questi parametri attrx:

xattr -l file
xattr -w attr_name attr_value file
xattr -d attr_name file
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.