Ultimative Liste ungewöhnlicher, aber wirklich nützlicher Linux-Shell-Befehle

Dies ist eine Zusammenstellung weniger bekannter, aber sehr nützlicher Linux-Shell-Befehle. Nützlich im Sinne von: Zeitersparnis, zusätzliche Werkzeuge, um Dinge zu tun, die Sie vorher nicht tun konnten, aber auch unterhaltsam. Viel Spaß beim Lesen, und lassen Sie uns in den Kommentaren wissen, ob es weitere Tools gibt, die wir hinzufügen sollten!

Die Installationsanweisungen sind für Debian-basierte Systeme, sie wurden auf dem Raspberry Pi OS getestet, auf einem Raspberry Pi 4 / 1 GB. YMMV auf anderen Systemen, aber probieren Sie einfach mal diese Befehle aus 🙂 .

sudo !!

Damit wird der vorherige Befehl mit vorangestelltem sudo ausgeführt. Sehr nützlich, wenn Sie vergessen haben, einen Befehl mit sudo voranzustellen:

apt-get update
sudo !!

Sie brauchen es nicht zu installieren, wenn sudo auf Ihrem System vorhanden ist, sollte dies funktionieren. Beachten Sie das Leerzeichen zwischen sudo und den Ausrufezeichen.

Der mit sudo vorbereitete Befehl wird auch zu Ihrem Bash-Verlauf hinzugefügt, so dass Sie ihn bequem aufrufen können, indem Sie die Pfeiltaste "nach oben" drücken, um ihn zu wiederholen. (Ich habe dies in der Animation oben demonstriert. sudo !! selbst wird NICHT zu Ihrem Verlauf hinzugefügt)

tac (Katze rückwärts)

Diese praktische Anweisung ist zusammen mit ihrem bekannteren Bruder, cat, eingebaut. Übergeben Sie ihr eine Datei, damit sie die Zeilenreihenfolge in der Datei umkehrt und die letzte Zeile zuerst ausgibt:

tac /etc/magic

Dieser Befehl ist sehr nützlich, wenn Sie z. B. Protokolldateien einsehen wollen.

tldr - manpages, vereinfacht!

Um die Bombe zu entschärfen, geben Sie beim ersten Versuch einfach einen gültigen Tar-Befehl ein. Sie haben 10 Sekunden Zeit
xcdk 1168

manpages sind nützlich, aber manchmal recht langatmig. Haben Sie sich dabei ertappt, dass Sie gegoogelt haben, anstatt in die Manpage zu schauen? Einfach, weil Sie praktische Beispiele für den täglichen Gebrauch suchen, anstatt all den Schnickschnack, den ein Befehl zu bieten hat? tldr liefert "kollaborative Cheatsheets für Konsolenbefehle"

TL;DR: tldr ist das ideale Werkzeug für schnelle Zusammenfassungen von Linux-Befehlen

Außerdem gibt es eine PDF-Version (tldr.sh) die alle derzeit verfügbaren tldr-Seiten enthält

Installation von tldr

Hinweis: Dazu muss npm / node.js auf Ihrem Linux-System installiert sein.

npm install -g tldr

mit tldr

einfach tippen tldr gefolgt von dem Befehl, an dem Sie interessiert sind. Beim ersten Durchlauf wird tldr seinen Cache aktualisieren und einen Index erstellen, was eine Weile dauern wird. Um zum Beispiel die tldr-Seite über gzip zu sehen, führen Sie aus:

tldr gzip

Beiträge und tldr-Alternativen

Wenn Sie zu tldr beitragen möchten, schauen Sie sich die GitHub - tldr-pages/tldr: 📚 Gemeinsame Cheatsheets für Konsolenbefehleund ihre Beitragsrichtlinien.

Es gibt einige Alternativen:

  • Betrug
  • Bro-Seiten ("Kommen Sie einfach auf den Punkt")
  • navi - ermöglicht es Ihnen, interaktiv durch Cheatsheets zu blättern und den Befehl zu erstellen, den Sie ausführen möchten
  • schummeln.sh - kann ohne Installation verwendet werden, indem man curl

how2 - Stackoverflow aus dem Terminal

tldr und cousins sind sehr nützlich, wenn Sie den gewünschten Befehl bereits kennen. Aber was können Sie tun, wenn Sie nur wissen, was Sie tun müssen, aber noch nicht, wie? Wir alle wissen, wie ablenkend Browser sein können. Das Werkzeug how2 hilft Ihnen, eine schnelle Antwort zu erhalten, ohne die Befehlszeile verlassen zu müssen.

how2-Installation

Erfordert die Installation von node.js und des npm-Paketmanagers auf Ihrem System.

sudo npm install -g how-2

how2-Verwendung

wie2 ein NTFS-Laufwerk in Raspbian einbinden

Wenn Sie mit der Antwort zufrieden sind, drücken Sie die Eingabetaste, um how2 zu verlassen - andernfalls drücken Sie die Leertaste, um weitere Auswahlmöglichkeiten zu erhalten. Verwenden Sie die Pfeiltasten auf Ihrer Tastatur, um zu navigieren, und Esc zum Beenden.

howdoi - Antworten auf Programmierfragen über die Befehlszeile erhalten

Wenn Sie auf ähnliche Weise Antworten auf Fragen zur Programmierung in der Befehlszeile suchen, ohne zum Browser wechseln zu müssen, sollten Sie sich howdoi:

Wie installiere ich

sudo apt-get update
sudo apt-get install libxml2-dev libxslt-dev python3-lxml python-lxml python-dev
sudo pip3 install howdoi

mit howdoi

howdoi howdoi
howdoi tensorflow in python verwenden
howdoi -c das System mit Python herunterfahren

Die -c Flagge wird die farbige Ausgabe aktiviert. Standardmäßig sucht howdoi mit Google, aber Sie können auch bing oder duckduckgo verwenden.

autojump - ein schnellerer Weg, um durch das Dateisystem zu navigieren

AutoSprung verwaltet eine Datenbank der Verzeichnisse, die Sie am häufigsten von der Kommandozeile aus aufrufen, und ermöglicht es Ihnen, zu dem Verzeichnis zu springen, indem Sie nur einen Teil des Namens angeben. Sie müssen nicht wiederholt cd nicht mehr in Ihr Zielverzeichnis!

Autojump-Installation

sudo apt-get update
sudo apt-get install autojump

Aus Richtliniengründen müssen Sie dann autojump manuell zu Ihrer ~/.bashrc für interaktive Shells ohne Login und zu Ihrer ~/.bash_profile für Login-Shells hinzufügen:

nano ~/.bashrc

und fügen Sie die folgende Zeile am Ende ein:

. /usr/share/autojump/autojump.sh

Hinweis: Sie müssen das Terminal erneut öffnen bzw. die Verbindung über SSH wiederherstellen, damit die Änderungen wirksam werden.

Autojump verwenden

autojump verfügt über ein praktisches Tastenkürzel, "j", das Ihnen hilft, weniger zu tippen. Um mit autojump zu beginnen, müssen Sie die Verzeichnispfade voreinstellen. Navigieren Sie normal, z. B.

cd /etc/python

Nachdem Sie diesen Cache der besuchten Verzeichnisse aufgebaut haben (autojump merkt sich die Häufigkeit!), können Sie zu ihnen springen, indem Sie einen Teil des Namens eingeben, z.B.:

j pyt

Ähnliche Tools wie autojump

Es gibt eine Reihe von ähnlichen Anwendungen wie Autojump:

mtr - eine Kombination aus ping und traceroute

mtr zeigt Ihnen den Weg, den Ihre Netzwerkpakete von Ihrem Raspberry Pi zu einem Host nehmen. Das ist nützlich für die Netzwerkdiagnose, um zum Beispiel die Latenz zu analysieren. Aber es ist auch einfach interessant zu sehen, wie das Internet funktioniert, indem es Ihre Pakete von einem Host zum anderen weiterleitet 🙂

Installation von mtr

sudo apt-get update
sudo apt-get install mtr

Verwendung von mtr

mtr

mtr sendet Pakete mit absichtlich niedrigen TTLs (time to live) und erhöht diese kontinuierlich, um die Netzwerkpfade zu analysieren. Ein plötzlicher Anstieg der Paketverluste oder der Antwortzeit ist oft ein Hinweis auf eine schlechte (oder einfach überlastete) Verbindung.

bat: Cat-Code-Dateien mit Syntax-Hervorhebung

Es gibt viele Katzenklone: Fledermaus ist ein Katzenklon mit Flügeln. Es hat eine Reihe zusätzlicher Funktionen, die es zu einem leistungsstarken Ersatz für die Katze machen:

  • Syntaxhervorhebung für viele Programmier- und Auszeichnungssprachen
  • Integration mit Git zur Anzeige von Änderungen
  • optional nicht druckbare Zeichen anzeigen (mit der Option -A Flagge)

Standardmäßig leitet bat auch seine eigene Ausgabe an einen Pager weiter (z. B. weniger), wenn die Ausgabe zu groß für einen Bildschirm ist.

Fledermaus-Installation

Die Fledermaus GitHub-Seite gibt Installationsanweisungen für verschiedene Linux-Systeme (und sogar Windows!)

bat ist derzeit nur in der "sid" (unstable) Version von Debian verfügbar. Um es auf dem Raspberry Pi OS zu installieren, gehen Sie rüber zu https://github.com/sharkdp/bat/releasesund laden Sie das entsprechende Paket herunter. (Wenn Sie ein 32-Bit-Raspberry Pi-Betriebssystem verwenden, verwenden Sie bat_*.armhf.deb, für 64-Bit verwenden Sie bat_*_arm64.deb; wenn Sie dies auf einem x86 / AMD64-System einrichten, sind diese Pakete ebenfalls verfügbar).

cd /tmp
wget https://github.com/sharkdp/bat/releases/download/v0.17.1/bat_0.17.1_armhf.deb
sudo apt-get install ./bat_0.17.1_armhf.deb

Fledermauseinsatz

Verwenden Sie einfach Fledermaus wie Sie es verwenden würden Katze:

bat beispiel.py

Die Syntaxhervorhebung wird anhand der ersten Zeile einer Datei ermittelt (idealerweise ein Shebang wie #!/bin/sh)

asciinema & svg-term-cli: SVG-Filme aus Shell-Interaktionen erstellen

Anmerkung: Dies ist asciinema, nicht asciicinema 🙂

Sie könnten verwenden OBS-Studio um Ihren Bildschirm aufzunehmen und einen Film für YouTube zu erstellen, in dem Sie die Hülle zeigen. Aber - es ist ein Video, das einige Nachteile hat:

  • Größe
  • Auflösung ist festgelegt

asciinema ermöglicht es Ihnen, diese als Textströme zu erfassen und sie als so genannten Asciicast zu veröffentlichen. Sie können sie in Ihre Seiten einbetten, indem Sie ein kleines JavaScript-Snippet einfügen, das sie zur Verfügung stellen. Schauen Sie sich ein Beispiel für den Asciicast die wir für diesen Blogbeitrag aufgezeichnet haben.

Bei Verwendung mit svg-term-cliermöglicht es Ihnen, SVG-Animationen zu erstellen! Diese Filme sind Vektoranimationen, die sich perfekt für Interaktionen in der Shell eignen. Sie sind kleiner als Videodateien und können ohne Qualitätsverlust gezoomt werden. Außerdem wird kein JavaScript benötigt. Wenn Sie viele dieser Asciicasts einbinden, empfehle ich Ihnen jedoch, die JavaScript-Optionen zu verwenden - andernfalls leidet die Leistung der Seite.

Installation von asciinema

Hier ist ein Link zur Installationsanleitung für asciinemasehen wir uns diese für Raspberry Pi OS (Debian) an:

sudo apt-get update
sudo apt-get install asciinema

Außerdem sollten Sie ein Konto auf asciinema.org einrichten - benötigen Sie nur Ihre E-Mail-Adresse und verknüpfen Ihr Konto mit der asciinema-Installation auf Ihrem Raspberry Pi, indem Sie es ausführen:

AsiKino-Autor

Dadurch wird eine URL für Sie generiert. Wenn Sie diese URL aufrufen, während Sie eingeloggt sind, verknüpfen Sie die lokale asciinema-Installation mit Ihrem asciinema.org-Konto. So können Sie die Aufnahmen verwalten (Titel festlegen, Beschreibungen bearbeiten, sie öffentlich machen) und verhindern, dass die Aufnahmen automatisch nach 7 Tagen archiviert werden.

Installation von svg-term-cli

Hinweis: Dies erfordert node.js & die Paketmanager npm um zu funktionieren. Dies ist nur notwendig, wenn Sie aus Ihren Asciicasts animierte SVG-Dateien erstellen wollen.

sudo npm install -g svg-term-cli

Verwendung von asciinema

Um die Aufnahme zu starten, geben Sie ein:

AsiKino-Aufnahme

Dadurch wird eine neue Shell-Instanz gestartet und die Aufzeichnung der Terminalinteraktionen beginnt. Um die Aufzeichnung zu beenden, drücken Sie Strg + D oder tippen Ausgang

asciinema wird Sie nun fragen, ob Sie Ihre Aufnahme auf asciinema.org hochladen möchten (durch Drücken von Eingabe), oder um sie lokal zu speichern (durch Drücken von Strg + C). Im letzteren Fall wird ein .gießen Datei im temporären Verzeichnis erstellt werden:

asciinema: Aufnahme beendet
asciinema: zum Hochladen auf asciinema.org drücken, zum lokalen Speichern
asciinema: asciicast gespeichert in /tmp/tmp21kux252-ascii.cast

Sie können auch die zu verwendende Ausgabedatei angeben:

asciinema rec /tmp/example.cast

Tipp: Skalieren Sie Ihr Terminalfenster auf die Spalten- und Zeilenauflösung, die Sie in der Animation haben möchten, bevor Sie die Aufzeichnung starten; die Optionen -width und -height von svg-term-cli beschneiden einfach die Ausgabe

Um die Datei in asciinema hochzuladen, können Sie sie nun ausführen:

asciinema upload /tmp/example.cast

Siehe auf dieser Seite finden Sie eine ausführlichere Anleitung zur Verwendung von asciinema.

Konvertierung von asciinema .cast-Dateien in .svg-Dateien mit svg-term-cli

Eine Möglichkeit (und aus Performance-Gründen die empfohlene) ist es, Ihre .cast-Dateien auf asciinema.org zu hosten - das ist gut dokumentiert auf ihrer Seite. Hier werden wir die Möglichkeit untersuchen, die Aufnahme in eine animierte .svg-Datei zu konvertieren.

svg-term --in /tmp/tmp21kux252-ascii.cast --out /tmp/example.svg

Hinweis: WordPress deaktiviert den SVG-Upload standardmäßig aus Sicherheitsgründen. Es gibt Plugins, um SVG-Uploads auf sichere Art und Weise zu ermöglichen.

exa: ein moderner Ersatz für ls

Während man ls dazu bringen kann, Farben anzuzeigen, verwendet exa Farben in einer wirklich optimierten Weise und unterstützt Sie mit zusätzlichen Informationen.

Zum Beispiel ist eine Baumansicht eingebaut, die Ihnen die Informationen zu Ihren Dateien entlang der Hierarchie anzeigt. exa kennt auch verschiedene Dateitypen und zeigt sie in verschiedenen Farben an. Außerdem verfügt es über eine eingebaute Git-Unterstützung, um den Staged / Unstaged-Status in der Standardansicht anzuzeigen.

Einbau von Exa

sudo apt-get update
sudo apt-get install exa

mit Exa

exa

exa funktioniert ähnlich wie ls. Verwenden Sie die Flags -l um eine Liste mit Details über Ihre Dateien und Verzeichnisse anzuzeigen, -T um eine Baumansicht mit Unterverzeichnissen anzuzeigen, und -Tl um eine kombinierte Baum-/Detailansicht anzuzeigen. Siehe dazu die exa-Dokumentation für weitere Informationen.

shuf: Zeilen in einer Datei randomisieren

Nehmen wir an, Sie möchten eine zufällige Liste erstellen (von Benutzern, Aktivitäten, suchen Sie sich etwas aus!), indem Sie die Einträge in einer Datei durchmischen. Nun, mit diesem Tool (das bereits vorinstalliert sein sollte) haben Sie Glück:

shuf-Beispiel.txt

rig: Erstellung falscher Identitäten

Manchmal werden Sie von einer Seite gezwungen, sich mit Ihrer Identität anzumelden. Diese Seiten sind clever: Sie überprüfen zum Beispiel, ob Ihre Stadt mit Ihrer Postleitzahl übereinstimmt. rig ermöglicht es Ihnen, diese Herausforderung zu bewältigen, indem es Ihnen auf Anfrage eine unbegrenzte Anzahl von gefälschten Identitäten (US) zur Verfügung stellt, die geografisch einigermaßen korrekt sein sollten. rig selbst basiert auf der passend benannten "gefälschten" MSDOS-Anwendung.

Installation der Anlage

sudo apt-get update
sudo apt-get install rig

Verwendung des Riggs

Rigg

browsh - ein moderner textbasierter Browser

Wir alle kennen die Luchsmit dem Sie jede beliebige Webseite (z. B. Wikipedia) von der Kommandozeile aus öffnen können. lynx ist der älteste noch gepflegte Webbrowser (Stand 2020), der 1992 gestartet wurde.

Aber was ist, wenn lynx einfach nicht ausreicht? Wenn Sie YouTube-Videos abspielen oder auf Webseiten zugreifen möchten, die JavaScript zum Rendern von Inhalten verwenden, usw.?

Sie haben Glück. browshein besonderes Highlight dieser Sammlung ungewöhnlicher Kommandozeilen-Tools, ist ein vollwertiger textbasierter Browser. Er verwendet Firefox im Backend, um Ihre Seite im Headless-Modus darzustellen.

Hinweis: Es wird ein Pi 4 empfohlen, um diese spezielle Anwendung auszuführen, und sie wird immer noch ziemlich langsam erscheinen - Sie verlangen vom Pi, dass er damit einige schwere Aufgaben erledigt! Aber es macht Spaß und wird für Benutzer mit leistungsfähigeren Systemen sicher nützlich sein.

Installation von Browsh

Besuchen Sie die Browsh Downloads Seite und holen Sie sich das entsprechende Paket. Zum Beispiel für Debian ARMv7:

cd /tmp
wget https://github.com/browsh-org/browsh/releases/download/v1.6.4/browsh_1.6.4_linux_armv7.deb
sudo apt-get install ./browsh_1.6.4_linux_armv7.deb

Dadurch wird auch Firefox automatisch eingebunden, falls Sie ihn noch nicht haben.

mit dem Browser

browsh https://google.com

und bereiten Sie sich auf warten eine ganze Menge.

browsh hat gute Dokumentation. hier sind ein paar Hinweise:

  • Verwenden Sie Strg+q zum Verlassen des Browsers
  • Pfeiltasten zum Blättern
  • Rücktaste, um in der Geschichte zurückzugehen
  • ctrl + l fokussiert die URL-Leiste

browsh unterstützt sogar Tabbed Browsing! Außerdem unterstützt es eine interessante Technologie namens moshen was schnellere, vorausschauende Shells über verzögerte Verbindungen ermöglicht.

nohup: eine Anwendung weiterlaufen lassen, nachdem Sie die SSH-Sitzung verlassen haben

Ich erinnere mich an die Bezeichnung "kein Aufhängen". Wenn Sie eine SSH-Sitzung verlassen, erhält die Anwendung, die in Ihrer Sitzung lief, normalerweise eine SIGHUP Signal. Dies führt in der Regel dazu, dass die Anwendung abgebrochen wird.

In manchen Fällen möchten Sie das lieber nicht haben - zum Beispiel, wenn Sie ein Video konvertieren oder einen Server oder einen anderen Stapelverarbeitungsprozess ausführen.

dem Befehl wird vorangestellt nohup lässt es weiterlaufen, auch wenn die Shell geschlossen oder die SSH-Verbindung getrennt wird. Ich kombiniere dies normalerweise mit einem kaufmännischen Und (&), um den Befehl im Hintergrund zu starten:

nohup ./myscript.sh &

lolcat: Färbe deine Shell-Ausgabe ein. Ich meine, färbe sie wirklich ein!

Hast du manchmal das Gefühl, dass es der Welt und insbesondere der Muschel an Farbe mangelt? Keine Sorge - lolcat ist die Rettung.

Installation von lolcat

sudo apt-get update
sudo apt-get install lolcat

lolcat verwenden

lolcat kann wie cat verwendet werden, um Dateien auf Ihrer Shell auszugeben:

lolcat /etc/magic

Außerdem kann es - wie cat - von stdin lesen und Eingaben einspeisen, um ein wenig mehr Farbe in Ihr Leben zu bringen:

man lolcat | lolcat
sudo apt-get update | lolcat

cal: eingebauter Kalender

Linux bietet kleine Überraschungen, wie einen integrierten Kalender.

cal

Wenn Sie auch den vorigen und den nächsten Monat bis zum aktuellen Monat sehen möchten, geben Sie

cal -3

Hinterlassen Sie einen Kommentar