Ultimative Liste von ungewöhnlichen, aber wirklich nützlichen Linux-Shell-Befehlen
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!
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
how2 mount an NTFS drive in Raspbian
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 use tensorflow in python
howdoi -c shut down the system with Python
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 example.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:
asciinema auth
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:
asciinema rec
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 example.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
rig
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
Schlussfolgerung
Da habt ihr es also, Leute! Die ultimative Liste aller Linux-Befehle, von denen Sie nie wussten, dass Sie sie brauchen!
Sie suchen nach weiteren Programmiertipps? Lesen Sie unseren Artikel "9 Tricks mit der Python REPL“!
[...] wenn Sie die ultimativen Linux-Terminalbefehle noch nicht beherrschen, dann wird Sie der Bau eines Cyberdecks wie dieses garantiert inspirieren [...]