Quelle est l'option équivalente pour la commande ls
d'activer la pagination comme sous DOS le dir /p
le fait?
Il n'y a pas d'équivalent simple dans ls
lui-même, mais il existe l'utilitaire less
. , qui formatera la sortie de toute commande sous forme de pages séparées, pouvant être défilées par ligne ou par page:
%pr_e%
Où -C
déclenche l'affichage de la colonne. Utilisez lah
comme arguments ( ls -lah
) pour obtenir un affichage l ine par ligne avec a tous les fichiers affichés (y compris ceux qui sont cachés) et h. La taille des fichiers lisibles par uman.
Pour que les couleurs s'affichent correctement , vous devez ajouter l'argument --color=always
à ls
et l'argument -R
sur moins *:
%pr_e%
ceciindique'ls-ah--color=always|moins-R'
Contrairementà more
, less
vous permettra de faire défiler le résultat. C'est aussi un peu plus rapide pour les très grandes listes.
Le tuyau fonctionne comme ceci:
Chaque programme a des entrées et des sorties, un tuyau redirige la sortie d’un programme (ls) vers l’entrée d’un autre programme (moins). Et moins simplement attend une entrée qu’elle formate ensuite.
Un équivalent de dos plus ancien serait pg
:
ls -C | less
Vous pouvez aussi
ls | head
ou ls | tail
pour afficher uniquement la première ou la dernière partie du résultat watch "ls"
pour garder l'affichage ouvert et mettez-le à jour toutes les quelques secondes pour observer les modifications banner $(ls)
si vous êtes assis très loin de l'écran. (; Si vous trouvez tout cela trop long à retenir, vous pouvez configurer un alias pour cela:
Ouvrez ~/.bash_aliases
avec un éditeur de texte et ajoutez-lui quelque chose comme ceci:
ls -C --color=always | less -R
(il s'agit d'un script exécuté à chaque démarrage d'un nouveau terminal virtuel, vous devez y configurer tous vos alias permanents)
Vous pouvez maintenant taper lsp
, ou le nom de votre choix.
Si vous souhaitez pouvoir passer d'autres arguments à votre alias, nous devons définir une fonction à la place:
ls | pg
Une fonction ressemblant principalement à ceci: name(){ commands; };
peut accepter des arguments, $1
, $2
, $3
, etc. [email protected]
signifie "chaque argument, le cas échéant" .
Vous pouvez maintenant exécuter quelque chose comme lsp *.py
, lsp -C
, etc. Nous insérons les arguments au moment où ils sont passés à ls. Nous aurions aussi pu insérer $ * pour moins, si c'était la commande importante. Vous pouvez voir tous les arguments de ls à l'adresse man ls
(qui mérite d'être lue).
*: La raison en est que, chaque fois que vous effectuez une opération Tuyau, il détecte un terminal (en réalité l'autre programme) incapable d'afficher les couleurs. "--color = always" force ls à l'ignorer. Le commutateur -R permet moins de repeindre l’écran, respectant correctement les couleurs .
Lire d'autres questions sur les étiquettes command-line ls