Command Line Kung Fu: Bash-Scripting-Tricks, Linux Tipps und praktische Einzeiler für die Shell
By Jason Cannon
()
About this ebook
Werde ein Linux-Ninja mit Command Line Kung Fu!
Denkst du auch, dass du dich monatelang in einem Keller einschließen musst, um kryptische man-pages zu lesen, damit du Ninja-artige Kommandozeilen-Skills bekommst?
In Wirklichkeit könntest du dir schon eine Menge Zeit und Frust ersparen, wenn du einfach nur jemanden hättest, der dir seine Tipps, Tricks und Tools zeigt. Was wäre, wenn du einem guten Freund über die Schulter schauen könntest, der nebenher zufällig ein Kommandozeilen-Guru ist? Wenn er dir nicht nur die Befehle zeigt, die er verwendet, sondern auch warum er sie verwendet und wie sie genau funktionieren? Und was wäre, wenn dieser Freund sich die Zeit nehmen würde, all das aufzuschreiben, damit du es nachlesen kannst? Wann immer du willst?
Tatsächlich gibt es diesen Freund, und er hat genau das getan. Command Line Kung Fu ist vollgepackt mit dutzenden Tipps und über 100 Beispielen aus dem echten Leben. In diesem Buch wirst du keine theoretischen Beispiele finden, sondern lernen, wie du echte Probleme lösen und im Alltag relevante Aufgaben schnell und einfach erledigen kannst.
Die einzelnen Techniken sind außerdem leicht aufzufinden. Jedes Kapitel behandelt ein spezielles Thema und inhaltlich zusammengehörige Tipps und Beispiele. Wenn du zum Beispiel Hilfe dabei benötigst, Text aus einer Datei zu extrahieren, kannst du einfach in das Kapitel zur Textmanipulation schauen.
Hier sind ein paar Beispiele von dem, was du in Command Line Kung Fu lernen wirst:
- Wie du einfach und schnell Befehle aus deiner Shell-Historie wiederholst
- Wie du bestimmte Wörter aus deiner Shell-Historie herausholst, um sie in einem neuen Befehl wiederzuverwenden
- Wie du eine Kopie deiner Kommandozeilensitzung speicherst
- Wie du Leerzeilen und Kommentare aus Dateien entfernst
- Texttransformation: von der Änderung der Groß- und Kleinschreibung bis zum Austausch bestimmter Zeichen und mehr
- Wie du bestimmte Textblöcke aus Dateien oder einem Eingabe-Stream extrahieren kannst
- Ein schneller Tipp, um häufige Schreibfehler zu korrigieren
- Wie du Dateien über das Netzwerk bearbeiten kannst
- Wie du die Unterschiede zwischen lokalen und entfernten Dateien feststellen kannst
- Die Erstellung und Verwendung von SSH-Tunnels
- Wie du feststellen kannst, welche Programme auf welchen Ports lauschen
- Wie du alle Prozesse eines bestimmten Benutzers mit einem einzigen Befehl beendest
- Strategien zum Umgang mit Multi-Hop-SSH-Verbindungen
- Wie du die Verbindung zu einem Server trennen kannst, um später dort weiterzumachen, wo du stehen geblieben ist
- Wie du Softwareinstallationen automatisierst, die Benutzereingaben erwarten
- Wie du einen Befehl automatisch so lange wiederholst, bis er erfolgreich ausgeführt wurde
- Wie du von der Kommandozeile aus im Web surfen kannst… Und viel wichtiger, wie du Dateien aus dem Web herunterladen und auf HTTP APIs zugreifen kannst
- Wie du deine Internetverbindung sicherst, wenn du einen offenen Spot verwendest
- Wie du von der Kommandozeile aus zufälligen Passwörter erzeugst
- Zwei Tipps, mit denen du ganz einfach Backups anlegen kannst
- Tipps zum Umgang mit Tar-Archiven
- Wie du mit einem Befehl Textblöcke in mehreren Dateien gleichzeitig ersetzt
- und viel mehr…
Was du in Command Line Kung Fu lernst, kann auf jeder Linux-Distribution verwendet werden, einschließlich Ubuntu, Debian, Linux Mint, RedHat, Fedora, OpenSUSE und Slackware..
Jason Cannon
Jason Cannon is an award-winning actor, director, improviser, playwright, teacher, and author. He has an MFA in Directing, a Master's in Drama, and a quarter-century in the professional theatre. As an actor, Jason has portrayed everything from a rapping dinosaur to a robot and from a hitman to Hamlet. He has written plays about J. R. R. Tolkien and Aesop, directed plays about hiccuping dragons and foul-mouthed puppets, and once while improvising he was attacked by a stage light. He lives in Florida just a holler from the Gulf with his partner Rebecca and their two silly pups, Gaia and Odin. He makes a killer key lime pie and runs lots of 10Ks and half-marathons. Jason believes storytelling in all its forms-whether seen on the stage or read on a page-has the power not only to entertain but also to comfort, provoke, and inspire us to be better humans. Jason is also available as a workshop leader, story coach, editor, teacher, speaker, emcee, and even wedding officiant. Learn more about Jason at jason-cannon.com and check out his other books at ibis-books.com
Related to Command Line Kung Fu
Related ebooks
Groovy – kurz & gut Rating: 0 out of 5 stars0 ratingsEinführung in Perl Rating: 5 out of 5 stars5/5Clusterbau: Hochverfügbarkeit mit Linux Rating: 0 out of 5 stars0 ratingsC# 8.0 – kurz & gut Rating: 0 out of 5 stars0 ratingsC# 10 – kurz & gut Rating: 0 out of 5 stars0 ratingsPowerShell – kurz & gut: Für PowerShell 7 und Windows PowerShell 5 Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Computerspielen: In Visual Basic 5.0 / 6.0 Rating: 0 out of 5 stars0 ratingsASP.NET Core: Eine Einführung Rating: 0 out of 5 stars0 ratingsBash kurz & gut Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsDocker: Webseiten mittels Containerarchitektur erstellen Rating: 3 out of 5 stars3/5Windows PowerShell 5 – kurz & gut Rating: 0 out of 5 stars0 ratingsCloud-Services testen: Von der Risikobetrachtung zu wirksamen Testmaßnahmen Rating: 0 out of 5 stars0 ratingsModerne Realzeitsysteme kompakt: Eine Einführung mit Embedded Linux Rating: 0 out of 5 stars0 ratingsSicherheit in vernetzten Systemen: 26. DFN-Konferenz Rating: 0 out of 5 stars0 ratingsEmbedded Linux lernen mit dem Raspberry Pi: Linux-Systeme selber bauen und programmieren Rating: 0 out of 5 stars0 ratingsMontaigne Rating: 0 out of 5 stars0 ratingsVue.js für alle: Wissenswertes für Einsteiger und Experten Rating: 0 out of 5 stars0 ratingsCloud Computing Anbietervergleich: Amazon / Microsoft / Google & Co Rating: 0 out of 5 stars0 ratingsMicrosoft KINECT: Programmierung des Sensorsystems Rating: 0 out of 5 stars0 ratingsMaschinelles Lernen In Aktion: Einsteigerbuch Für Laien, Schritt-Für-Schritt Anleitung Für Anfänger Rating: 0 out of 5 stars0 ratingsJava Core Programmierung: Memory Model und Garbage Collection Rating: 0 out of 5 stars0 ratingsNetzwerktechnik, Band 2: Erweiterte Grundlagen Rating: 0 out of 5 stars0 ratingsMachine Learning – Die Referenz: Mit strukturierten Daten in Python arbeiten Rating: 0 out of 5 stars0 ratingsC++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratingsWindows PowerShell: Grundlagen & Scripting-Praxis für Einsteiger – Für alle Versionen Rating: 0 out of 5 stars0 ratingsEinführung in SQL: Daten erzeugen, bearbeiten und abfragen Rating: 0 out of 5 stars0 ratingsC++17: Praxiswissen zum neuen Standard. Von C++11 bis 17 Rating: 0 out of 5 stars0 ratings
Computers For You
Erste Schritte mit dem Raspberry Pi: Installation, Konfiguration, Tuning und Praxis für alle aktuellen Raspberry-Pi-Modelle Rating: 0 out of 5 stars0 ratingsChatGPT Plus: Durchstarten in eine neue Welt: Entdecken Sie Künstliche Intelligenz mit ChatGPT Plus und GPT-4 Rating: 0 out of 5 stars0 ratingsNimm den Chor doch selber auf: Crashkurs für das Aufnehmen und Mischen von Chören Rating: 0 out of 5 stars0 ratingsDas Minecraft-Architekten-Buch: Schneller, einfacher und größer bauen mit 3D-Tools Rating: 0 out of 5 stars0 ratingsEinführung ins Darknet: Darknet ABC Rating: 0 out of 5 stars0 ratingsProgrammieren in C: Programmieren lernen von Anfang an - Mit vielen Programmierbeispielen - Geeignet zum Selbststudium Rating: 0 out of 5 stars0 ratingsSAP Business One® Dashboards: Bessere Ergebnisse mit SAP Business One® Rating: 0 out of 5 stars0 ratingsNeuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python Rating: 0 out of 5 stars0 ratings...Als die Noten laufen lernten...Band 2: Kabarett-Operette-Revue-Film-Exil. Unterhaltungsmusik bis 1945 Rating: 0 out of 5 stars0 ratingsShopware 6 Handbuch Rating: 0 out of 5 stars0 ratingsLaws of UX: 10 praktische Grundprinzipien für intuitives, menschenzentriertes UX-Design Rating: 0 out of 5 stars0 ratingsDie KI sei mit euch: Macht, Illusion und Kontrolle algorithmischer Vorhersage Rating: 0 out of 5 stars0 ratings60+ Webtools - Für den Unterricht und mehr: Unterricht Digital gestalten und spielerisch Online Unterrichten Rating: 0 out of 5 stars0 ratingsWordPress - Elementor Rating: 0 out of 5 stars0 ratingsBig Data: Die neue Intelligenz des Menschen (GEO eBook) Rating: 0 out of 5 stars0 ratingsDie Geschichte des Computers: Wie es bis zur Form des heutigen 'PC' kam. Rating: 0 out of 5 stars0 ratingsScribus Desktop Publishing: Das Einsteigerseminar Rating: 0 out of 5 stars0 ratingsBig Data - Apache Hadoop Rating: 0 out of 5 stars0 ratingsEinstieg in ChatGPT: Künstliche Intelligenz verstehen und nutzen: Ein praktischer Ratgeber für Einsteiger Rating: 0 out of 5 stars0 ratingsMachine Learning – kurz & gut: Eine Einführung mit Python, Pandas und Scikit-Learn Rating: 5 out of 5 stars5/5Tastenkombinationen für den Mac: Alle wichtigen Funktionen Rating: 0 out of 5 stars0 ratingsRaspberry Pi Kinderleicht: Pi 4 mit 8 GB Rating: 0 out of 5 stars0 ratingsAufstieg der Roboter: Wie unsere Arbeitswelt gerade auf den Kopf gestellt wird - und wie wir darauf reagieren müssen Rating: 0 out of 5 stars0 ratingsKybernetik, Kommunikation und Konflikt: Gregory Bateson und (s)eine kybernetische Konflikttheorie Rating: 0 out of 5 stars0 ratingsTaschen-Guide zur Professional Scrum Master-Zertifizierung (PSM 1) Rating: 0 out of 5 stars0 ratingsUnterirdisches Slowenien: Ein Exkursionsführer zu den Höhlen des Klassischen Karstes Rating: 0 out of 5 stars0 ratingsDatenbanken: Grundlagen und Entwurf Rating: 0 out of 5 stars0 ratingsLexikon der Symbole und Archetypen für die Traumdeutung Rating: 5 out of 5 stars5/5
Reviews for Command Line Kung Fu
0 ratings0 reviews
Book preview
Command Line Kung Fu - Jason Cannon
EINLEITUNG
––––––––
Ich arbeite seit den 1990er Jahren mit Unix- und Linux-Systemen. Daher fühle ich mich ganz zu Hause, wenn ich das typische Dollarzeichen und den blinkenden Cursor vor mir habe. Und im Laufe der Jahre habe ich viele Kommandozeilen-Tricks gelernt, die mir schon eine ganze Menge Zeit und Frust erspart haben.
Einige dieser Tricks sind aus der reinen Notwendigkeit heraus entstanden – ich hatte einfach zu viel Arbeit und zu wenig Zeit, um diese Arbeit zu erledigen. Manche Tipps orientieren sich an Vorgehensweisen, die man auch in der Computerprogrammierung und Anwendungsentwicklung findet. Den Rest habe ich direkt oder indirekt von meinen persönlichen Vorbildern und Mentoren übernommen. Es ist kaum zu glauben, was man alles lernen kann, wenn man einem erfahren Unix- oder Linux-Profi über die Schulter schaut, ihn nachahmt und seinen Rat annimmt.
Auch wenn dieses Buch den Titel Command Line Kung Fu trägt, muss man kein Linux-Ninja sein, um diese Tipps anzuwenden. Sie funktionieren genau so, wie ich sie in diesem Buch beschreibe. Du kannst sie sofort benutzen, auch wenn du die Details und Zusammenhänge noch nicht vollständig verstanden hast. Falls du mehr darüber wissen willst, habe ich jedem dieser Tricks eine kleine Erklärung sowie Beispiele hinzugefügt, die so auch regelmäßig in meinem Alltag vorkommen.
Also, fangen wir an.
SHELL-HISTORIE
Den letzten Befehl als root ausführen
$ sudo !!
$ su -c !!
Falls du jemals vergessen hast, einen Befehl mit root-Privilegien auszuführen, kannst du ihn einfach mit sudo !! oder su -c !!
wiederholen.
$ adduser sam
-bash: /usr/sbin/adduser: Permission denied
$ sudo !!
sudo adduser sam
$ id sam
uid=1007(sam) gid=1007(sam) groups=1007(sam)
$ userdel -r sam
-bash: /usr/sbin/userdel: Permission denied
$ sudo !!
sudo userdel -r sam
$ id sam
id: sam: No such user
$ useradd jim
-bash: /usr/sbin/useradd: Permission denied
$ su -c !!
su -c useradd jim
Password:
$ id jim
uid=1007(jim) gid=1007(jim) groups=1007(jim)
Diese Syntax mit Ausrufezeichen bezeichnet man als Event-Designator. Ein Event-Designator verweist auf einen Befehl in der Shell-Historie. Zwei aufeinanderfolgende Ausrufezeichen, auch als „Bang-Bang" bezeichnet, wiederholen den letzten Befehl in der Historie. Allerdings verwende ich den Event-Designator auch gerne, um den letzten Befehl zu wiederholen, der mit einem bestimmten Zeichen beginnt. Hier ein Beispiel:
$ whoami
jason
$ uptime
12:33:15 up 35 min, 1 user, load average: 0.00, 0.00, 0.00
$ df -hT /boot
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 485M 55M 406M 12% /boot
$ !u
uptime
12:33:29 up 35 min, 1 user, load average: 0.00, 0.00, 0.00
$ sudo !w
sudo whoami
root
Den letzten Befehl ausführen, der mit einer bestimmten Zeichenfolge beginnt
$ !
Hierbei handelt es sich ebenfalls um einen Event-Designator. !
$ who
jason pts/1 2014-04-06 21:04 (192.168.1.117)
$ w
jason pts/1 192.168.1.117 21:04 0.00s 0.33s 0.00s w
$ !w
w
jason pts/1 192.168.1.117 21:04 0.00s 0.33s 0.00s w
$ !wh
who
jason pts/1 2014-04-06 21:04 (192.168.1.117)
Hier ist ein praktisches Beispiel, in dem wir zunächst prüfen, ob ein Prozess läuft, diesen Prozess anschließend stoppen und schließlich überprüfen, ob er tatsächlich beendet wurde.
$ ps -fu apache
UID PID PPID C STIME TTY TIME CMD
apache 1877 1879 0 21:32 ? 00:00:00 /usr/sbin/httpd
apache 1879 1 0 21:32 ? 00:00:00 /usr/sbin/httpd
$ sudo service httpd stop
Stopping httpd: [ OK ]
$ !p
ps -fu apache
UID PID PPID C STIME TTY TIME CMD
$
Das erste Argument des letzten Befehls wiederverwenden
$ !^
Um das zweite Wort des vorherigen Befehls wiederzuverwenden, kann man den !^-Designator verwenden. Wo immer der Kommandozeileninterpreter auf !^ trifft, wird er es durch das zweite Wort – zumeist handelt es sich dabei um das erste Argument – des vorhergehenden Kommandos ersetzen.
$ host www.google.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:
www.google.com has address 173.194.46.83
www.google.com has address 173.194.46.81
www.google.com has address 173.194.46.84
www.google.com has address 173.194.46.82
www.google.com has address 173.194.46.80
www.google.com has IPv6 address 2607:f8b0:4009:805::1013
$ ping -c1 !^
ping -c1 www.google.com
PING www.google.com (173.194.46.80) 56(84) bytes of data.
64 bytes from ord08s11-in-f16.1e100.net (173.194.46.80): icmp_seq=1 ttl=51 time=17.0 ms
-—www.google.com ping statistics—-
1 packets transmitted, 1 received, 0% packet