1 votes

LSCOLORS bizarres après la copie de fichiers

Récemment, j'ai procédé à une réinstallation propre de MacOS et j'ai naturellement copié tous mes fichiers importants sur un disque externe, puis je les ai recopiés une fois que le système a été réinstallé. Le problème est que lorsque je tape ls dans le terminal pour voir mes fichiers, tous les répertoires ont une couleur bizarre et tous les fichiers sont exécutables même si certains d'entre eux n'ont pas ce drapeau. Remarquez que tous les répertoires de mon répertoire personnel ont une couleur normale et que les répertoires copiés (dans le répertoire BashProfile) ont une couleur bizarre. directories' colours

De plus, tous les fichiers que j'ai copiés sont devenus exécutables (on peut le voir à la couleur verte), mais bien sûr, ceux que j'ai copiés dans le répertoire non pas à partir du disque externe, mais à partir de mon répertoire personnel, sont normaux, comme ils sont censés l'être. files

Vous pouvez voir que tous mes fichiers .jpg sont exécutables pour une raison quelconque. .jpgs

J'utilise ces paramètres dans mon fichier .bash_profile :

export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad

Ma question est la suivante : pourquoi mes répertoires et mes fichiers ont-ils été affectés lorsque je les ai copiés à partir d'un disque dur externe, que signifient ces différentes couleurs sur mes répertoires et y a-t-il une possibilité de revenir sur ces changements ?

J'utilise MacOS Mojave

wiktor Pictures $ echo $LSCOLORS
ExFxBxDxCxegedabagacad

De même, les fichiers de couleur verte sont effectivement exécutables, contrairement aux fichiers de couleur blanche. enter image description here enter image description here Le format de mon disque est ExFAT.

1voto

Christopher Points 965

Le système de fichiers du périphérique de stockage externe ne connaît pas les autorisations Unix. Par exemple, le disque externe peut être formaté comme l'une des variantes FAT des systèmes de fichiers. Lorsque vous copiez le fichier du périphérique de stockage externe sur le disque dur du Mac, il copie les autorisations telles qu'elles ont été trouvées sur le périphérique externe.

Utilisez l'idée ci-dessous ou ses variantes pour rétablir les permissions standard sur un système de fichiers Unix. Ci-dessous, modifiez tous les fichiers dans ~/Pictures avec l'extension, png , à 0644 (owner = read write, group = read, others = read) et les répertoires à 0755 (propriétaire = lecture écriture exécution, groupe lecture exécution, autre = lecture exécution). Dans le contexte des répertoires, execute permet de changer de répertoire ( cd ) dans le répertoire donné. Il s'agit de permissions typiques par défaut.

find ~/Pictures -type f -name '*.png' -exec chmod 0644 {} +
find ~/Pictures -type d -exec chmod 0755 {} + 

En type ci-dessus, prend un argument de type de fichier abrégé ; f spécifie les fichiers réguliers, et d spécifie les répertoires. Les -exec spécifie ce qu'il faut faire avec les fichiers trouvés. Dans ce cas, nous voulons "changer de mode" ( chmod ou modifier les autorisations). Les {} est une liste des fichiers trouvés. Utiliser man find y man chmod pour plus d'informations. Une autre ressource intéressante pour les commandes Unix est explainshell.com .

Certains fichiers peuvent nécessiter le bit d'exécution. Par exemple, si vous avez un script que vous voulez exécuter directement, utilisez quelque chose comme ce qui suit (owner = read write execute, group = read execute, others = read execute).

chmod 0755 script.sh

Les autorisations ci-dessus sont écrites en notation octale. Wikipédia dispose d'une bon résumé des significations. Une fois que les autorisations sont revenues à la normale, les couleurs peuvent à nouveau fournir les bons indices visuels.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X