Linux lernen

History-Befehl in Linux mit Beispielen

History-Befehl in Linux mit Beispielen

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

Daher können wir den History-Befehl bequem unter der Linux-Domäne definieren, um eine Vorschau zuvor ausgeführter Befehle zu erhalten. 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 zugewiesen. Daher haben wir Befehle mit IDs als Ereignisnummern, die nach ihrer Terminalausführung in einer Verlaufsdatei gespeichert sind.

Die Bedeutung der Ereignis-IDs wird offensichtlich, wenn Sie möglicherweise später einen bestimmten Befehl, den Sie ausgeführt haben, erneut aufrufen müssen. Vielleicht möchten Sie auch einen zuvor ausgeführten Befehl ändern. Daher können wir das einführende Verständnis des History-Befehls abschließen, um alle zuvor ausgeführten Befehle oder nur einen bestimmten Befehl auf dem Terminal anzuzeigen. Außerdem sollten wir nicht die praktikable Option vergessen, den aufgeführten Befehl zu ändern.

Die Geschichte sich wiederholen lassen

Wir können diesen historischen Artikel auf unterhaltsame Weise beginnen und indem wir 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 das Linux-Universum betreten, gilt dieses Zitat nur als Mythos. Dies liegt daran, dass die Linux-Philosophie realistischerweise das Gegenteil des angegebenen Zitats von George Santayana ist. Wenn Sie sich auf dem Linux-Terminal nicht an eine vergangene Aktion erinnern können, müssen Sie sich keine Sorgen machen, denn die Chancen stehen dagegen, dass sie sich jemals auflösen.

Es sei denn, Sie werden natürlich ein Meister des Linux-Geschichtsbefehls, dann können Sie in die Vergangenheit reisen und Ihre früheren Terminalsünden korrigieren, wenn dies Ihr Wunsch ist. Die Verwendung des Linux-Befehls history ist in keiner Weise mit Faulheit verbunden. Es spart Zeit durch Effizienz. Wenn Sie Ihren Weg in die Beherrschung des Linux-Betriebssystems fortschreiten, 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 beginnen schreckliche Fehler zu machen. Die Arbeit am Linux-Terminal setzt eine Person zwei Arten von Fehlern aus:

Sie können sich den History-Befehl als den Ninja-Krieger vorstellen, der diese beiden Arten von Fehlern beseitigt, um Ihre Produktivität zu steigern. Ein Wort zum Nachdenken, bevor wir mit dem Tutorial beginnen: Der Linux-Befehlsverlauf bietet mehr als nur die Aufwärtspfeiltaste Ihrer Tastatur. Unser Ansatz lässt Sie professioneller aussehen.

Geben Sie den History-Befehl von Linux ein

Das Initiieren des Verlaufsbefehls ist so einfach wie das Eingeben des Wortes Verlauf auf Ihrem Linux-Terminal. Starten Sie also Ihr Terminal und bestehen Sie dieses einfache Rechtschreib-Quiz.

Geschichte

Verlaufsbefehl

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 an. Wie Sie sehen, wurde dem gerade eingegebenen Verlaufsbefehl die ID-Nummer 24 zugewiesen.

Verlaufsbefehlsliste

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

Geschichte 10

letzten zehn Befehle in der Verlaufsdatei

Wie Sie sehen, hat der Befehl 'Geschichte 10' die letzten zehn auf diesem Terminal verwendeten Befehle gefiltert und auf unserem Terminal aufgelistet, einschließlich des Befehls 'Geschichte 10'.

Das ist eine Möglichkeit, dieses Ziel zu erreichen. Eine andere nerdige Art, dies zu tun, besteht darin, den Verlaufsbefehl mit einem anderen Befehl namens tail-Befehl auszuleiten. Geben Sie den folgenden Befehl ein, wie im Screenshot unten wiedergegeben.

Geschichte | Schwanz -n 10

Verwenden des Befehls tail, um die letzten zehn Befehle in der Verlaufsdatei anzuzeigen

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

Tatsächlich wiederholende Geschichte

Es ist Zeit für den lustigen Teil der Verwendung des History-Befehls. Wie wäre es, wenn wir damit beginnen, die Geschichte tatsächlich 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 aufgeführten Befehl zu wiederholen, notieren Sie sich seine Ereignis-ID und spielen Sie den folgenden Befehl nach, wie auf dem Screenshot dargestellt. Verwenden Sie bei der Eingabe des Befehls keine Leerzeichen.

!17

Verwenden der Ereignis-ID, um einen vorherigen Befehl auszuführen

In meinem Fall wollte ich die Linux-Datei /etc/host anzeigen und wurde nach einem Authentifizierungspasswort gefragt. Sobald meine Zugangsdaten genehmigt wurden, wurde der Befehl von selbst ausgeführt.

ausgeführter Befehl in der Verlaufsdatei

Es gibt auch einen Fall, in dem Sie den zuvor ausgeführten Befehl wiederholen möchten. Um dieses Ziel zu erreichen, müssen Sie einfach zwei Ausrufezeichen auf Ihrem Terminal eingeben. Keine Leerzeichen verwenden.

!!

Vorherigen Befehl erneut ausführen

erneut ausgeführter Verlaufsbefehl

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 Ausrufsbefehls, um meinen vorherigen Befehl wiederzuverwenden, der von selbst ausgeführt wurde. Vielleicht sind Sie an die Aufwärtspfeiltaste der Tastatur gewöhnt, bei der Sie zwei Aktionen ausführen, einmal nach oben scrollen und dann die Eingabetaste drücken müssen. Der Befehl für das doppelte 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 !!

Umgang mit dem Sudo-Verlaufsbefehl

Ein einzelnes Ausrufezeichen 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 Sudo voranzustellen, wenn dies von einem sudoer-Benutzer ausgeführt werden muss.

Vielleicht möchten Sie auch Ihre Nerdität auf die nächste Stufe heben und eine Möglichkeit suchen, Ihre 3 zu wiederholenrd oder 6das vorheriger Befehl. In diesem Fall müssen Sie sich die dem Befehl zugeordnete Ereignis-ID notieren. Sie kombinieren dann die Ereignis-ID mit einem Bindestrich und einem einzelnen Ausrufezeichen wie folgt.

!-21

Ausführen eines beliebigen vorherigen Befehls in der Verlaufsdatei

Ich wollte meinerseits nach meinem 21 fragenst vorheriger Befehl, 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 Parameter, die Sie zur Ausführung verwendet haben, noch gültig oder nicht verzerrt sind.

Befehlszeichenfolgen

Nehmen wir an, Sie haben einen Befehl auf Ihrem Terminal ausgeführt, aber Sie haben den Befehl nicht vollständig auswendig gelernt. 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, die diesen Befehl bildet. In meinem Fall bin ich mir sehr sicher, dass ich einmal einen Befehl zum Aktualisieren meines Systems ausführen werde. 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 die meisten Systemaktualisierungsbefehle jedoch die Autorisierung eines Sudoer-Benutzers erfordern, werde ich die Befehlszeichenfolge voranstellen, die ich mit Sudo verwenden möchte.

sudo !geeignet

History-Befehl mit Strings

Wie Sie sehen, 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-Befehlshandbuch ist nützlich, wenn Sie mit längeren Befehlen arbeiten, die mühsam zu tippen sind oder zu einem nervigen Tippfehler führen können. Möglicherweise bearbeiten Sie eine Datei, deren relativer Pfad zu einem langen Befehl führt, oder kopieren nur Dateien. In jedem Fall brauchen 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. Geben Sie daher einen String-Befehl wie '!sudo' für die Befehle, die mit Sudo beginnen, reicht möglicherweise nicht aus, da dies zur Ausführung einer unerwünschten Befehlssequenz führen könnte. Wir können jedoch ein Sicherheitsnetz bereitstellen, indem wir den Parameter :p verwenden, der ein Druckmodifikator ist. Daher sollte die Kombination unseres String-Befehls damit Ausgaben wie die folgenden ergeben:.

!sudo:p

Verlaufsbefehl mit dem Druckmodifikator

Der Befehl hat die verfügbaren Sudo-Befehle gedruckt, 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 enthielt, würde ich immer noch die Pfeiltaste nach oben verwenden, um zu dem spezifischen Sudo-Befehl zu navigieren, den ich wiederverwenden wollte.

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

!?Klingeln

Ausführen eines bestimmten Befehls aus der Verlaufsdatei durch Zeichenfolgen

Ich habe die '!?ping'-Befehlssequenz, die meine vorherige Ping-Anfrage sofort ausführte. Sie können diese Sequenz verwenden, um vorherige Befehle auf Ihrem Terminal auszuführen, die für andere einzigartig sind.

Interaktive Suche

Nehmen wir an, Sie haben mehrere frühere Befehle ausgeführt, die ähnliche oder übereinstimmende Zeichenfolgensequenzen haben. Von all diesen passenden Cues möchten Sie vielleicht nur eine bestimmte Befehlssequenz in dieser Falte ausführen. Über eine interaktive Suche gelangen Sie zu diesem einen Befehl, den Sie ausführen möchten. Um die interaktive Suche zu starten, kombinieren Sie die Tasten Strg+r. Die Anzeige Ihres Linux-Terminals sollte der folgenden ähnlich sein.

Verlaufsbefehl und interaktive Suche

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 weitere Zeichenfolgenhinweise 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

mit interaktiver Suche

Darüber hinaus möchten Sie möglicherweise den gefundenen Befehl bearbeiten, bevor Sie ihn ausführen. Verwenden Sie dazu die linken und rechten Tastaturpfeile. Der gefundene Befehl wird nun auf dem Terminal angezeigt, wo Sie die erforderlichen Änderungen vornehmen können.

sudo apt update && cd FOSSLinux

Bearbeiten einer interaktiven Suche

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 ihrer Befehle zu leeren empty. Vielleicht sind Sie der 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 loszuwerden. In meinem Fall enthält meine Verlaufsdatei einen falsch geschriebenen Befehl mit einer Ereignis-ID-Nummer 44.

Verlaufsbefehl zum Löschen finden

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

Geschichte -d 44

Verwenden der Ereignis-ID zum Löschen des Verlaufsbefehls

Das erneute Ausführen des Befehls 'history' zeigt, dass der falsch geschriebene Befehl gelöscht wurde.

Bestätigung des Löschens des Verlaufsbefehls

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 entfernt die letzten sechs Befehle, die Sie auf dem Terminal eingegeben haben, die in der Verlaufsdatei gespeichert sind stored.

Wenn Sie alles aus der Liste der Verlaufsdateien löschen möchten, können Sie den folgenden Befehl nachahmen.

Geschichte -c

alle Verlaufsbefehle löschen

Fazit

Sie haben jetzt alle notwendigen Informationen, um zu entscheiden, ob sich Ihre Terminalhistorie wiederholen soll oder nicht not. 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, die Verlaufsdatei immer zu löschen, bevor Sie die Befehlszeile verlassen, insbesondere in Fällen, in denen sensible Daten gespeichert werden. Der Befehl history gibt Ihnen die Möglichkeit, die guten Zeiten am Terminal noch einmal zu erleben und auch Ihre vergangenen Befehlszeilenfehler zu beheben.

So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...
Top Oculus App Lab-Spiele
Wenn Sie Besitzer eines Oculus-Headsets sind, müssen Sie über Sideloading informiert sein. Sideloading ist der Prozess der Installation von Inhalten, ...
Top 10 Spiele zum Spielen auf Ubuntu
Die Windows-Plattform war eine der dominierenden Plattformen für Spiele aufgrund des großen Prozentsatzes von Spielen, die heute entwickelt werden, um...