web-dev-qa-db-fra.com

Pourquoi ls n'affiche-t-il pas la sortie sur plusieurs colonnes, pour certains répertoires?

La commande ls et les systèmes de fichiers ntfs ont été discutés assez largement pour les couleurs et comment les ajuster à l'aide de l'option dircolors. Cependant, il semble y avoir plus que cela, que je n'ai commencé à rencontrer qu'après ma récente mise à jour du 14.04 au 16.04.

Dans les dossiers ntfs, j’ai pu activer les options de couleur. Toutefois, le ls semble cracher une seule colonne de fichiers au lieu de la vue de colonne qu’il possède par défaut dans d’autres dossiers. De plus, même l'utilisation forcée des options -x, -c etc. donne la même colonne.

Les couleurs ne me posent pas de problème, car je peux modifier les options dircolors, mais il me semble impossible de modifier cette vue en colonne unique.

Je souhaite donc demander s’il est possible d’éliminer ces problèmes dépendants de l’exécutable, notamment la couleur et la vue sur une seule colonne, qui dépendent des autorisations des exécutables (couramment observées dans les partitions ntfs) des fichiers et des répertoires? Je ne l'ai jamais eu avant le 14 avril et j'aimerais le restaurer. J'avais l'habitude d'avoir des répertoires de couleur et ce n'est pas grave.

2
Aseem Dua

Comme vous l'avez peut-être trouvé et sudodus mentionné , --color=never empêche la sortie en couleur. Cependant, il n'est pas évident de savoir si ou comment cela est lié au nombre de colonnes affichées.

Vous avez mentionné avoir essayé -c. Cet indicateur spécifie un ordre de tri et ne peut pas être imprimé sur plusieurs colonnes. L’indicateur à imprimer en colonnes est -C (c’est-à-dire un capital C). Vous voudrez peut-être essayer ceci si vous ne l'avez pas déjà fait, mais je suppose que cela ne va pas aider dans cette situation particulière.

Habituellement, lorsque vous ne pouvez pas obtenir ls dans le contenu d’un répertoire de plusieurs colonnes, c’est parce qu’il existe au moins un fichier dont le nom est trop long pour tenir tout en permettant qu'une seconde colonne correctement alignée soit affichée dans votre terminal.

Généralement, vous ne voudrez pas plusieurs colonnes affichées dans cette situation. La sortie n'aurait pas beaucoup de sens de cette façon.

Si c'est ce qui se passe, vous pouvez répertorier les fichiers dans plusieurs colonnes en:

  • Augmenter la largeur de votre terminal. Si vous utilisez un émulateur de terminal graphique, il est presque toujours suffisant d'agrandir la fenêtre et de l'exécuter ls encore. Cela fonctionne généralement même sur SSH.
  • Liste seulement certains des fichiers. Par exemple, vous n'avez peut-être vraiment besoin que de voir les fichiers se terminant par .txt, et les fichiers avec des noms très longs n'ont pas ce suffixe. Ensuite, vous pouvez utiliser ls *.txt.

Si vous avez essayé tout cela et que vous êtes certain que ce n'est pas ce qui se passe et que le problème est causé par quelque chose que vous avez modifié lors de la configuration des couleurs utilisées par ls, vous obtiendrez plus d'informations. nécessaire. En particulier, vous devez spécifier les modifications que vous avez apportées, afficher tous les fichiers dans lesquels elles ont été effectuées - ou au moins les parties correspondantes - et fournir le résultat de type -a ls.

4
Eliah Kagan

De man ls

Using color to distinguish file types is disabled both by default
and with --color=never. With --color=auto, ls emits color codes
only when standard output is connected to a terminal. The LS_COLORS
environment variable can change the settings. Use the dircolors
command to set it.

Donc un alias dans ~/.bashrc devrait le faire (après avoir exécuté source ~/.bashrc dans des fenêtres de terminal déjà ouvertes et automatiquement dans de nouvelles fenêtres de terminal)

alias ls='ls --color=never'

Vous pouvez ajouter la ligne près des autres alias.

0
sudodus