tutorials / linux-terminal-tipps

Linux Terminal Tipps & Tricks

Einleitung

Das Terminal ist das mächtigste Werkzeug unter Linux. Diese Tipps und Tricks helfen dir, produktiver zu arbeiten.

Terminal aufräumen

Terminal leeren

clear

Oder Tastenkombination:

Ctrl+L

Terminal zurücksetzen

Wenn das Terminal “kaputt” ist (z.B. nach cat einer Binärdatei):

reset

Befehlshistorie

History anzeigen

history

In History suchen

history | grep [query]

Oder interaktiv:

Ctrl+R

Dann Suchbegriff eingeben und durch Treffer navigieren.

Letzten Befehl wiederholen

!!

Vorletzten Befehl

!-2

Befehl nach Nummer ausführen

!123

Programme beenden

Gefrorenes Fenster schließen

xkill

Dann auf das gefrorene Fenster klicken.

Prozess per ID beenden

# Prozess finden
ps aux | grep firefox

# Beenden
kill [processID]

# Force kill
kill -9 [processID]

Tab Completion

Tab einmal drücken = Auto-vervollständigen

Tab Tab (doppelt) = Alle Möglichkeiten anzeigen

Funktioniert für:

  • Dateien und Verzeichnisse
  • Befehle
  • Git-Branches
  • SSH-Hosts (wenn konfiguriert)

Aliases

Temporäre Aliases

alias [name]="[command]"

Beispiel:

alias publicip="curl ifconfig.me"

Permanente Aliases

In ~/.bashrc oder ~/.zshrc eintragen:

# My shortcuts
alias h="history"
alias ll="ls -lah"
alias ..="cd .."
alias ...="cd ../.."
alias gs="git status"
alias gp="git pull"
alias update="sudo apt update && sudo apt upgrade"

Danach Reload:

source ~/.bashrc

Alias temporär umgehen

\[command]

Beispiel: Wenn ls ein Alias ist:

\ls

Befehle verketten

Immer alle ausführen (egal ob Fehler)

command1 ; command2 ; command3

Nur bei Erfolg fortfahren

command1 && command2 && command3

Bei Fehler alternativen Befehl

command1 || command2

Befehlssyntax lernen

Man Page

man [command]

Help Flag

[command] --help

TLDR (vereinfachte Beispiele)

tldr [command]

Installation:

npm install -g tldr
# oder
pip install tldr

Cursor Navigation

ShortcutAktion
Ctrl+AZum Anfang der Zeile
Ctrl+EZum Ende der Zeile
Ctrl+FEin Zeichen vorwärts
Ctrl+BEin Zeichen rückwärts
Alt+FEin Wort vorwärts
Alt+BEin Wort rückwärts
Ctrl+UAlles vor Cursor löschen
Ctrl+KAlles nach Cursor löschen
Ctrl+WLetztes Wort löschen
Ctrl+_Undo

Redirection

Output in Datei schreiben (überschreiben)

echo "Write output to file" > example.txt

An Datei anhängen

echo "Append this to file" >> example.txt

Input aus Datei lesen

cowsay < example.txt

Errors in separate Datei

rm -vf folder1 file1 > out.txt 2> err.txt

Output UND Errors in eine Datei

command > output.txt 2>&1

Output verwerfen

command > /dev/null 2>&1

Wildcards & Pattern

Asterisk (*) - alles

ls *.txt         # Alle .txt Dateien
rm prefix*       # Alle Dateien die mit "prefix" beginnen

Fragezeichen (?) - ein Zeichen

ls file?.txt     # file1.txt, fileA.txt, aber nicht file10.txt

Eckige Klammern [] - Zeichenauswahl

ls file[abc].txt     # fileaBC.txt, fileb.txt, filec.txt
ls file[0-9].txt     # file0.txt bis file9.txt

Pipes

Output als Input weiterreichen

cat file.txt | grep "search" | wc -l

Mit tee gleichzeitig in Datei und stdout

ls | tee file-list.txt | less

Background & Foreground

Prozess im Hintergrund starten

long-running-command &

Laufenden Prozess in Hintergrund schicken

Ctrl+Z    # Pausieren
bg        # In Hintergrund weiterlaufen lassen

Background-Prozess in Vordergrund holen

fg

Alle Background-Jobs anzeigen

jobs

Spezielle Variablen

Letztes Argument

mkdir /long/path/to/directory
cd $_    # $_  enthält "/long/path/to/directory"

Oder:

Alt+.
# oder
Esc .

Vorherigen Befehl beibehalten, ein Wort ändern

ls *.png
^png^jpg    # Führt aus: ls *.jpg

Exit-Code des letzten Befehls

echo $?    # 0 = Erfolg, != 0 = Fehler

File Permissions

Permissions anzeigen

ls -l [file]

Output-Format: -rwxr-xr--

  • Position 1: Typ (-=Datei, d=Directory, l=Symlink)
  • Position 2-4: Owner permissions (rwx)
  • Position 5-7: Group permissions (r-x)
  • Position 8-10: Other permissions (r—)

Permissions ändern (symbolisch)

chmod [who][+/-/=][permissions] [file]

Beispiele:

chmod g+rw test.txt      # Gruppe: read+write hinzufügen
chmod o-x script.sh      # Others: execute entfernen
chmod u=rwx file.txt     # Owner: genau rwx
chmod a+r file.txt       # All: read hinzufügen

Who:

  • u = User (Owner)
  • g = Group
  • o = Others
  • a = All

Permissions:

  • r = Read (4)
  • w = Write (2)
  • x = Execute (1)

Permissions ändern (numerisch)

chmod 640 test.txt
  • Erste Ziffer: Owner (6 = rw-)
  • Zweite Ziffer: Group (4 = r—)
  • Dritte Ziffer: Others (0 = ---)

Berechnung: r(4) + w(2) + x(1)

Häufige Permissions

chmod 755 script.sh    # rwxr-xr-x (ausführbares Script)
chmod 644 file.txt     # rw-r--r-- (normale Datei)
chmod 600 secret.txt   # rw------- (nur Owner)
chmod 777 file.txt     # rwxrwxrwx (alle Rechte - VORSICHT!)

Productivity Hacks

Command-Editor öffnen

Ctrl+X Ctrl+E

Öffnet aktuellen Befehl in $EDITOR (meist vim/nano).

Befehl pausieren, anderen ausführen, fortsetzen

Ctrl+U        # Aktuelle Zeile "ausschneiden"
[... anderen Befehl ausführen ...]
Ctrl+Y        # Zeile wieder einfügen

Screen/Tmux für persistente Sessions

# Screen
screen -S mysession
# Detach: Ctrl+A D
screen -r mysession

# Tmux
tmux new -s mysession
# Detach: Ctrl+B D
tmux attach -t mysession

Best Practices

  • Nutze Tab-Completion: Schneller und fehlerfreier
  • Lerne Shortcuts: Spart enorm Zeit
  • History durchsuchen: Ctrl+R ist dein Freund
  • Aliases für häufige Befehle: Automatisiere Wiederholungen
  • Screen/Tmux auf Servern: Keine Angst vor Connection-Loss
  • Man Pages lesen: Beste Dokumentation direkt im System

Weitere Ressourcen