Question Que signifie le @ sur la sortie de "ls" sur le terminal OS X '?


En faisant un ls dans un répertoire, j'obtiens la sortie suivante:

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

Je me demandais ce que le @ veux dire.


73
2018-06-22 17:57


origine


voir aussi ici aheadescience.org/blog/2007/12/11/macosx-leopard-extended-ls - Stefano Borini
xattr -r -d com.apple.TextEncoding * va probablement l'enlever si C'est un fichier texte, comme un en-tête ou un fichier source C ++, créé localement. Si vous l'avez téléchargé, alors xattr -r -d com.apple.quarantine * va probablement le supprimer, vous pouvez donc faire des choses comme éditer un Makefile. Pour une raison quelconque, Apple ne fait pas vous permet d'éditer un Makefile, mais Est-ce que vous permet d'exécuter un Makefile, avec com.apple.quarantine. Allez comprendre... - jww
Voir également: apple.stackexchange.com/questions/42177/... - hippietrail


Réponses:


Cela indique que le fichier a des attributs étendus. Utilisation ls -l@ de les voir.

Vous pouvez utiliser xattr pour éditer ces attributs. xattr -h vous donnera l'aide en ligne pour cela.


69
2018-06-22 18:00



Merci. trouvé com.apple.quarantine, voici ce que c'est et comment y faire face dans un souci d'exhaustivité: superuser.com/questions/28384/ - xon1c


À première vue, je pense que cela a quelque chose à voir avec le fichier ayant des attributs étendus disponibles. Voici un lien vers une discussion similaire:

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

Donc, si vous voyez un fichier avec un "@" lorsque vous faites un ls, essayez ceci:

xattr -l <filename>

Cela devrait vous montrer les attributs étendus.

Vous pouvez vérifier l'aide de xattr pour plus de détails:

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)

Il semble que si vous regardez les attributs supplémentaires avec "-l" et que vous les supprimez avec "-d", vous ferez probablement ce que vous voulez. Pratiquez ceci dans un répertoire temporaire quelque part en premier et assurez-vous qu'il fonctionne;)


23
2017-08-26 20:05



Merci beaucoup! Il semblerait que le répertoire en question ait été marqué comme étant com.apple.quarantine, ce qui constitue une mesure de sécurité destinée à protéger contre les scripts et les applications suspects du réseau. Cela ne peut pas causer le problème de l'annuaire pas la liste. : / Je regarderai plus autour et posterai la solution si je la trouve.


Depuis la page de manuel ls (1) sur Mac OS 10.6.1:

Si le fichier ou le répertoire possède des attributs étendus, le champ d'autorisations imprimé par l'option -l est suivi d'un caractère '@'. Sinon, si le fichier ou le répertoire contient des informations de sécurité étendues (par exemple, une liste de contrôle d'accès), le champ d'autorisation imprimé par l'option -l est suivi d'un caractère '+'.

De la liste des options disponibles:

 -@      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.

Celles-ci vous permettront de voir la valeur de ces options étendues. FWIW, les informations ACL peuvent être définies en utilisant le même utilitaire chmod (1) que vous connaissez probablement déjà. :-)

Il ne semble pas être facile de faire quelque chose avec des attributs étendus à partir de la ligne de commande.


20
2017-11-06 13:04



Les attributs étendus peuvent être visualisés et manipulés avec la commande xattr (uniquement disponible sous OS X v10.5 et .6). Il ne semble pas avoir de page de manuel, mais xattr -h imprimera son aide interne. - Gordon Davisson
xattr a maintenant une page de manuel, et vous pouvez utiliser xattr -l file pour lister tous les attributs ou xattr -p attribute_name file pour imprimer un attribut spécifique. - user495470


Du page de manuel pour ls:

Si l'option -l est donnée, les informations suivantes sont affichées pour chaque fichier: mode fichier, nombre de liens, nom du propriétaire, nom du groupe, nombre d'octets dans le fichier, mois abrégé, fichier du jour du mois modifié, fichier d'heure modifié en dernier, dernier fichier des minutes modifié, et le chemin d'accès.

De plus, pour chaque répertoire dont le contenu est affiché, le nombre total de blocs de 512 octets utilisés par les fichiers du répertoire est affiché sur une ligne, immédiatement avant les informations relatives aux fichiers du répertoire.

Si le fichier ou le répertoire possède des attributs étendus, le champ d'autorisations imprimé par l'option -l est suivi d'un caractère '@'. Sinon, si le fichier ou le répertoire contient des informations de sécurité étendues (comme une liste de contrôle d'accès), le champ des autorisations imprimé par l'option -l est suivi d'un caractère '+'.

Utilisation:

ls -la@e

pour plus d'informations sur les fichiers ou répertoires avec ces attributs / informations.


9
2017-11-06 13:05





Ceci est lié aux attributs étendus et au contrôle d'accès.

Du page de man du soleil:

Le caractère après les permissions est un   ACL ou indicateur d'attributs étendus.   Ce caractère est un @ si étendu   les attributs sont associés à la   fichier et l’option - @ est en vigueur.   Sinon, ce personnage est un plus   signe (+) caractère si non trivial   ACL est associé au fichier ou à un   Caractère spatial sinon.


8
2017-11-06 13:04





Le "@" signifie que le fichier a des "attributs étendus" qui lui sont associés.

Si tu fais "ls -@ -l", vous pouvez voir quels attributs il y a pour chaque fichier. Vous pouvez aussi faire quelque chose comme"xattr -l pgsql.so"pour vider les attributs pour un fichier particulier.

Typiquement, ils sont comme des vieux FinderInfo, des informations de codage de texte, ou les informations de "quarantaine" qui vous donnent "Ce fichier a été téléchargé du Web, êtes-vous sûr de vouloir l'ouvrir?" Attention.


7
2017-07-14 16:43



Les attributs étendus ne sont pas uniques à la plate-forme mac. Un certain nombre de systèmes d'exploitation prennent en charge cette fonctionnalité de niveau fichier. - Stefan Kendall
@iftrue: au final, c'est une fonctionnalité de système de fichiers. - Joey


Du page de man de ls:

Le format long
  [...] Si le fichier ou le répertoire a des attributs étendus, le champ des autorisations imprimé par le -l l'option est suivie d'un '@' personnage. [...]


6
2017-08-26 20:08



Notez que le '@' peut également masquer le '+' qui serait normalement présent pour indiquer que le fichier / répertoire est associé à une ACL. Essayez 'ls -le @ O' - cela listera xattrs, ACL (si présent), et aussi tous les indicateurs. - Gordon Davisson