Durch die Verwendung moderner Alternativen neben den traditionellen Befehlszeilenwerkzeugen können Sie nicht nur mehr Freude haben, sondern auch Ihre Produktivität steigern.

Im Alltag mit Linux/Unix verwenden wir eine Vielzahl von Befehlszeilenwerkzeugen, wie zum Beispiel du zur Überwachung der Festplattennutzung und der Systemressourcen. Einige dieser Werkzeuge sind schon seit langer Zeit im Einsatz. So wurde top 1984 eingeführt, während die erste Version von du aus dem Jahr 1971 stammt.
Im Laufe der Jahre wurden diese Werkzeuge modernisiert und auf verschiedene Systeme portiert, aber im Großen und Ganzen haben sie sich nicht wesentlich von ihren ursprünglichen Versionen entfernt; ihr Erscheinungsbild und die Benutzerfreundlichkeit sind ebenfalls nicht stark verändert worden.
Dies sind hervorragende Tools, die vielen Systemadministratoren unverzichtbar sind. Es gibt jedoch auch alternative Werkzeuge, die zusätzliche Vorteile bieten. Einige haben einfach eine moderne, ansprechende Oberfläche, während andere die Benutzerfreundlichkeit erheblich verbessern. In dieser Übersetzung stellen wir fünf Alternativen zu den standardmäßigen Linux-Befehlszeilenwerkzeugen vor.
1. ncdu vs du
NCurses Disk Usage () ist ähnlich wie du, bietet jedoch eine interaktive Oberfläche basierend auf der curses-Bibliothek. ncdu zeigt die Verzeichnisstruktur an, die den größten Teil Ihres Speicherplatzes beansprucht.
ncdu analysiert die Festplatte und zeigt anschließend die Ergebnisse sortiert nach den am häufigsten verwendeten Verzeichnissen oder Dateien an, zum Beispiel:
ncdu 1.14.2 ~ Benutzen Sie die Pfeiltasten zur Navigation, drücken Sie ? für Hilfe
--- /home/rgerardi ------------------------------------------------------------
96,7 GiB [##########] /libvirt
33,9 GiB [### ] /.crc
7,0 GiB [ ] /Projects
4,7 GiB [ ] /Downloads
3,9 GiB [ ] /.local
2,5 GiB [ ] /.minishift
2,4 GiB [ ] /.vagrant.d
1,9 GiB [ ] /.config
1,8 GiB [ ] /.cache
1,7 GiB [ ] /Videos
1,1 GiB [ ] /go
692,6 MiB [ ] /Documents
591,5 MiB [ ] /tmp
139,2 MiB [ ] /.var
104,4 MiB [ ] /.oh-my-zsh
82,0 MiB [ ] /scripts
55,8 MiB [ ] /.mozilla
54,6 MiB [ ] /.kube
41,8 MiB [ ] /.vim
31,5 MiB [ ] /.ansible
31,3 MiB [ ] /.gem
26,5 MiB [ ] /.VIM_UNDO_FILES
15,3 MiB [ ] /Personal
2,6 MiB [ ] .ansible_module_generated
1,4 MiB [ ] /backgrounds
944,0 KiB [ ] /Pictures
644,0 KiB [ ] .zsh_history
536,0 KiB [ ] /.ansible_async
Gesamter Speicherplatz: 159,4 GiB Apparente Größe: 280,8 GiB Elemente: 561540Sie können mit den Pfeiltasten durch die Einträge navigieren. Wenn Sie Enter drücken, zeigt ncdu den Inhalt des ausgewählten Verzeichnisses an:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91,3 GiB [##########] /images
5,3 GiB [ ] /mediaMit diesem Tool können Sie beispielsweise feststellen, welche Dateien den meisten Speicherplatz beanspruchen. Um zum vorherigen Verzeichnis zu gelangen, drücken Sie die linke Pfeiltaste. Mit ncdu können Sie Dateien löschen, indem Sie die Taste d drücken. Vor dem Löschen wird um Bestätigung gebeten. Wenn Sie die Löschfunktion deaktivieren möchten, um zu verhindern, dass wertvolle Dateien versehentlich verloren gehen, verwenden Sie die Option -r, um den Nur-Lese-Modus zu aktivieren: ncdu -r.
Ncdu ist für viele Plattformen und Linux-Distributionen verfügbar. Beispielsweise können Sie dnf verwenden, um es direkt aus den offiziellen Repositories auf Fedora zu installieren:
$ sudo dnf install ncdu2. htop vs top
ist ein interaktives Tool zur Prozessanzeige, das ähnlich wie top ist, aber von Grund auf eine benutzerfreundlichere Interaktion bietet. Standardmäßig zeigt htop dieselben Informationen wie top, jedoch in einer ansprechenderen und farbenfrohen Darstellung.
So sieht htop standardmäßig aus:

Im Gegensatz zu top:

Zusätzlich zeigt der obere Teil von htop eine Übersicht der Systeminformationen an, während der untere Teil eine Leiste zum Ausführen von Befehlen mit Funktionstasten bietet. Sie können diese anpassen, indem Sie F2 drücken, um den Einstellungsbildschirm zu öffnen. In den Einstellungen können Sie Farben ändern, Metriken hinzufügen oder entfernen oder die Anzeigeparameter der Übersicht anpassen.
Obwohl man durch das Drehen an den Einstellungen der neuesten Versionen von top eine ähnliche Benutzerfreundlichkeit erreichen kann, bietet htop bequeme Standardkonfigurationen, die es praktischer und einfacher im Gebrauch machen.
3. tldr vs man
Das Kommandozeilen-Tool tldr zeigt vereinfachte Hilfsinformationen zu Befehlen, hauptsächlich Beispiele, an. Es wurde von der Community entwickelt. .
Es ist zu beachten, dass tldr kein Ersatz für man ist. Es bleibt nach wie vor das kanonische und umfassendste Tool zur Ausgabe von Hilfeseiten. In einigen Fällen kann man jedoch überflüssig sein. Wenn Sie keine umfassenden Informationen zu einem Befehl benötigen und lediglich die grundlegenden Optionen im Kopf behalten möchten, ist tldr eine gute Wahl. Zum Beispiel enthält die man-Seite für den Befehl curl fast 3000 Zeilen. Die tldr-Seite für curl umfasst nur 40 Zeilen. Ein Ausschnitt sieht so aus:
$ tldr curl
# curl
Überträgt Daten von oder zu einem Server.
Unterstützt die meisten Protokolle, einschließlich HTTP, FTP und POP3.
Weitere Informationen: .
- Laden Sie den Inhalt einer URL in eine Datei herunter:
curl http://example.com -o dateiname
- Laden Sie eine Datei herunter und speichern Sie sie unter dem in der URL angegebenen Dateinamen:
curl -O http://example.com/dateiname
- Laden Sie eine Datei herunter, folgen Sie [L]ocation-Weiterleitungen und setzen Sie den vorherigen Dateiübertrag fort:
curl -O -L -C - http://example.com/dateiname
- Senden Sie form-encoded Daten (POST-Anfrage vom Typ `application/x-www-form-urlencoded`):
curl -d 'name=bob' http://example.com/form
- Senden Sie eine Anfrage mit einem zusätzlichen Header, unter Verwendung einer benutzerdefinierten HTTP-Methode:
curl -H 'X-My-Header: 123' -X PUT http://example.com
- Senden Sie Daten im JSON-Format und geben Sie den entsprechenden Content-Type-Header an:
curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... AUSGABE ABGESCHNITTENTLDR steht für „zu lang; nicht gelesen“: Das bedeutet, dass ein gewisser Text aufgrund seiner übermäßigen Wortigkeit ignoriert wurde. Der Name passt zu diesem Tool, da man-Seiten zwar nützlich sind, aber manchmal auch zu lang sein können.
Für Fedora wurde tldr in Python geschrieben. Sie können es mit dem dnf-Paketmanager installieren. Normalerweise ist für die Nutzung des Tools Internetzugang erforderlich. Aber der Python-Client in Fedora ermöglicht das Herunterladen und Zwischenspeichern dieser Seiten für den Offline-Zugang.
4. jq vs sed/grep
jq ist ein JSON-Prozessor für die Kommandozeile. Es ist ähnlich wie sed oder grep, wurde jedoch speziell zum Arbeiten mit JSON-Daten entwickelt. Wenn Sie ein Entwickler oder Systemadministrator sind, der JSON in seinen täglichen Aufgaben verwendet, ist dieses Tool genau das Richtige für Sie.
Der Hauptvorteil von jq gegenüber den Standardtextverarbeitungswerkzeugen wie grep und sed besteht darin, dass es die Struktur von JSON-Daten versteht und es ermöglicht, komplexe Abfragen in einem einzigen Ausdruck zu erstellen.
Zum Beispiel versuchen Sie, die Container-Namen in dieser JSON-Datei zu finden:
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"labels": {
"app": "myapp"
},
"name": "myapp",
"namespace": "project1"
},
"spec": {
"containers": [
{
"command": [
"sleep",
"3000"
],
"image": "busybox",
"imagePullPolicy": "IfNotPresent",
"name": "busybox"
},
{
"name": "nginx",
"image": "nginx",
"resources": {},
"imagePullPolicy": "IfNotPresent"
}
],
"restartPolicy": "Never"
}
}Führen Sie grep aus, um die Zeile name: zu suchen.
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",grep hat alle Zeilen zurückgegeben, die das Wort name enthalten. Sie können weitere Optionen zu grep hinzufügen, um die Suche einzuschränken und mit einigen Manipulationen von regulären Ausdrücken die Namen der Container zu finden.
Um dasselbe Ergebnis mit jq zu erhalten, schreiben Sie einfach:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"Dieser Befehl gibt Ihnen die Namen beider Container zurück. Wenn Sie nur den Namen des zweiten Containers suchen, fügen Sie den Array-Indizes in den Ausdruck ein:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"Da jq die Datenstruktur kennt, liefert es die gleichen Ergebnisse, selbst wenn das Dateiformat geringfügig geändert wird. grep und sed könnten in diesem Fall nicht korrekt funktionieren.
jq bietet viele Funktionen, aber für deren Beschreibung wäre ein weiterer Artikel notwendig. Für zusätzliche Informationen wenden Sie sich an jq oder an tldr.
5. fd vs find
ist eine vereinfachte Alternative zum Dienstprogramm find. fd ist nicht dazu gedacht, es vollständig zu ersetzen: Es sind standardmäßig die am häufigsten verwendeten Einstellungen festgelegt, die den allgemeinen Umgang mit Dateien bestimmen.
Zum Beispiel schließt fd beim Suchen nach Dateien im Verzeichnis eines Git-Repositorys automatisch versteckte Dateien und Unterverzeichnisse aus, einschließlich des Verzeichnisses .git, und ignoriert die Muster aus der Datei .gitignore. Insgesamt beschleunigt es die Suche und liefert relevantere Ergebnisse bereits beim ersten Versuch.
Standardmäßig führt fd eine nicht geschlechtsneutrale Suche im aktuellen Verzeichnis mit farbiger Ausgabe durch. Die gleiche Suche mit dem Befehl find erfordert die Eingabe zusätzlicher Parameter in der Kommandozeile. Um beispielsweise alle .md-Dateien (oder .MD) im aktuellen Verzeichnis zu finden, muss folgender find-Befehl eingegeben werden:
$ find . -iname "*.md"Bei fd sieht das so aus:
$ fd .mdIn einigen Fällen sind für fd zusätzliche Parameter erforderlich: Wenn Sie beispielsweise versteckte Dateien und Verzeichnisse einbeziehen möchten, müssen Sie die Option -H verwenden, obwohl dies normalerweise bei der Suche nicht nötig ist.
fd ist für viele Linux-Distributionen verfügbar. In Fedora können Sie es so installieren:
$ sudo dnf install fd-findEs ist nicht notwendig, auf etwas zu verzichten.
Verwenden Sie neue Linux-Befehlszeilentools? Oder bleiben Sie ausschließlich bei den älteren? Wahrscheinlich haben Sie eine Kombination, oder? Bitte teilen Sie Ihre Erfahrungen in den Kommentaren.
Im Auftrag der Werbung
Viele unserer Kunden haben bereits die Vorteile verstanden. epische Server!
Das , CPU-Kernfrequenz bis zu 3,4 GHz. Die maximale Konfiguration ermöglicht volle Power — 128 CPU-Kerne, 512 GB RAM, 4000 GB NVMe. Bestellen Sie schnell!
Quelle: habr.com
