Letzte Woche haben wir unsere Linux-Hands-On-Reihe gestartet, um eine strukturierte Reihe zu erstellen, die den Leser darüber informiert und aufklärt, was Linux ist, wie es funktioniert und gleichzeitig dafür sorgt, dass sie sich die Hände schmutzig machen, indem sie Terminalbefehle ausprobieren.
Wie im ersten Teil der Serie erwähnt, wird die gesamte Serie jede Woche eine logische Weiterentwicklung sein. Das bedeutet, dass dieser Teil nur dann Sinn macht, wenn Sie entweder den ersten Teil durchgegangen sind und alle Befehle ausprobiert haben oder wenn Sie das Grundwissen über Linux und kann sich damit zurechtfinden. Wenn Sie mit diesen Konzepten nicht vertraut sind, stellen Sie sicher, dass Sie Lies den ersten Teil, und dann kannst du direkt einsteigen.
Im Beitrag dieser Woche bauen wir auf dem auf, was wir im vorherigen Beitrag behandelt haben, und sagen Ihnen, wie Sie einige kompliziertere Dinge tun können. Wenn Sie Fragen zum Bearbeiten von Dateien unter Linux hatten? Wie man einen Prozess in Linux usw. anzeigt, wird dieser Beitrag diese beantworten. Kommen wir also ohne weitere Zeitverschwendung direkt zu den Befehlen.
Wir werden die Befehle in Abschnitte unterteilen, damit es sinnvoll ist, sie einzeln durchzugehen.
Was wirst du lernen
- Dateiverarbeitung
- Musterabgleich
- Prozess: Ansehen und Töten
- Bearbeiten von Textdateien
Nun gut, da wir nun eine grundlegende Struktur festgelegt haben, gehen wir sie nacheinander durch.
Im vorherigen Beitrag haben Sie erfahren, wie Sie Dateien unter Linux erstellen und entfernen. Lassen Sie uns darauf aufbauen und zuerst sehen, wie Sie den Inhalt einer Datei anzeigen.
Katzenbefehl
Um den Inhalt einer Datei anzuzeigen, verwenden wir den Befehl cat. Die Lehrbuchdefinition dieses Befehls lautet: – cat-Befehl liest sequentiell eine Datei und druckt die Ausgabe auf die Standardausgabe. Einfach ausgedrückt bedeutet dies, dass die Datei den Inhalt einer Datei Zeile für Zeile ausgibt.
Lassen Sie uns ein Beispiel verwenden, um zu sehen, wie der Befehl cat funktioniert, oder?
Hier ist die Syntax:
Katze DATEINAME
Ersetzen Sie die DATEINAME mit einem eigenen. Wie Sie unten sehen können, hat der Befehl gerade den Inhalt der Dateien ghost.txt in einem zeilenweisen Format ausgegeben:

Jetzt, da wir wissen, wie man den Inhalt einer Datei anzeigt, lernen wir, wie man Inhalte direkt vom Terminal aus zu einer Datei hinzufügt, ohne irgendwelche Editoren zu verwenden (keine Sorge, das wird sehr bald kommen).
Umleitungsoperatoren in Linux
Eine der Möglichkeiten, wie Sie hinzufügen können (überschreiben oder anhängen) Inhalte in eine Datei mit einem der Umleitungsoperatoren. Einfach ausgedrückt ermöglichen die Umleitungsoperatoren Benutzern, die Eingabe und Ausgabe eines Befehls zu steuern.
Davon ging Ihnen der Kopf weg, hier ist ein besser zuordenbares Beispiel. Erinnern Sie sich, was der echo-Befehl getan hat? Es hat eine Zeichenfolge an das Terminal ausgegeben. Der String war die Ausgabe des echo-Befehls. Wenn Sie einen der Umleitungsoperatoren verwenden, können Sie diese Ausgabe tatsächlich verwenden und in eine Datei schreiben.
Genug geredet, sehen wir uns an einem Beispiel an, wie der Umleitungsoperator funktioniert.
Hier ist die Syntax für den Umleitungsoperator:
Befehl redirection_operator-Datei
Hier ist der Befehl der Terminalbefehl, der eine Zeichenfolge ausgibt, und die Datei ist die eigentliche Datei, die diese Ausgabe akzeptiert. Es stehen mehrere Umleitungsoperatoren zur Verfügung, aber beschränken wir uns auf das Schreiben in Dateien.
Dazu können wir einen von zwei Umleitungsoperatoren verwenden, dh > funktioniert >>
Im folgenden Screenshot sehen Sie, wie es funktioniert. Ich habe im Terminal angezeigt, dass die Datei zunächst mit dem Befehl cat leer ist, dann habe ich mit dem Befehl echo Inhalt in die Datei eingefügt und den Inhalt schließlich mit dem Befehl cat ausgedruckt.
Das > Operator arbeitet im Überschreibmodus. Dies bedeutet, dass, wenn Sie die > Operator zum Schreiben von Inhalten in eine Datei, der bisherige Inhalt wird überschrieben. Dies wird im Screenshot unten gezeigt. Wie Sie sehen, wurden die bisherigen Inhalte durch die neuen ersetzt.

Die offensichtliche Frage ist nun, was ist, wenn Sie den vorhandenen Inhalt nicht ersetzen möchten? Nun, es gibt eine Version des Umleitungsoperators, die genau das tut.
Um an eine Datei anzuhängen, verwenden wir anstelle des > >>
Hier ist die Syntax:
Befehl >> Dateiname
Und im Screenshot unten sehen Sie ein Anwendungsbeispiel, an das der Inhalt angehängt wurde. Ziemlich ordentlich oder? Zugegeben, es bietet nicht die gleiche Flexibilität wie ein Texteditor, aber für kleinere Anwendungsfälle erledigt es die Arbeit ziemlich gut.

Okay, weiter so!
Nun, da wir wissen, wie man einer Datei Inhalte hinzufügt und sie anzeigt, wie wäre es damit, zu lernen, wie man Dateien im Dateisystem findet?
Befehl finden
Um nach Dateien in Ihrem Dateisystem zu suchen, verwenden wir den Befehl find. Der Befehl tut im Grunde das, was er vorgibt. Es findet einen bestimmten Dateinamen oder ein Regex-Muster.
Die grundlegende Syntax dafür wäre wie folgt:
Pfad finden -Namensausdruck
Ersetzen Sie die Platzhalter wie immer durch Ihre eigenen Werte.
Das Weg teilt dem find-Befehl mit, nach welchem Verzeichnis die angegebene Datei durchsucht werden soll. Die Name Option gibt ein Muster an, mit dem die Suche abgeglichen werden muss.
Sehen wir uns an, wie der Befehl find in einer Beispielverwendung funktioniert.

Wie unten in der Beispielausgabe zu sehen ist, sucht der Befehl nach irgendwelchen .exe Dateien in meinem Dateisystem und gibt sie an die Konsole aus. Nun, da wir einige der komplexeren Manipulationsbefehle in der Hand haben, gehen wir einen Schritt weiter.
Wir werden uns nun ansehen, wie wir in einer Datei nach Inhalten suchen können.
grep-Befehl
grep steht für Globaler regulärer Ausdruck und obwohl wir das in einem zukünftigen Beitrag behandeln werden, ist die grundlegende Erklärung dafür, dass es sich nur um eine Vorlage handelt, die grep verwendet, um die Strings zu überprüfen, um eine Übereinstimmung zu finden. Machen Sie sich keine Sorgen, wenn es nicht viel Sinn macht. Wir werden es ausführlich in Teil 3 behandeln.
In Ordnung, also testen wir grep. Hier ist die Syntax unseres Tests:
grep -i "entsprechender String" filename.extension
Das - ich Die Option weist grep an, die Groß-/Kleinschreibung zu ignorieren, sodass „HO“ „ho“ und „hO“ als gleich betrachtet werden. Die zu vergleichende Zeichenfolge wird in Anführungszeichen angegeben, gefolgt vom Dateinamen.

In Ordnung, sehen wir uns an, wie der grep-Befehl in einer Demo funktioniert. Wie oben gezeigt, zeigt mein Beispiel die Verwendung von grep in beiden Modi, bei denen die Groß-/Kleinschreibung beachtet wird, und im Modus, bei dem die Groß-/Kleinschreibung nicht beachtet wird.
An dieser Stelle ist es erwähnenswert, dass es n verschiedene Kombinationen für einen Befehl und mehrere dazugehörige Optionen gibt. Was ich hier tue, ist, Ihnen einen allgemeinen abgerundeten Anwendungsfall zu geben, der für die meisten einfachen Fälle funktioniert, aber wenn Sie alles tun möchten, können Sie auf jeden Fall einen Mann auf den Befehl setzen, um alle verfügbaren Optionen für die Verwendung herauszufinden Befehl.
Als Nächstes sehen wir uns an, wie wir tatsächlich zwei verschiedene Dateien zeilenweise vergleichen können.
diff-Befehl
Um zu sehen, wie sich 2 Dateien unterscheiden (verstehen?), verwenden wir den diff-Befehl. Es ist besser, es in Aktion zu sehen, um zu verstehen, wie es tatsächlich funktioniert, also lass uns gleich loslegen.
Hier ist die Syntax für den diff-Befehl:
Diff-Datei1 Datei2
Und hier ist ein Beispiel für die Verwendung des diff-Linux-Befehls:

Auf den ersten Blick mag es nicht ganz sinnvoll sein, also lassen Sie uns die Ausgabe aufschlüsseln.
Die erste Zeile der diff-Ausgabe enthält:
- Zeilennummern entsprechend der ersten Datei
- ein Buchstabe (a für Hinzufügen, c für Ändern oder d für Löschen)
- Zeilennummern, die der zweiten Datei entsprechen.
In unserer Ausgabe oben, „1,3c1“ : „Die Zeilen 1 bis 3 in der ersten Datei müssen geändert werden, damit sie mit den Zeilen 1 in der zweiten Datei übereinstimmen.“ Es sagt uns dann, was diese Zeilen in jeder Datei sind:
- Zeilen, denen ein < vorangestellt ist, sind Zeilen aus der ersten Datei
- Zeilen, denen > vorangestellt ist, sind Zeilen aus der zweiten Datei.
Im weiteren Verlauf werden wir sehen, wie wir wiederholte Zeilen in einer bestimmten Datei herausfinden können.
uniq-Befehl
Der Befehl uniq wird verwendet, um die wiederholten Zeilen zusammen mit ihrer Anzahl und anderen ähnlichen Details herauszufinden. Wenn Sie es bemannen, sagt es, dass es verwendet wird, um wiederholte Zeilen in einer Datei herauszufiltern oder zu melden. Wie bei fast allen Befehlen bietet auch der uniq-Befehl eine Reihe von Optionen.
Aber der Kürze halber und um sicherzustellen, dass Sie eine größere Anzahl von Befehlen lernen, anstatt zu viel über einen einzelnen Befehl zu lernen, werden wir nur ein minimales Beispiel anführen, und Sie können mit dem Befehl man mehr eingraben.
In Ordnung, hier ist die Syntax für den uniq-Befehl:
uniq -options Dateiname
Sehen wir uns nun ein Beispiel an, um zu erfahren, wie der Befehl uniq in Linux funktioniert.

Lassen Sie uns das Beispiel ganz schnell aufschlüsseln. Die -c Option weist den uniq-Befehl an, a . auszudrucken zählen zusammen mit der Ausgabe und die nächste Option ist die Dateinamen die an uniq geliefert wird.
Wie Sie im obigen Beispiel sehen können, wurde die Anzahl der wiederholten Zeilen ausgedruckt, die in unserem Fall 2 war.
Das sollte für alle Befehle reichen, die Sie kennen müssen, um sicherzustellen, dass Sie Dateien umgehen können, aber es gibt einen sehr wichtigen Teil, den wir bisher nicht behandelt haben, und es geht um Zugriffsrechte.
In der realen Welt möchten Sie nicht, dass alle Ihre Dateien einen globalen Lese-/Schreibzugriff haben, was bedeutet, dass jeder einfach gehen und Änderungen an einer Datei vornehmen kann. Bestimmte Dateien müssen vor Manipulation geschützt werden. Hier kommt die Zugriffskontrolle ins Spiel, und Linux und Unix verwalten sie beide überraschend gut mit diesem nächsten Befehl.
chmod-Befehl
Der Befehl chmod steht für Änderungsmodus und ermöglicht es Ihnen im Wesentlichen, die Art und Weise zu ändern, wie auf eine Datei zugegriffen werden kann und von wem darauf zugegriffen werden kann.
Die Syntax für chmod ist ziemlich einfach und sieht so aus:
chmod -Optionen Berechtigungen Dateiname
Während Optionen und Dateiname nicht näher erläutert werden müssen, Berechtigungen Teil bedarf einer Erklärung.
Dateiberechtigungen in Linux drehen sich um 3 Zielfernrohre, Benutzer, Gruppe, funktioniert Andere. Es gibt wiederum 3 Arten von Berechtigungen lesen, schreiben, funktioniert ausführen. Das bedeutet, dass jeder Bereich 3 Berechtigungen hat, was insgesamt 3 Bereiche mit jeweils 3 Berechtigungen ergibt.
Vor diesem Hintergrund ist hier ein Beispiel für die Verwendung von chmod:
chmod u=rwx, g=rx, o=r Dateiname.txt
Hier u steht für Benutzer, g For Gruppe funktioniert o For Extras. Und das = Zeichen wird verwendet, um die Berechtigung zu vergeben lesen (r), schreiben (w), funktioniert ausführen (x) zu jedem Geltungsbereich. Das Komma trennt jede Zuweisung.

Es gibt eine Abkürzung für die Zuweisung der Berechtigungen und verwendet die oktale Notation. In oktaler Schreibweise:
- 4 steht für gelesen
- 2 steht für schreiben
- 1 steht für ausführen
- 0 steht für keine Erlaubnis
Nach obiger Schreibweise ist also die Zahl 7 gewährt Lese-, Schreib- und Ausführungsberechtigung (4 + 2 + 1). Sie können es entsprechend kombinieren und anpassen. Hier ist ein Beispiel für einen Anwendungsfall in oktaler Notation:
chmod 755 starwars.txt

In diesem Beispiel hat die Datei starwars:
- Lese-, Schreib- und Ausführungsberechtigung für den Benutzer.
- für die Gruppe lesen und ausführen.
- andere ausführen.
In Ordung! wir nähern uns dem Ende des Dateihandhabungsteils des Beitrags. Mit diesem letzten Befehl können Sie eine Datei archivieren/eine Datei komprimieren. Das Archivieren einer Datei ist praktisch, wenn Sie eine Reihe von Dateien zwischen Systemen verschieben und gleichzeitig sicherstellen möchten, dass sie nicht beschädigt werden.
tar-Befehl
Der Befehl tar steht für Tape Archive und ermöglicht es Ihnen, die archivierten Dateien zu manipulieren und zu extrahieren.
Hier ist die grundlegende Syntax des Befehls, um zu sehen, wie er funktioniert:
tar -Optionen Dateiname1 Dateiname1 …. DateinameN
Sehen wir uns eine Beispielverwendung mit einigen Optionen an. Es wird dringend empfohlen, mit dem Beispiel herumzuspielen und es dann selbst zu erkunden, um weitere interessante Anwendungsfälle zu entdecken.
tar -c -f komprimiert.zip ghost.txt starwars.txt

Lass es uns aufschlüsseln. Die -c funktioniert -f Befehle sind nur einige von vielen, aber hier ist, was sie tun. Die -c Option weist den Befehl an ein neues Archiv erstellen funktioniert -f wird verwendet, den Dateinamen angeben Für das Archiv, das in diesem Fall komprimiert.zip ist, kann der Befehl tar Archive erstellen in .zip, .tar, .rar und andere Formate, also stellen Sie sicher, dass Sie eines auswählen, das Ihren Bedürfnissen entspricht
Nachdem Sie nun wissen, wie Sie Dateien komprimieren, sehen wir uns an, wie Sie sie extrahieren. Wir nehmen das -x funktioniert -f Optionen des tar-Befehls zum Extrahieren einer Datei, die -x Option weist Tar an Extrahieren Sie die Datei funktioniert -f wird verwendet, den Dateinamen angeben wie im folgenden Beispiel gezeigt:

Okay, wir haben endlich den Dateihandhabungsteil des Beitrags hinter uns. Hurra! Du hast einen tollen Job gemacht, so weit gekommen zu sein. Wir werden jetzt über Prozesse sprechen.
In der Linux-Terminologie ist ein Prozess ein Programm, das gerade ausgeführt wird und eine bestimmte Aufgabe ausführt. Prozesse sind dynamisch und ändern sich ständig, wenn der Benutzer zwischen Anwendungen wechselt.
Das Linux-Dokumentation spricht sehr detailliert über Prozesse und ich ermutige Sie, diesen Beitrag zu lesen, wenn Sie mit diesem Beitrag fertig sind.
Nun, da wir wissen, was ein Prozess ist, wollen wir sehen, wie man sie anzeigt.
ps Befehl
Mit dem Befehl ps können wir sehen, welche Prozesse derzeit auf einem Computer ausgeführt werden. Es kommt mit einer Vielzahl von Optionen, aber hier ist eine minimale Verwendung, die alle Prozesse anzeigt, die derzeit als Root ausgeführt werden.
Die Syntax ist wie folgt
ps -Option
In unserem Fall verwenden wir die -u Option, die die Prozesse, die als root ausgeführt werden.

Nun, da Sie wissen, wie man Prozesse betrachtet, wie wäre es damit, zu lernen, wie man sie abtötet?
Befehl töten
Der Befehl kill wird verwendet, um einen bestimmten Prozess zu beenden oder zu beenden, ohne sich abzumelden oder den Computer neu zu starten. Es ist erwähnenswert, dass der Befehl kill einen Prozess nicht wirklich beendet, sondern nur ein Signal an einen Prozess sendet und das Signal dem Prozess mitteilt, was zu tun ist. Wenn kein Signal angegeben ist, ist standardmäßig ein Signal 15 namens ZIELLAUFZEIT wird an den Prozess gesendet und wenn dieser fehlschlägt ein stärkeres Signal 9 SIGKILL wird an den Prozess gesendet, aber für die meisten normalen Anwendungsfälle müssen Sie nur angeben, um einen Prozess zu beenden: PID.
Hier ist die Syntax für den Kill-Befehl:
kill [Signal oder Optionen] PIDs
Und hier ist eine Demo:

Seien Sie sehr vorsichtig, wenn Sie einen Prozess beenden. Das Beenden eines systemkritischen Prozesses kann dazu führen, dass sich Ihr Computer abnormal verhält. Wenn Sie dies jedoch immer noch schaffen, stellen Sie sicher, dass Sie Ihr System einmal neu starten, um die normale Ausführung wiederherzustellen.
Nun gut, jetzt, da wir einige Gründe mit den Terminalbefehlen behandelt haben, sprechen wir über eine einfache Möglichkeit, Änderungen vorzunehmen/Inhalte zu einer Datei hinzuzufügen. Wir alle verwenden Texteditoren wie Visual Studio Code oder Atom, aber da das Ziel dieser Serie darin besteht, Sie alle mit dem Terminal vertraut zu machen, warum nicht einen einfachen Editor im Terminal selbst erkunden?
nano-Befehl
Nano (vertrau mir) steht für Nanos JAHRDer Editor und es ist ein kostenloser, leichter und Open-Source-Editor, mit dem Sie Dateien innerhalb des Terminals bearbeiten können, ist eine native Texteditor-ähnliche Umgebung mit den üblichen Befehlen, mit denen Sie vertraut sind.
Um nano aufzurufen/eine Datei in nano zu öffnen, geben Sie den Befehl in der folgenden Syntax ein:
nano DATEINAME
Wenn die Datei existiert, würde nano sie öffnen und falls nicht, eine neue Datei mit diesem Namen erstellen und öffnen. Der Editor an sich ist ziemlich minimalistisch und im Gegensatz zu seinem älteren (und verhassten) Bruder Vim/Vi macht er dich nicht verrückt mit den notorisch schwierigen Befehlen. Um innerhalb der Datei zu navigieren, verwenden Sie die üblichen Pfeiltasten. Zum Entfernen von Inhalten verwenden Sie weiterhin die Entf/Rücktaste und zur Handhabung Ihrer Zwischenablage verwenden Sie das bekannte Strg+C, Strg+V usw.

Der Editor stellt die am häufigsten verwendeten Operationen wie das Beenden des Editors für Sie in der unteren Hälfte des Bildschirms dar. Vor dem Beenden mit Strg+X werden Sie aufgefordert, die vorgenommenen Änderungen zu speichern. Sicher, Vim gibt es schon länger, aber meiner persönlichen Meinung nach ist es nichts anderes als ein Übergang in die Hippie-Kultur. Das Beste, was Sie aus einem Profi bei Vim herausholen können, wäre, sich zu prahlen, und es endet dort selbst. Es gibt absolut keinen Grund, seine kostbare Zeit damit zu verschwenden, den Umgang mit Vim zu erlernen. Damit sind wir endlich am Ende von Teil 2 angelangt.
Linux-Befehle für fortgeschrittene Benutzer: Zusammenfassung
In Teil 2 der Linux Hands On-Reihe haben wir auf dem Fundament aufgebaut, das wir gelegt haben Teil 1. Wir haben es geschafft, mit Dateien umzugehen und sie zu manipulieren. Wir lernten auch ein ganz neues Konzept namens Prozesse und wie man sie abtötet. Und wir haben diesen Teil mit einem Überblick über den Nano-Texteditor abgeschlossen. Das wäre alles für diese Woche. Bis wir nächste Woche mit Teil 3 zurückkehren, stellen Sie sicher, dass Sie sich genügend Zeit nehmen, um mit dem in diesem Beitrag geteilten Befehl zu spielen. Lassen Sie sich nicht von der Anzahl der Befehle überwältigen, es dauert lange, bis diese Dinge zum Muskelgedächtnis werden. Bis dahin ist praktische Erfahrung Ihr bester Freund.
Vielen Dank für diese Linux-Serie. Ich habe das vollständig durchgearbeitet und fand es sehr hilfreich. Vor allem Videos. Manchmal ist es schwer, dem Artikel zu folgen, also habe ich das Video heruntergeladen und es gelernt. Jetzt habe ich das Gefühl, dass ich eine gute Menge Linux kenne, um damit anzufangen. Vielen Dank für diese Beiträge haben mir sehr geholfen.