Genießen Sie diesen Titel jetzt und Millionen mehr, in einer kostenlosen Testversion

Nur $9.99/Monat nach der Testversion. Jederzeit kündbar.

Command Line Kung Fu: Bash-Scripting-Tricks, Linux Tipps und praktische Einzeiler für die Shell

Command Line Kung Fu: Bash-Scripting-Tricks, Linux Tipps und praktische Einzeiler für die Shell

Vorschau lesen

Command Line Kung Fu: Bash-Scripting-Tricks, Linux Tipps und praktische Einzeiler für die Shell

Länge:
148 Seiten
50 Minuten
Herausgeber:
Freigegeben:
Sep 1, 2016
ISBN:
9781507153499
Format:
Buch

Beschreibung

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

Herausgeber:
Freigegeben:
Sep 1, 2016
ISBN:
9781507153499
Format:
Buch

Über den Autor


Ähnlich wie Command Line Kung Fu

Ähnliche Bücher

Ähnliche Artikel

Buchvorschau

Command Line Kung Fu - Jason Cannon

werde.

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. ! wiederholt den letzten Befehl, der mit einer bestimmten Zeichenfolge begonnen hat. Hier kann man einfach den oder die ersten Buchstaben des Kommandos eingeben, das man wiederholen möchte. Das folgende Beispiel veranschaulicht dieses Prinzip.

$ 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%

Sie haben das Ende dieser Vorschau erreicht. Registrieren Sie sich, um mehr zu lesen!
Seite 1 von 1

Rezensionen

Was die anderen über Command Line Kung Fu denken

0
0 Bewertungen / 0 Rezensionen
Wie hat es Ihnen gefallen?
Bewertung: 0 von 5 Sternen

Leser-Rezensionen