
Welche Option entspricht dem ls
Befehl zum Aktivieren der Seitennummerierung, wie er es unter DOS dir /p
tut?
Antwort1
Es gibt kein direktes Äquivalent an ls
sich, aber es gibt dieless
Dienstprogramm, das die Ausgabe jedes Befehls als separate Seiten formatiert, die zeilen- oder seitenweise gescrollt werden können:
ls -C | less
Wobei -C
die Spaltenanzeige ausgelöst wird. Verwenden Sie lah
als Argumente ( ls -lah
), um einemZeilenweise Anzeige mitAalle angezeigten Dateien (auch versteckte) undHfür Menschen lesbare Dateigrößen.
Damit die Farben richtig zur Geltung kommenmüssen Sie das
--color=always
Argument zuls
und das-R
Argument zu less* hinzufügen:ls -C --color=always | less -R
dies zeigt „ls -ah --color=always | less -R“
Im Kontrast zumore
,less
ermöglicht Ihnen, durch die Ausgabe zu scrollen. Bei sehr großen Listen ist es auch etwas schneller.
Die Pipe funktioniert folgendermaßen:
Jedes Programm hat Input und Output, eine Pipe leitet den Output eines Programms (ls) zum Input eines anderen Programms (less) um. Und less erwartet einfach Input, den es dann formatiert.
Ein altmodischeres DOS-Äquivalent wäre
pg
:ls | pg
Du kannst auch
- Verwenden Sie
ls | head
oder ,ls | tail
um nur den ersten oder letzten Teil der Ausgabe anzuzeigen - Verwenden Sie diese Option
watch "ls"
, um die Anzeige geöffnet zu halten und sie alle paar Sekunden zu aktualisieren, um Änderungen anzuzeigen. - Verwenden Sie diese Option
banner $(ls)
, wenn Sie sehr weit vom Bildschirm entfernt sitzen. (;
Wenn Ihnen das alles zu lange dauert, können Sie einealiasdafür:
Öffnen Sie es
~/.bash_aliases
mit einem Texteditor und fügen Sie etwa Folgendes hinzu:alias lsp="ls -ah --color=always | less -R"
(Dies ist ein Skript, das jedes Mal ausgeführt wird, wenn ein neues virtuelles Terminal gestartet wird. Sie sollten alle Ihre permanenten Aliase dort einrichten.)
Jetzt können Sie einfach
lsp
oder einen beliebigen Namen eingeben.Wenn Sie bestehen wollenWeitere Argumentezu Ihrem Alias müssen wir eine Funktion definierenstattdessen:
lsp(){ ls -ah --color=always "$@" | less -R; }
Eine Funktion, die im Prinzip so aussieht:
name(){ commands; };
kann Argumente annehmen,$1
,$2
,$3
usw.$@
bedeutet„jedes Argument, wenn überhaupt“.Sie können nun etwas wie
lsp *.py
,lsp -C
, usw. ausführen. Wir fügen die Argumente an der Stelle ein, an der sie an ls übergeben werden. Wir hätten auch $* für less einfügen können, wenn es der wichtige Befehl wäre. Sie können alle Argumente von ls unter sehenman ls
(lesenswert).
*: Der Grund dafür ist, dass jedes Mal, wenn Sie etwas weiterleiten, ein Terminal (eigentlich das andere Programm) erkannt wird, das keine Farben anzeigen kann. „--color=always“ zwingt ls, dies zu ignorieren. Der Schalter -R sorgt dafür, dass der Bildschirm weniger neu gezeichnet wird.den Farben entfliehenrichtig.
Antwort2
Ich bin nicht sicher, ob es einen ls-Befehl für die Paginierung gibt. Sie können jedoch ein Pipe-Zeichen und verwenden less
, wie folgt:
ls | less
Und verwenden Sie q zum Beenden.
Antwort3
Versuchen Sie es ls | less
mit oder ls | more
. Die zweite Version ähnelt der DOS-Version.
Antwort4
Die Paginierung kann mit dem folgenden Befehl erfolgen.
$ ls
Der obige Befehl druckt den Text in einem scrollbaren Format aus.
$ ls | pager
Der obige Befehl druckt den Ausdruck in einem paginierten Format aus.
Einige zusätzliche Hinweise: -
- Verwenden Sie die Leertaste, um zur nächsten Seite zu gelangen.
- Mit q verlassen Sie die Seitennummerierung.