Réponses:
Il n'y a pas d'équivalent simple en ls
soi, mais il y a l' less
utilitaire, qui formatera la sortie de n'importe quelle 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. Utilisation lah
comme arguments ( ls -lah
) pour obtenir une l ine par affichage de la ligne avec un fichier ll affichés (y compris celles qui sont cachées), et h Uman filesizes lisibles.
Pour que les couleurs apparaissent correctement , vous devez ajouter l' --color=always
argument à ls
, et l' -R
argument sur less *:
ls -C --color=always | less -R
cela montre 'ls -ah --color = always | moins -R '
Contrairement à more
, less
vous permet de faire défiler la sortie. 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 dos plus ancien serait pg
:
ls | pg
Vous pouvez aussi
ls | head
ou ls | tail
pour afficher uniquement la première ou la dernière partie de la sortiewatch "ls"
pour garder l'écran ouvert, mettez-le à jour toutes les quelques secondes pour observer les changementsbanner $(ls)
si vous êtes assis très loin de l'écran. (;Si vous trouvez tout cela trop long à retenir, vous pouvez lui attribuer un alias :
Ouvrez ~/.bash_aliases
avec un éditeur de texte et ajoutez 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.)
Maintenant, vous pouvez simplement taper lsp
, ou le nom de votre choix.
Si vous voulez pouvoir passer d' autres arguments à votre alias, nous devons plutôt définir une fonction :
lsp(){ ls -ah --color=always "$@" | less -R; }
Une fonction, à la recherche principalement comme 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
et ainsi de suite. 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 à man ls
(mérite une lecture).
*: 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 et d’ échapper correctement aux couleurs .
$*
et $@
faire exactement la même chose. Ils s'étendent à $1 $2 $3 ...
. Quoted, cependant, se "$@"
développe en "$1" "$2" "$3" ...
while se "$*"
développe en "$1 $2 $3 ..."
(c'est-à-dire, tous les arguments dans une chaîne, en utilisant le premier caractère de IFS
séparateur). mywiki.wooledge.org/BashGuide/Parameters