5 moderne Alternativen zu den klassischen Linux-Befehlszeilenwerkzeugen

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

5 moderne Alternativen zu den klassischen Linux-Befehlszeilenwerkzeugen

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 (ncdu) 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: 561540

Sie 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 [          ] /media

Mit 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 ncdu

2. htop vs top

Htop 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:

5 moderne Alternativen zu den klassischen Linux-Befehlszeilenwerkzeugen
Im Gegensatz zu top:

5 moderne Alternativen zu den klassischen Linux-Befehlszeilenwerkzeugen
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. tldr pages project.

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 ABGESCHNITTEN

TLDR 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 der Projektseite jq oder an tldr.

5. fd vs find

fd 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 .md

In 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-find

Es 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 Virtuelle Server mit AMD EPYC-Prozessoren, 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!

5 moderne Alternativen zu den klassischen Linux-Befehlszeilenwerkzeugen

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster