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:
ls -C | less
Où -C
déclenche l'affichage de la colonne. Utilisez lah
comme arguments (ls -lah
) pour obtenir un laffichage par ligne avec unetous les fichiers affichés (y compris ceux qui sont cachés), et htaille de fichier lisible par l'utilisateur.
Pour que les couleurs s'affichent correctement , vous devez ajouter l'argument --color=always
à ls
et l'argument -R
sur less *:
ls -C --color=always | less -R
ceci montre '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 plus ancien de l'école serait pg
:
ls | pg
Vous pouvez également
ls | head
ou ls | tail
pour afficher uniquement la première ou la dernière partie de la sortie.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 :
Ouvrez ~/.bash_aliases
avec un éditeur de texte et ajoutez-y quelque chose comme ceci:
alias lsp="ls -ah --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 voulez pouvoir passer d'autres arguments à votre alias, nous devons définir une fonction à la place:
lsp(){ ls -ah --color=always "$@" | less -R; }
Une fonction, ressemblant principalement à ceci: name(){ commands; };
peut accepter des arguments, $1
, $2
, $3
et ainsi de suite. $@
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, s'il s'agissait de la commande importante. Vous pouvez voir tous les arguments de ls en man ls
(qui vaut la peine d'être lu).
*: La raison en est que chaque fois que vous effectuez une Pipe, 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 de moins repeindre l'écran, en échappant les couleurs correctement.
Je ne sais pas s'il existe une commande ls pour la pagination. Cependant, vous pouvez utiliser un tube et less
, comme ceci:
ls | less
Et utilisez q pour sortir.
Essayez ls | less
ou ls | more
. Le second est proche de la version DOS.