Weitere hilfreiche Konsolenbefehle

Hinweis: In dem Thema Weitere hilfreiche Konsolenbefehle gibt es 4 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Du befindest dich in einem langen Verzeichnispfad und wechselst in ein anderes Verzeichnis. Nun musst du aber wieder zurück zum vorherigen Pfad? Das geht ganz einfach mit

    cd -

    Damit kommst du zurück in das letzte Arbeitsverzeichnis. Und mit

    cd ~

    kommst du zurück in dein Home Verzeichnis.


    Jeder verwendet

    ls -l

    um den Inhalt von Verzeichnissen aufzurufen. Das geht aber auch auch viel einfacher mit

    ll


    Wenn man mehrere Befehle hintereinander ausführen muss, kann man folgenden Konsolenbefehl nutzen

    command_1; command_2; command_3

    Sicherer ist aber folgender Befehl

    command_1 && command_2 && command_3

    In diesem Fall wird die Ausführung erst fortgesetzt, wenn der vorherige Befehl fehlerfrei ausgeführt wurde.


    Schon mal von der Rückwärtssuche gehört? Du hast einen langen Befehl ausgeführt und brauchst ihn Stunden später erneut? Kannst dich aber nicht daran erinnern?

    Verwende einfach die Tasten

    Strg+R

    um die Rückwärtssuche zu starten, und gib einen Teil des Befehls ein. Er durchsucht den Verlauf und zeigt die Befehle an, die mit dem Suchbegriff übereinstimmen. Beendet wird die Rückwärtssuche mit

     STRG+C.


    Wenn du deine Dateien immer mit

    STRG+S

    speicherst und dies versehentlich in der Konsole ausführst, friert die ein. Du musst aber nicht schließen und neu starten.

    STRG+Q

    erweckt die Konsole wieder zum Leben.


    Um an den Anfang oder das Ende eines langen Konsolenbefehls zu kommen kann man die Pos1 und Ende Tasten verwenden. Es gibt aber Alternativen. Diese sind

    STRG+A

    sowie

    STRG+E.


    Viele nutzen es kaum oder wissen es einfach nicht. Wenn du im Linux-Terminal

    Strg+U 

    drückst, wird alles von der aktuellen Cursorposition bis zum Zeilenanfang gelöscht.

    Wenn du

    Strg+K

    drückst, wird ebenfalls alles von der Cursorposition bis zum Ende der Zeile gelöscht. Hast du es gewusst?


    Wenn du Protokolle in Echtzeit auslesen musst, kannst du den Befehl

    tail mit der Option -f

    verwenden. Also

    tail -f path_to_Log

    Du kannst auch die regulären grep-Optionen verwenden, um nur die Zeilen anzuzeigen, die für dich von Bedeutung sind mit

    tail -f path_to_log | grep search_term

    Du könntest aber auch die Option F nutzen. Dadurch bleibt der Tail-Prozess auch dann aktiv, wenn die Protokolldatei gelöscht wird. Wenn also die Protokolldatei erneut erstellt wird, fährt tail mit der Protokollierung fort.


    .... wird fortgesetzt

  • Das wichtigste für mich ist:

    Code
    history

    und die bash-completion.


    Denn wenn die bash-completion nicht funktioniert, ist meist vorher schon etwas falsch.

    Für den Inhalt des Beitrages 318686 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Zuerst einmal möchte ich auf oben angesprochenen Terminal-Befehl

    history

    eingehen, der eigentlich weiter nichts macht, als alle schon einmal eingegebenen Terminalbefehle aufzulisten. Diese Liste findet man auch in seinem /home Ordner in der versteckten Datei .bash_history. Ist ein und das selbe. Wenn ich allerdings jede Menge von Terminalbefehlen in der History stehen habe, vieles davon doppelt und dreifach, meine ich, das ich mit oben angeführtem Befehl zur Rückwärtssuche erheblich schneller bin, falls ich noch den ungefähren Befehl im Kopf habe. Falls ich natürlich unter retrograder Amnesie leiden sollte, muss ich eben suchen. Aber wie immer führen viele Wege nach Rom. Der Vollständigkeit halber sei er aber mit erwähnt.


    Um auf die bash-completion einzugehen ... durch Betätigen der Tab-Taste kann man einen im Terminal eingegebenen Befehl komplettieren, ohne den ganzen Befehl kennen zu müssen. So führt das betätigen der Tab-Taste unter dem eingegebenen Befehlsteil up zu upgrade update. Einfach ausprobieren. Gebt einen Teil des Befehls ein und drückt die Tab-Taste. Wenn die bash-completion nicht installiert sein sollte (eher unwahrscheinlich) kann man sie nachinstallieren. Ebenso ist es möglich, dafür eigene Scripte zu schreiben. Wen das interessiert ... unter Google werden sie geholfen. Hier ein Denkanstoß ---> https://opensource.com/article…ng-bash-completion-script


    Doch nun weiter im Text ...


    Stell dir vor, du gibst einen ellenlangen Befehl im Terminal ein und als du auf die Enter-Taste drückst, stellst du fest, das dafür Root-Rechte erforderlich sind. Katastrophe! Nun gibt es mehrere Optionen. Die gängigste ist, den gesamten Befehlszeilen-Krampf zu kopieren, die Konsole mit Root-Rechten zu starten und den Befehl wieder einzufügen. Kann man machen. Geht aber schneller mit

    sudo !!

    Das erspart jede Menge Tipperei. sudo startet hier die erweiterten Rechte und !! ruft den gesamten vorherigen Befehl noch einmal auf. Ich nutze hier bewusst nicht su, weil ich sonst erst die Root-Konsole aufrufen und das dazugehörige Passwort eingeben müsste. Mit sudo bin ich tatsächlich schneller.


    Zum Thema retrograde Amnesie ... da sind ständige Vertipper nicht weit. Wer feststellt, das er sich immer wieder bei bestimmten Wörtern vertippt, kann die Alias-Funktion der Konsole nutzen. Ihr fügt also einfach den Vertipper in der .bashrc mit einer Alias-Funktion ein. Sieht so aus

    alias sufo=sudo

    Auf diese Weise wird der Befehl automatisch korrigiert und du musst ihn nicht erneut eingeben. Interessant, nicht?! Vor allem kann man mit dem Alias-Befehl noch etwas ganz nettes basteln. Man kann nämlich ellenlange Befehle, die man immer wieder verwendet, zu ganz einfachen machen. Wie? Ich baue in der bashrc den alias-Befehl für den langen Befehl zu einem kurzen um. Man muss nur aufpassen, das man ihn nicht nach schon existierenden Befehlen benennt. Das kann vor den Baum gehen! Also Augen auf beim basteln. Hier ein Beispiel dazu ---> https://de.unixlinux.online/tx/1004001396.html


    Wenn eine interaktive Antwort in einem Terminalbefehl nötig ist und ich das schon vorher weiß, kann ich den Terminalbefehl mit der Option

    -y

    versehen. Das ist jetzt zwar etwas für Oberfaule, aber oftmals auch hilfreich. Ein Beispiel

    zypper dup -y

    Klappt nicht immer. Manchmal muss, wie zum Beispiel bei der Aktualisierung eines Nvidia-Treibers, erst noch verschiedenes gelesen und bestätigt werden. Aber in 80% aller Fälle geht das gut. Man kann diese Funktion aber auch noch anders einsetzen. Zum Beispiel so

    yes | command_or_script

    Das ist sicher selbsterklärend.


    Hier einmal noch ein etwas abartiger Befehl, um Dateien zu finden, die einen bestimmten Text enthalten.

    grep -Pri Search_Term path_to_directory

    Man sollte den Befehl find jedoch vorziehen.

  • Code
    history | grep -i irgendwas


    Und ausgeführt wird dann mit

    Code
    !NUMMER

    Ist für mich einfacher und mittlerweile angelernt.


    Aber wie schon gesagt:

    Jedem das seine.

    Für den Inhalt des Beitrages 318724 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Ist für mich einfacher und mittlerweile angelernt.

    Genau das ist der Punkt. Wer sich einmal einen Weg angelernt hat, wird diesen auch nicht mehr verlassen. Auch wenn es umständlicher ist. Der alte deutsche Spruch dazu lautet:

    Das haben wir schon immer so gemacht! 

    ł↓