GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verlaufsbefehl in Linux mit Beispielen

Der History-Befehl in Linux ist kein komplizierter Jargon. Es ist genau das, was Sie denken, und es gibt keine versteckte Bedeutung dahinter. So wie Sie nach einem langen Tag im Internet Ihren Browserverlauf betrachten, nehmen Sie den Verlaufsbefehl wahr. Es dreht sich alles darum, Ihre vorherigen Bewegungen und Aktionen zu verfolgen, aber in diesem Fall auf einem Linux-Terminal oder einer Befehlszeile.

Daher können wir den Verlaufsbefehl bequem unter der Linux-Domäne definieren, um eine Vorschau zuvor ausgeführter Befehle anzuzeigen. In diesem Fall können wir das Terminal als Browser betrachten, in dem Sie verschiedene Befehle in einem kontinuierlichen Zeitrahmen ausführen. Diese ausgeführten Befehle werden einzeln als Ereignisse interpretiert. Jedem Ereignis wird dann eine Ereignisnummer zugeordnet. Daher haben wir Befehle mit IDs als Ereignisnummern, die nach ihrer Terminalausführung in einer Verlaufsdatei gespeichert werden.

Die Bedeutung der Ereignis-IDs wird offensichtlich, wenn Sie sich später möglicherweise an einen bestimmten Befehl erinnern müssen, den Sie ausgeführt haben. Außerdem möchten Sie möglicherweise einen zuvor ausgeführten Befehl ändern. Daher können wir das einführende Verständnis des Verlaufsbefehls abschließen, um alle zuvor ausgeführten Befehle oder nur einen bestimmten Befehl auf dem Terminal anzuzeigen. Außerdem sollten wir die Möglichkeit nicht vergessen, den aufgelisteten Befehl zu ändern.

Die Geschichte sich wiederholen lassen

Wir können diesen historischen Artikel auf unterhaltsame Weise beginnen und George Santayana zitieren. Diese berühmte Person verbindet die Unfähigkeit, sich an die Vergangenheit zu erinnern, mit dem Fluch, sie zu wiederholen. Wenn wir jedoch in das Linux-Universum eintreten, gilt dieses Zitat nur als Mythos. Dies liegt daran, dass die Linux-Philosophie realistischerweise das Gegenteil von George Santayanas Zitat ist. Wenn Sie sich auf dem Linux-Terminal nicht an eine vergangene Aktion erinnern können, brauchen Sie sich darüber keine Sorgen zu machen, da die Chancen stehen, dass sie sich jemals auflöst.

Wenn Sie natürlich kein Meister des Linux-Geschichtsbefehls werden, können Sie in die Vergangenheit reisen und Ihre früheren Endsünden korrigieren, wenn Sie dies wünschen. Die Verwendung des Linux-History-Befehls ist keineswegs mit Faulheit verbunden. Es spart Zeit durch Effizienz. Auf Ihrem Weg zur Beherrschung des Linux-Betriebssystems werden Sie feststellen, dass Sie mit längeren und komplizierteren Befehlen arbeiten. Selbst wenn Sie Ihren IQ mit dem von Albert Einstein vergleichen, werden Sie nicht die Zeit haben, sich an alle Befehle zu erinnern, die Sie ausführen, und bald anfangen, schreckliche Fehler zu machen. Die Arbeit am Linux-Terminal setzt eine Person zwei Arten von Fehlern aus:

    • Fehler eins:Dieser Fehler ist der häufigste und verhindert lediglich, dass Sie mit dem Befehl fortfahren, den Sie ausführen möchten.
    • Fehler zwei:Dieser Fehler ist ein Trickster. Es führt den von Ihnen initiierten Befehl aus, erzeugt jedoch unerwartete Ergebnisse.

Sie können sich den Verlaufsbefehl als den Ninja-Krieger vorstellen, der diese beiden Arten von Fehlern ausmerzt, um Ihre Produktivität zu steigern. Ein Wort zum Nachdenken, bevor wir mit dem Tutorial beginnen, der Linux-Verlaufsbefehl beinhaltet mehr als nur die Verwendung der Pfeiltaste nach oben auf Ihrer Tastatur. Unser Ansatz lässt Sie professioneller aussehen.

Geben Sie den History-Befehl von Linux ein

Das Starten des History-Befehls ist so einfach wie das Eingeben des Wortes history auf Ihrem Linux-Terminal. Starten Sie also Ihr Terminal und bestehen Sie dieses einfache Rechtschreibquiz.

Wenn Sie die Eingabetaste drücken, erhalten Sie eine Liste aller Befehle, die Sie auf dem Terminal ausgeführt haben, mit ihren zugewiesenen IDs oder Ereignisnummern. Das Nummerierungssystem, das die Linux-Terminalschnittstelle verwendet, zeigt den ältesten Befehl am Anfang der Liste und den neu eingegebenen Befehl am Ende der Liste. Wie Sie sehen können, wurde dem Verlaufsbefehl, den ich gerade eingegeben habe, die ID-Nummer 24 zugewiesen.

Stellen Sie sich das Szenario eines sehr aktiven Linux-Terminals vor. Wenn wir den Verlaufsbefehl auf diesem Terminal eingeben würden, wäre die Ausgabe beispielsweise eine Liste von 500 Befehlen, die in der Verlaufsdatei gespeichert sind. Der Verlaufsbefehl ist also nützlich, um ein bestimmtes gruppiertes Segment von Befehlen zu filtern. Angenommen, wir möchten die letzten 10 Befehle anzeigen, die auf dem Terminal ausgeführt wurden. Wir filtern uns durch das Terminal, indem wir Folgendes eingeben.

Wie Sie sehen können, hat der Befehl „history 10“ die letzten zehn Befehle gefiltert, die auf diesem Terminal verwendet wurden, und sie auf unserem Terminal aufgelistet, einschließlich des Befehls „history 10“.

Das ist eine Möglichkeit, dieses Ziel zu erreichen. Ein anderer nerdiger Weg, dies zu tun, besteht darin, den History-Befehl mit einem anderen Befehl namens tail-Befehl weiterzuleiten. Geben Sie den folgenden Befehl ein, wie im Screenshot unten angezeigt.

Der Befehl listet auch die letzten 10 ausgeführten Befehle auf dem Linux-Terminal auf, einschließlich des gerade ausgeführten.

Eigentlich wiederholende Geschichte

Es ist Zeit für den lustigen Teil der Verwendung des Verlaufsbefehls. Wie wäre es, wenn wir damit beginnen, die Geschichte tatsächlich sich wiederholen zu lassen? Da Sie mit den Verlaufsbefehlen und den zugehörigen Ereignis-IDs vertraut sind, kehren wir zum Terminal zurück. Um einen speziell aufgelisteten Befehl zu wiederholen, notieren Sie sich seine Ereignis-ID und simulieren Sie den folgenden Befehl, wie auf dem Screenshot dargestellt. Verwenden Sie keine Leerzeichen, wenn Sie den Befehl eingeben.

!17

In meinem Fall wollte ich die Linux-Datei /etc/host anzeigen und wurde zur Eingabe eines Authentifizierungskennworts aufgefordert. Sobald meine Zugangsdaten genehmigt wurden, hat sich der Befehl selbst ausgeführt.

Es gibt auch einen Fall, in dem Sie den zuvor ausgeführten Befehl wiederholen möchten. Das Erreichen dieses Ziels ist so einfach wie das Tippen von zwei Ausrufezeichen auf Ihrem Terminal. Verwenden Sie keine Leerzeichen.

!!

Wie Sie sehen können, führte uns der Befehl zurück zu der Linux-Datei /etc/host, die ich zuvor geöffnet hatte. Es bedurfte des doppelten Ausrufezeichens, um meinen vorherigen Befehl wiederzuverwenden, der von selbst ausgeführt wurde. Vielleicht waren Sie an die Aufwärtspfeiltaste auf der Tastatur gewöhnt, bei der Sie zwei Aktionen ausführen, einmal nach oben scrollen und dann die Eingabetaste drücken mussten. Der Befehl mit dem doppelten Ausrufezeichen sieht jedoch schneller und professioneller aus, da Sie nur eine einzige Aktion ausführen müssen.

Da der von mir verwendete Befehl Sudo-Berechtigungen erfordert, kann ich meinen doppelten Ausrufezeichen einen Sudo-Befehl voranstellen, um das gleiche erwartete Ergebnis zu erzielen.

sudo !!

Eine einzelne Ausrufenummer in Kombination mit einer Ereignis-ID führt den angezeigten Befehl aus, der mit dieser ID verknüpft ist. Ein doppeltes Ausrufezeichen bringt Sie dazu, Ihren zuletzt verwendeten Befehl auszuführen, mit der Option, dem Befehl das Präfix Sudo voranzustellen, wenn ein Sudoer-Benutzer zur Ausführung erforderlich ist.

Vielleicht möchten Sie auch Ihre Nerdigkeit auf die nächste Stufe heben und eine Möglichkeit suchen, Ihren 3 oder 6 vorherigen Befehl zu wiederholen. In diesem Fall müssen Sie sich die mit dem Befehl verknüpfte Ereignis-ID notieren. Anschließend kombinieren Sie die Ereignis-ID wie folgt mit einem Bindestrich und einem einzelnen Ausrufezeichen.

!-21

Auf meiner Seite wollte ich nach meinem 21. vorherigen Befehl fragen, und es stellte sich heraus, dass es sich um eine Ping-Anfrage für meine Localhost-IP-Adresse handelte. Die Verwendung dieser Befehlssequenz ist nützlich, wenn Sie einen zuvor ausgeführten Befehl gegenprüfen und feststellen möchten, ob die von Ihnen verwendeten Parameter noch gültig oder nicht voreingenommen sind.

Befehlsfolgen

Nehmen wir an, Sie haben einen Befehl auf Ihrem Terminal ausgeführt, aber Sie haben sich den Befehl nicht vollständig eingeprägt. Sie sind sich jedoch der Wirksamkeit des Befehls sicher und wie er Ihnen geholfen hat. Es ist sehr nützlich, einen Teil der Zeichenfolge zu kennen, aus der dieser Befehl besteht. In meinem Fall bin ich mir sehr sicher, dass ich einmal einen Befehl zur Aktualisierung meines Systems ausführe. Nehmen wir an, ich muss mir diesen Systemaktualisierungsbefehl noch vollständig merken, aber ich weiß, dass ein Teil des Befehls die Zeichenfolge „apt“ als Anfangswortlaut des Befehls enthält. Um diesen Befehl erneut zu verwenden, gebe ich den folgenden Befehl auf meinem Terminal ein. Da jedoch die meisten Systemaktualisierungsbefehle die Autorisierung eines Sudoer-Benutzers erfordern, werde ich der Befehlszeichenfolge, die ich verwenden möchte, Sudo voranstellen.

sudo !apt

Wie Sie sehen können, habe ich mein Linux-System erfolgreich über die Befehlszeile aktualisiert, ohne den vollständigen Befehl „sudo apt update“ zu verwenden. Dieser Hack aus dem Linux History Command Manual ist nützlich, wenn Sie mit längeren Befehlen umgehen, deren Eingabe möglicherweise mühsam ist oder zu einem nörgelnden Tippfehler führen kann. Möglicherweise bearbeiten Sie eine Datei, deren relativer Pfad einen langen Befehl erzeugt, oder kopieren nur Dateien. In jedem Fall benötigen Sie einen stressfreien Ansatz, um Ihre sich wiederholenden Befehle zu recyceln.

Da wir den Autorisierungsaspekt der sudoer-Benutzer angesprochen haben, könnten wir am Ende gegen eine Wand stoßen, wenn wir nicht aufpassen. Die meisten Befehle von sudoer-privilegierten Benutzern erfordern das Präfix Sudo, um ausgeführt zu werden. Daher reicht die Eingabe eines Zeichenfolgenbefehls wie „!sudo“ für die Befehle, die mit Sudo beginnen, möglicherweise nicht aus, da dies zur Ausführung einer unerwünschten Befehlssequenz führen kann. Wir können jedoch durch die Verwendung des Parameters :p, der ein Druckmodifikator ist, ein Sicherheitsnetz bereitstellen. Daher sollte die Kombination unseres String-Befehls damit Ausgaben wie die folgende ergeben.

!sudo:p

Der Befehl druckte die verfügbaren Sudo-Befehle, die ich gerade verwendet habe. Um diesen Befehl wiederzuverwenden, verwende ich die Aufwärtspfeiltaste der Tastatur und drücke die Eingabetaste, um ihn auszuführen. Wenn die Liste mehr als einen Sudo-Befehl anzeigte, würde ich immer noch die Aufwärtspfeiltaste verwenden, um zu dem spezifischen Sudo-Befehl zu navigieren, den ich wiederverwenden wollte.

Dies sind nicht alle Optionen, die wir im Umgang mit Zeichenfolgen haben. Es gibt auch Fälle, in denen Sie nur eine bestimmte Zeichenfolge kennen, die in dem Befehl definiert ist, den Sie verwenden möchten. In diesem Fall sind Sie sich der ersten Zeichenfolgen nicht sicher, die den zuvor verwendeten Befehl definieren. Hier verwenden Sie sowohl das Ausrufezeichen als auch das Fragezeichen, um Ihren Befehl zu finden.

!?ping

Ich habe die Befehlssequenz „!?ping“ verwendet, die meine vorherige Ping-Anfrage sofort ausgeführt hat. Sie können diese Sequenz verwenden, um frühere Befehle auf Ihrem Terminal auszuführen, die für andere eindeutig sind.

Interaktive Suche

Nehmen wir an, Sie haben mehrere frühere Befehle ausgeführt, die ähnliche oder übereinstimmende Zeichenfolgensequenzen haben. Von all diesen übereinstimmenden Hinweisen möchten Sie möglicherweise nur eine bestimmte Befehlssequenz in dieser Falte ausführen. Eine interaktive Suche lässt Sie zu diesem einen Befehl gelangen, den Sie ausführen möchten. Um die interaktive Suche zu starten, kombinieren Sie die Tasten Strg+r. Die Anzeige Ihres Linux-Terminals sollte ähnlich wie unten aussehen.

Geben Sie einfach den Suchhinweis für den Befehl ein, den Sie ausführen müssen. In meinem Fall habe ich „apt“ eingegeben, und wie Sie sehen können, erschien es zwischen dem Apostroph und dem Backtick. Sie können als weitere Zeichenfolge Hinweise zum abgefragten Befehl eingeben, und die interaktive Suche aktualisiert die zugehörigen Ergebnisse kontinuierlich. Durch Drücken der Eingabetaste wird der gefundene Befehl sofort ausgeführt.

sudo-apt-Update

Außerdem möchten Sie vielleicht den gefundenen Befehl bearbeiten, bevor Sie ihn ausführen. Verwenden Sie dazu die linken und rechten Pfeiltasten auf der Tastatur. Der gefundene Befehl wird nun auf dem Terminal angezeigt, wo Sie die erforderlichen Änderungen vornehmen können.

sudo apt update &&cd FOSSLinux

Verlaufsbefehle löschen

Bisher können Sie jetzt Befehle aus der Verlaufsdatei abrufen, abfragen, aktualisieren und ausführen. Möglicherweise suchen Sie jedoch nach einer Möglichkeit, die Verlaufsliste einiger oder aller Befehle zu leeren. Vielleicht sind Sie ein Benutzertyp, der nicht möchte, dass jemand nachverfolgt, wie er sein Linux-System verwendet hat. Der Parameter -d hilft Ihnen, einige unerwünschte Befehle in der Verlaufsdatei zu entfernen. In meinem Fall enthält meine Verlaufsdatei einen falsch geschriebenen Befehl mit der Ereignis-ID-Nummer 44.

Um diesen falsch geschriebenen Befehl loszuwerden, werde ich auf meinem Terminal Folgendes tun.

Geschichte -d 44

Wenn Sie den Befehl „Verlauf“ erneut ausführen, wird angezeigt, dass der falsch geschriebene Befehl gelöscht wurde.

Die Löschoption gilt nicht nur für einen einzelnen Befehl, sondern umfasst auch eine Reihe von Befehlen. Betrachten Sie zum Beispiel den folgenden Befehl.

Geschichte -d 10 20

Dieser Befehl löscht die Einträge der Verlaufsdatei von Ereignis-ID 10 bis Ereignis-ID 20. Ein weiterer zu berücksichtigender Verlaufsbefehl ist der folgende.

Geschichte -d -6

Dieser Befehl löscht die letzten sechs Befehle, die Sie auf dem Terminal eingegeben haben, die in der Verlaufsdatei gespeichert sind.

Wenn Sie alles aus der Verlaufsdateiliste löschen möchten, können Sie den folgenden Befehl simulieren.

Geschichte -c

Schlussfolgerung

Sie haben jetzt alle notwendigen Informationen, um zu entscheiden, ob sich Ihr Terminalverlauf wiederholen soll oder nicht. Für fortgeschrittene Benutzer gibt es Fälle, in denen Sie eine App über das Terminal ausführen und möglicherweise aufgefordert werden, eine Spur vertraulicher Informationen zu hinterlassen. Die Verlaufsdatei speichert auch solche sensiblen Daten. Daher empfiehlt es sich, Ihre Verlaufsdatei immer zu löschen, bevor Sie die Befehlszeile verlassen, insbesondere in Fällen, in denen sensible Daten gespeichert werden. Der Verlaufsbefehl gibt Ihnen die Möglichkeit, die guten Zeiten am Terminal noch einmal zu erleben und auch Ihre vergangenen Befehlszeilenfehler zu beheben.


Linux
  1. wc Linux-Befehl mit Beispielen

  2. Linux-Sortierungsbefehl mit Beispielen

  3. Linux Tee-Befehl mit Beispielen

  4. Linux-Kopfbefehl mit Beispielen

  5. JQ-Befehl in Linux mit Beispielen

Linux-CD-Befehl mit Beispielen

Linux-Uhrbefehl mit Beispielen

Wartebefehl in Linux mit Beispielen

Linux-Exportbefehl mit Beispielen

Linux-IP-Befehl mit Beispielen

Verlaufsbefehl mit Beispielen