Eines der vielseitigsten Betriebssysteme, das über das Terminal verwaltet werden kann, ist zweifellos Linux in allen verfügbaren Distributionen, und dies dank der Integration zahlreicher Befehle, die in Ihrer Konsole verfügbar sind . Es spielt keine Rolle, ob wir ein Terminal-basiertes System (z. B. Serverversionen) oder eine GUI-basierte Umgebung (z. B. Desktop-Versionen) verwenden. In allen Fällen sind das Terminal und seine Befehle stets eine zuverlässige Quelle für Verwaltung und Unterstützung.
Zu unseren täglichen Aktivitäten gehört das Erstellen und Bearbeiten von Ordnern und Dateien, die je nach Rolle zahlreich sein können. Dies ist zu einem bestimmten Zeitpunkt normal, da die Suche nach Elementen auf die eine oder andere Weise nicht nur durch die Anzahl der Dateien, sondern auch durch den Speicherort, an dem sie gehostet werden, beeinträchtigt wird .
Um diese Art von Aktivitäten einfacher verwalten zu können, haben wir zwei wichtige Befehle für das Suchen und Anzeigen von Objekten in Linux, die Grep- und Tree-Befehle. TechnoWikis wird detailliert erklären, wie es verwendet wird und wie es in der Distribution , die wir unter Linux verwenden, ganzheitlich angewendet wird.
1. Was ist der GREP-Befehl?
- -G, –basic-regexp: Dies ist für die Interpretation des Musters als regulärer Grundausdruck verantwortlich. Dies ist der Standardwert.
- -E, –extended-regexp: Diese Option gilt für das Muster als erweiterter regulärer Ausdruck.
- -F, –fixed-strings: Mit dieser Option wird das Muster als Liste fester Zeichenketten interpretiert, die durch Zeilenumbrüche getrennt sind und in denen nach Übereinstimmungen gesucht wird.
Die allgemeine Syntax, die mehrere Parameter enthalten kann, lautet wie folgt:
grep [-AB] num] [-CEFGVbchiLlnqsvwxyUu] [[-e] pattern | -f Datei] [--extended-regexp] [--fixed-strings] [--basic-regexp] [--regexp = PATTERN] [--file = FILE] [--ignore-case] [--word -regexp] [--line-regexp] [--line-regexp] [--no-messages] [--invert-match] [--version] [--help] [--byte-offset] [- -Zeilennummer] [--mit-Dateiname] [--kein-Dateiname] [--ruhig] [--leise] [--Dateien-ohne-Übereinstimmung] [--Dateien-mit-Matcces] [- count] [--before- context = NUM] [--after-context = NUM] [--context] [--binary] [--unix-byte-offsets] files ...
Wir werden einige Beispiele für die Verwendung von Grep sehen, bevor wir dessen Parameter kennen. Wenn wir das Verzeichnis / etc / passwd nach allem durchsuchen möchten, was sich auf einen bestimmten Benutzer bezieht, können wir Folgendes ausführen:
grep "user" / etc / passwd
Das Ergebnis wird folgendes sein:
Es wird auch möglich sein, den Grep-Befehl zu zwingen, Groß- und Kleinbuchstaben zu ignorieren, d. H. Den Lösungsmittel-, TechnoWikis- oder SOLVETIC-Abgleich zusammen mit allen Kombinationen mit dem -i-Parameter zuzulassen:
grep -i "solvetic" / etc / passwd
Diese Option kann auch mit dem Befehl cat wie folgt ausgeführt werden:
Katze / etc / passwd | grep -i "solvetic"
2. Wie man den Grep-Befehl unter Linux rekursiv verwendet
Grep gibt uns die Möglichkeit, eine rekursive Suche durchzuführen, das heißt, diese Suche liest alle Dateien in jedem Verzeichnis für eine bestimmte Kette, zum Beispiel die IP-Adresse des Teams, wir können eine der folgenden Optionen ausführen:
grep -r "192.168.0.25" / etc / o grep -R "192.168.0.25" / etc /
Dasselbe können wir auch mit der IP 192.168.1.5 ausführen, die das System für Standardausgaben verwendet:
Wir können feststellen, dass bei beiden IP-Adressen eine separate Zeile mit dem Namen der Datei, in der sie erkannt wurde, vorangestellt wird. Wenn wir die Einbeziehung dieses Werts ausschließen möchten, ist es möglich, ihn mit der Option -h wie folgt zu unterdrücken:
grep -h -R "192.168.1.5" / etc / oder grep -hR "192.168.1.5" / etc /
3. Verwenden des Grep-Befehls zum Ausführen von Wortsuchen unter Linux
Grep ist nützlich, um nach Begriffen in einer bestimmten Datei zu suchen. Das Ergebnis hebt daher jede Zeile hervor, in der der Suchbegriff gefunden wurde, sowie die Wörter (nicht hervorgehoben), die zum Suchbegriff gehören. Die zu verwendende Syntax lautet wie folgt . In diesem Fall wurden 3 Übereinstimmungen in der TechnoWikis1-Datei gefunden.
grep -w "word" Datei
Wenn Sie in einer Datei nach zwei Begriffen suchen möchten, müssen Sie die folgende Syntax mit dem Befehl egrep ausführen. Wie wir sehen, werden die gesuchten Wörter im Ergebnis hervorgehoben.
egrep -w 'term1 | term2' Datei
4. Verwendung des Grep-Befehls zum Zählen von Wörtern unter Linux
Eine weitere praktische Option von Grep ist die Möglichkeit zu wissen, wie oft ein Wort in einer bestimmten Datei wiederholt wird. Dies wird durch den Parameter -c wie folgt erreicht:
grep -c 'word' Datei
Alternativ können wir den Parameter -n verwenden, um jeder Ausgabezeile die Nummer der Zeile voranzustellen, in der sie in der ausgewählten Datei eingegeben wurde:
grep -n 'word' Datei
5. So erzwingen Sie die invertierte Grep-Suche
Bei der umgekehrten Suche bedeutet dies, dass der Befehl Grep nur Ergebnisse aus den Zeilen anzeigt, die das definierte Wort nicht enthalten. Dies wird mit dem Parameter -v wie folgt erreicht:
grep -v Datei "Ich beende"
6. Verwenden von UNIX / Linux-Pipes neben dem Grep-Befehl
Der Grep-Befehl in Linux kann beispielsweise mit UNIX-Shell-Pipes kombiniert werden. Wenn wir den Namen der Festplattengeräte auflisten möchten, führen wir die folgende Zeile aus:
dmesg | egrep '(s | h) d [az]'
Dort werden die Ergebnisse mit allen zugehörigen Informationen angezeigt. Um das CPU-Modell bereitzustellen, führen wir Folgendes aus:
cat / proc / cpuinfo | grep -i 'Model'
Für dasselbe Ergebnis können wir auch Folgendes ausführen:
grep -i 'Model' / proc / cpuinfo
Eine der speziellsten Anwendungen des Befehls Grep oder egrep ist die Möglichkeit, die Ausgabe von herkömmlichen Befehlen wie yum, dpkg, apt oder apt-get zu filtern. Zum Beispiel können wir die folgende Zeile ausführen, um mit dpkg nach Linux-Images zu suchen:
dpkg - liste | grep Linux-Image
Es wird möglich sein, die Suche mit apt auszuführen:
passende suche maria | egrep 'server | client'
7. Wie man nur die Namen der Dateien auflistet, die mit Grep übereinstimmen
Zu diesem Zweck können wir die Option -l verwenden, um den Namen der Datei aufzulisten, in der der Inhalt folgendermaßen hervorgehoben wird:
grep -l 'end' * .c
- -núm: Mit dieser Option werden die Konkordanzlinien neben den Nummern der vorherigen und nachfolgenden Linien angezeigt.
- -A num, –after-context = NUM: Zeigt die Anzahl der Kontextzeilen an, nachdem sie mit den angegebenen übereinstimmen.
- -B num, –before-context = NUM: Bei Verwendung dieser Option werden die Kontextzeilen vor denjenigen angezeigt, die der Suche entsprechen.
- -V, –version: Zeigt die Versionsnummer von grep an.
- -b, –byte-offset: Dieser Parameter zeigt den Offset in Bytes vom Anfang der Eingabedatei vor jeder Ausgabezeile an.
- -c, –count: Zählt die Anzahl der Zeilen, die dem angegebenen Begriff entsprechen.
- -h, –no-filename: Löscht den Ausdruck der Dateinamen im Ergebnis.
- i, –ignore-case: Es wird nicht berücksichtigt, ob die Buchstaben groß oder klein geschrieben sind.
- -L, –files-without-match: Diese Option zeigt den Namen jeder Eingabedatei an, in der keine Übereinstimmung gefunden wurde.
- -l, –files-with-matches: Zeigt den Namen jeder Eingabedatei an, die ein Ergebnis erzeugen kann.
- -n, –Zeilennummer: Ordnen Sie jeder Ausgabezeile die entsprechende Zeilennummer in der Suchdatei zu.
- -q, –quiet: Aktiviert den Silent-Modus, der die normale Ausgabe unterdrückt und die Suche mit der ersten Übereinstimmung endet.
- -s, –silent: Löscht die Fehlermeldungen.
- -v, –invert-match: Diese Option kehrt die Bedeutung der Suche um, dh es werden die Ergebnisse angezeigt, die nicht mit dem Suchbegriff übereinstimmen.
- w, –word-regexp: Dieser Parameter wählt nur die Zeilen aus, die Konkordanzen enthalten, die vollständige Wörter bilden.
- -x, –line-regexp: Mit dieser Option werden nur die Konkordanzen ausgewählt, die aus der gesamten Zeile bestehen.
8. Verwenden und Installieren von Tree unter Linux
Wie der Name schon sagt, wurde der Befehl Tree entwickelt, um die Verzeichnisse des Systems in Form eines Baums anzuzeigen und die Verwaltung zu vereinfachen.
Der Befehl Tree verwendet einen rekursiven Befehl für Verzeichnislisten, der nur dann zu einem mit einer Reihe von Farben gestalteten Baumformat führt, wenn die Umgebungsvariable LS_COLORS gesetzt und die Ausgabe auf tty gesetzt ist, wenn keine Argumente zugewiesen sind. Dieser Befehl listet die Dateien im aktuellen Verzeichnis auf.
Die allgemeine Syntax lautet wie folgt:
tree [-acdfghilnpqrstuvxACDFQNSUX] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [--nolinks] [-P pattern] [-I pattern] [--inodes] [ --device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit #] [--si] [--prune] [--du] [--timefmt format ] [--matchdirs] [-] [Verzeichnis ...]
Der erste Schritt besteht darin, den Tree-Befehl durch Ausführen des folgenden Befehls zu installieren:
sudo apt install tree
Nach der Installation führen wir direkt den Befehl “tree” aus, um das aktuelle Verzeichnis im Baumformat aufzulisten:
9. Arbeiten mit Dateien mit dem Tree-Befehl unter Linux
Baum -a
Baum -d
Baum -f
Baum -d -L 2
Baum -d -I * Android
10. Parameter, die mit dem Tree-Befehl unter Linux verwendet werden sollen
- -a: Alle Dateien drucken. Beachten Sie, dass der Baum standardmäßig keine versteckten Dateien druckt.
- -d: Nur die Verzeichnisse auflisten.
- -l: Setzen Sie die symbolischen Links fort, wenn sie auf Verzeichnisse verweisen, und simulieren Sie Verzeichnisse.
- -f: Gibt das Präfix des vollständigen Pfades der Objekte aus.
- -x: Bleibt allein im aktuellen Dateisystem.
- -L Level: Ermöglicht die Festlegung der maximalen Visualisierungstiefe des Verzeichnisbaums im Ergebnis.
- -R: Handelt rekursiv, indem der Baum in den Verzeichnissen jeder Ebene gekreuzt wird und in jedem von ihnen ausgeführt wird. wieder der Baum durch Hinzufügen von -o 00Tree.html.
- -P Muster (Muster): Listet nur die Dateien auf, die mit dem Platzhaltermuster übereinstimmen.
- -I Muster: Die Dateien, die mit dem Platzhaltermuster übereinstimmen, werden nicht aufgelistet.
- –matchdirs Diese Option gibt ein Übereinstimmungsmuster an, mit dem das Muster nur auf Verzeichnisnamen angewendet werden kann.
- –prune: Dieser Parameter entfernt leere Verzeichnisse aus der Ausgabe.
- –noreport: Ignoriert das Drucken des Datei- und Verzeichnisberichts am Ende der Liste des ausgeführten Baums.
- -q: Druckt nicht druckbare Zeichen in Dateinamen.
- -N: Druckt nicht druckbare Zeichen.
- -Q: Seine Funktion besteht darin, die Namen der Dateien in Anführungszeichen zu setzen.
- -p: Gibt den Dateityp und die Berechtigungen für jede Datei im Verzeichnis aus.
- -u: Gibt den Benutzernamen oder die UID der Datei aus.
- -s: Gibt die Größe jeder Datei in Bytes aus, genau wie ihr Name.
- -g Gibt den Namen der Gruppe oder die GID der Datei aus.
- -h: Es dient dazu, die Größe jeder Datei für den Benutzer leserlich auszudrucken.
- –du: Führt in jedem Verzeichnis einen Bericht über seine Größe aus, einschließlich der Größe aller seiner Dateien und Unterverzeichnisse.
- – ja: Für die Bereitstellung der Dateigröße werden Potenzen von 1000 (SI-Einheiten) verwendet.
- -D: Gibt das Datum der letzten Änderung der Dateien aus.
- -F: Sie müssen ein “/” für Verzeichnisse, ein “=” für Socket-Dateien, ein “*” für ausführbare Dateien, ein “>” für Türen (Solaris) und ein “|” hinzufügen. für FIFOs.
- –inodes: Gibt die Inode-Nummer der Datei oder des Verzeichnisses aus.
- –device: Gibt die Gerätenummer aus, zu der die Datei oder das Verzeichnis im Ergebnis gehört.
- -v: Sortiert die Ausgabe nach Version.
- -U: Die Ergebnisse werden nicht sortiert.
- -r: Sortiert die Ausgabe in umgekehrter Reihenfolge.
- -t: Sortiert die Ergebnisse nicht alphabetisch, sondern nach dem letzten Änderungszeitpunkt.
- -S: Aktiviert die Liniengrafik CP437
- -n: Deaktiviert die Einfärbung des Ergebnisses.
- -C: Aktivieren Sie die Einfärbung.
- -X: Aktiviert die XML-Ausgabe.
- -J: Aktiviert die JSON-Ausgabe.
- -H baseHREF: Aktiviert die HTML-Ausgabe, einschließlich HTTP-Referenzen.
- –help: Greifen Sie auf die Hilfe von Tree zu.
- –version: Zeigt die verwendete Version des Tree-Befehls an.
Mit diesen beiden Befehlen war es möglich, jede Aufgabe, die an den Dateien unter Linux ausgeführt werden sollte, wesentlich integraler zu verwalten, die Aufgaben der Suche oder Verwaltung darauf zu ergänzen und bei Bedarf auf integrale Ergebnisse zuzugreifen.