GNU/Linux >> LINUX-Kenntnisse >  >> Linux

5 moderne Alternativen zu wichtigen Linux-Befehlszeilentools

Bei unserer täglichen Verwendung von Linux/Unix-Systemen verwenden wir viele Befehlszeilen-Tools, um unsere Arbeit abzuschließen und unsere Systeme zu verstehen und zu verwalten – Tools wie du zur Überwachung der Festplattenauslastung und top um Systemressourcen anzuzeigen. Einige dieser Tools gibt es schon lange. Beispiel:top wurde erstmals 1984 veröffentlicht, während du 's erste Veröffentlichung stammt aus dem Jahr 1971.

Im Laufe der Jahre wurden diese Tools modernisiert und auf verschiedene Systeme portiert, aber im Allgemeinen folgen sie immer noch ihrer ursprünglichen Idee, ihrem Aussehen und ihrem Verhalten.

Dies sind großartige Tools, die für die Arbeitsabläufe vieler Systemadministratoren unerlässlich sind. In den letzten Jahren hat die Open-Source-Community jedoch alternative Tools entwickelt, die zusätzliche Vorteile bieten. Einige sind nur eine Augenweide, andere verbessern die Benutzerfreundlichkeit erheblich und machen sie zu einer großartigen Wahl für die Verwendung auf modernen Systemen. Dazu gehören die folgenden fünf Alternativen zu den standardmäßigen Linux-Befehlszeilentools.

1. ncdu als Ersatz für du

Die Festplattennutzung von NCurses (ncdu ) liefert ähnliche Ergebnisse wie du aber in einer auf Flüchen basierenden, interaktiven Oberfläche, die sich auf die Verzeichnisse konzentriert, die den größten Teil Ihres Speicherplatzes verbrauchen.

ncdu verbringt einige Zeit damit, die Festplatte zu analysieren, und zeigt dann die Ergebnisse sortiert nach Ihren am häufigsten verwendeten Verzeichnissen oder Dateien an, etwa so:

ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /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
 Total disk usage: 159.4 GiB  Apparent size: 280.8 GiB  Items: 561540

Navigieren Sie mit den Pfeiltasten zu den einzelnen Einträgen. Wenn Sie Enter drücken bei einem Verzeichniseintrag ncdu zeigt den Inhalt dieses Verzeichnisses an:

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media

Sie können dies verwenden, um die Verzeichnisse aufzuschlüsseln und herauszufinden, welche Dateien den meisten Speicherplatz beanspruchen. Kehren Sie mit der Links-Taste zum vorherigen Verzeichnis zurück Pfeiltaste. Standardmäßig können Sie Dateien mit ncdu löschen durch Drücken von d Taste, und es fragt nach einer Bestätigung, bevor eine Datei gelöscht wird. Wenn Sie dieses Verhalten deaktivieren möchten, um Unfälle zu vermeiden, verwenden Sie das -r Option für Nur-Lese-Zugriff:ncdu -r .

ncdu ist für viele Plattformen und Linux-Distributionen verfügbar. Sie können beispielsweise dnf verwenden um es direkt aus den offiziellen Repositories auf Fedora zu installieren:

$ sudo dnf install ncdu

Weitere Informationen zu diesem Tool finden Sie auf der ncdu Webseite.

2. htop als Ersatz für top

htop ist ein interaktiver Prozessbetrachter ähnlich wie top aber das bietet eine angenehmere Benutzererfahrung aus der Box. Standardmäßig htop zeigt dieselben Metriken wie top an in einem angenehmen und farbenfrohen Display.

Standardmäßig htop sieht so aus:

Im Gegensatz zum Standard top :

Außerdem htop bietet Systemübersichtsinformationen oben und eine Befehlsleiste unten, um Befehle mit den Funktionstasten auszulösen, und Sie können sie anpassen, indem Sie F2 drücken um den Setup-Bildschirm aufzurufen. Im Setup können Sie die Farben ändern, Metriken hinzufügen oder entfernen oder Anzeigeoptionen für die Übersichtsleiste ändern.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Während Sie neuere Versionen von top konfigurieren können um ähnliche Ergebnisse zu erzielen, htop bietet gesündere Standardkonfigurationen, was es zu einem netten und einfach zu verwendenden Prozessbetrachter macht.

Um mehr über dieses Projekt zu erfahren, besuchen Sie htop Homepage.

3. tldr als Ersatz für man

Der tldr Das Befehlszeilentool zeigt vereinfachte Informationen zur Befehlsnutzung an, meistens einschließlich Beispielen. Es fungiert als Client für das Tldr-Seiten-Community-Projekt.

Dieses Tool ist kein Ersatz für man . Die Manpages sind nach wie vor die kanonische und vollständige Informationsquelle für viele Tools. In manchen Fällen jedoch man ist zu viel. Manchmal brauchen Sie nicht all diese Informationen über einen Befehl; Sie versuchen nur, sich an die grundlegenden Optionen zu erinnern. Zum Beispiel die Manpage für curl Befehl hat fast 3.000 Zeilen. Im Gegensatz dazu ist der tldr für curl ist 40 Zeilen lang und sieht so aus:

$ tldr curl

# curl
  Transfers data from or to a server.
  Supports most protocols, including HTTP, FTP, and POP3.
  More information: <https://curl.haxx.se>.

- Download the contents of an URL to a file:

  curl http://example.com -o filename

- Download a file, saving the output under the filename indicated by the URL:

  curl -O http://example.com/filename

- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:

  curl -O -L -C - http://example.com/filename

- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):

  curl -d 'name=bob' http://example.com/form                                                                                            
- Send a request with an extra header, using a custom HTTP method:

  curl -H 'X-My-Header: 123' -X PUT http://example.com                                                                                  
- Send data in JSON format, specifying the appropriate content-type header:

  curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234

... TRUNCATED OUTPUT

TLDR steht für „zu lang; nicht gelesen“, was Internet-Slang für eine Zusammenfassung eines langen Textes ist. Der Name ist passend für dieses Tool, da Handbuchseiten zwar nützlich, aber manchmal einfach zu lang sind.

In Fedora ist das tldr Client wurde in Python geschrieben. Sie können es mit dnf installieren . Weitere Client-Optionen finden Sie im Tldr-Seiten-Projekt.

Im Allgemeinen ist die tldr Tool erfordert Zugriff auf das Internet, um die tldr-Seiten zu konsultieren. Der Python-Client in Fedora ermöglicht es Ihnen, diese Seiten für den Offline-Zugriff herunterzuladen und zwischenzuspeichern.

Weitere Informationen zu tldr , können Sie tldr tldr verwenden .

4. jq als Ersatz für sed/grep für JSON

jq ist ein Befehlszeilen-JSON-Prozessor. Es ist wie sed oder grep aber speziell für den Umgang mit JSON-Daten entwickelt. Wenn Sie ein Entwickler oder Systemadministrator sind, der JSON für Ihre täglichen Aufgaben verwendet, ist dies ein unverzichtbares Tool in Ihrer Toolbox.

Der Hauptvorteil von jq über generische Textverarbeitungswerkzeuge wie grep und sed ist, dass es die JSON-Datenstruktur versteht, sodass Sie komplexe Abfragen mit einem einzigen Ausdruck erstellen können.

Stellen Sie sich zur Veranschaulichung vor, Sie versuchen, den Namen der Container 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"
  }
}

Wenn Sie versuchen, grep direkt für name , das ist das Ergebnis:

$ grep name k8s-pod.json
        "name": "myapp",
        "namespace": "project1"
                "name": "busybox"
                "name": "nginx",

grep gab alle Zeilen zurück, die das Wort name enthalten . Sie können grep einige weitere Optionen hinzufügen um es einzuschränken, und mit einigen regulären Ausdrücken können Sie die Namen der Container finden. Mit jq erhalten Sie das gewünschte Ergebnis , verwenden Sie einen Ausdruck, der das Navigieren in der Datenstruktur simuliert, wie folgt:

$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"

Dieser Befehl gibt Ihnen den Namen beider Container. Wenn Sie nur nach dem Namen des zweiten Containers suchen, fügen Sie den Index des Array-Elements zum Ausdruck hinzu:

$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"

Denn jq die Datenstruktur kennt, liefert es die gleichen Ergebnisse, selbst wenn sich das Dateiformat geringfügig ändert. grep und sed kann bei kleinen Änderungen am Format andere Ergebnisse liefern.

jq hat viele Funktionen, und um sie alle abzudecken, wäre ein weiterer Artikel erforderlich. Weitere Informationen finden Sie im jq Projektseite, die Manpages oder tldr jq .

5. fd als Ersatz für find

fd ist eine einfache und schnelle Alternative zum find Befehl. Es zielt nicht darauf ab, die vollständige Funktionalität find zu ersetzen bietet; Stattdessen bietet es einige vernünftige Standardeinstellungen, die in bestimmten Szenarien sehr hilfreich sind.

Wenn Sie beispielsweise nach Quellcodedateien in einem Verzeichnis suchen, das ein Git-Repository enthält, fd schließt automatisch versteckte Dateien und Verzeichnisse aus, einschließlich .git Verzeichnis sowie das Ignorieren von Mustern aus .gitignore Datei. Im Allgemeinen bietet es schnellere Suchen mit relevanteren Ergebnissen beim ersten Versuch.

Standardmäßig fd führt eine Mustersuche ohne Berücksichtigung der Groß-/Kleinschreibung im aktuellen Verzeichnis mit farbiger Ausgabe durch. Dieselbe Suche mit find erfordert, dass Sie zusätzliche Befehlszeilenparameter angeben. Um beispielsweise alle Markdown-Dateien (.md oder .MD ) im aktuellen Verzeichnis, find Befehl ist dieser:

$ find . -iname "*.md"

Hier ist die gleiche Suche mit fd :

$ fd .md

In manchen Fällen fd erfordert zusätzliche Optionen; Wenn Sie beispielsweise versteckte Dateien und Verzeichnisse einschließen möchten, müssen Sie die Option -H verwenden , während dies in find nicht erforderlich ist .

fd ist für viele Linux-Distributionen verfügbar. Installieren Sie es in Fedora unter Verwendung der Standard-Repositories:

$ sudo dnf install fd-find

Weitere Informationen finden Sie im fd GitHub-Repository.

Tolle Alternativen neben bewährten Dienstprogrammen

Während ich alle alten wichtigen Tools immer noch regelmäßig verwende, insbesondere wenn ich eine Remoteverbindung zu Servern herstelle, bieten die alternativen Tools einige zusätzliche Vorteile, die in vielen Szenarien wertvoll sind. Sie helfen mir insbesondere bei der Verwaltung und Arbeit auf meinen Linux-Desktop- und -Laptop-Rechnern.

Verwenden Sie andere Tools, die Ihren Workflow unterstützen? Fügen Sie sie im Kommentarbereich unten hinzu.


Linux
  1. CA-Zertifikate für Linux-Befehlszeilentools verfügbar machen

  2. Einführung in den Alternativen-Befehl in Linux

  3. Befehlszeilenverlauf in Linux

  4. Befehlszeilen-Texteditoren unter Linux

  5. Übertaktungstools unter Linux

TrueCrypt auf modernen Linux-Distributionen

Leitfaden zur Installation von VMware Tools unter Linux

Installieren Sie wichtige Build-Tools unter Ubuntu 22.04 oder 20.04 LTS Linux

Linux – Diagramm des Linux-Kernels vs. Performance-Tools?

Wesentliche Beispiele des ps-Befehls in Linux

Die 10 besten Linux-Gitarren-Tools:Das unverzichtbare Toolkit des Gitarristen