Für Befehle, die ich häufig verwende, richte ich im Allgemeinen einen function
ein in meiner .bashrc um sie paginieren zu lassen, wenn sie länger als ein Bildschirm sind.
Wie Ihr Beispiel:(ps -A)
function ps { command ps "[email protected]" |& less -F; }
Dies ersetzt ps
mit einer Funktion namens ps
, die den ursprünglichen ps
aufruft Befehl mit den in der Befehlszeile angegebenen Argumenten und leitet dann die Ausgabe weiter (stdout und stderr mit |&
Pipe) in less -F
, die pausiert, wenn mehr als ein Bildschirm voll ist, aber sofort beendet wird, wenn weniger als ein Bildschirm voll ist.
SEHR praktisch, stört nichts, womit ich bisher gearbeitet habe, und ist einfach cool!
Sie können den Befehlen/Funktionen sogar häufig verwendete Optionen hinzufügen:
function nm { command nm --demangle "[email protected]" |& less -F; }
Das macht nm
C++-Symbole immer demanglen. UND paginiert die Ausgabe. Juhu!
Ich verwende Debian , also verwende ich den apt-cache
Befehl ziemlich oft, Suche und zeigen meist. Diese Funktion bewirkt, dass diese bestimmten Optionen paginieren, suchen Die Ausgabe ist sortiert und alles paginiert:
function apt-cache { case "$1" in "search") command apt-cache "[email protected]" | sort | less -F;; *) command apt-cache "[email protected]" | less -F;; esac; }
Wenn der Befehl „search“ lautet, sortieren Sie die Ausgabe und paginieren Sie dann mit less -F
, aber wenn Befehl etwas anderes ist, einfach paginieren, ohne zu sortieren.
Gelegentlich vergesse ich, dass ich die Funktionen habe, und mache so etwas wie:
apt-cache search gcc | less
Die Funktion stört nicht, alles funktioniert wie erwartet, schadet so oder so nicht.
Eine weitere kleine Änderung, ich verwende dasselbe .bashrc
auf allen meinen Systemen, daher ist manchmal ein Dienstprogramm möglicherweise nicht installiert, sodass die Funktion nicht benötigt wird. Ich mache sie wie folgt bedingt:
which apt-cache &>/dev/null && function apt-cache { case "$1" in "search") command apt-cache "[email protected]" |& sort | less -F;; *) command apt-cache "[email protected]" |& less -F;; esac; }
Dies verwendet nur den which
Befehl, um festzustellen, ob ein Programm verfügbar ist, schlägt es stillschweigend fehl und überspringt die Installation der Funktion. Taa Daa!
Die normale Methode besteht darin, die Ausgabe an "less" weiterzuleiten.
ls -R / | less
q ist der Schlüssel zum Beenden, genau wie eine Manpage.
Wenn der Befehl möglicherweise Fehler oder andere Ausgaben an stderr erzeugt, möchten Sie diese möglicherweise auch an die Pipe leiten.
ls -R 2>&1 | less
Jede Maschine, die Bash hat, sollte auch weniger haben. Auf alten Linux-Rechnern war das Programm more , aber das macht jeweils nur eine Seite, weniger können Sie nach Belieben scrollen.