Nützliche Shortcuts


Allgemeine Befehle

  1. mkdir -p /kompletter/pfad/zum/ordner && cd $_
    Erstellt einen Ordner inklusive aller Zwischenordner und wechselt direkt in diesen.

  2. cd und Alt + . (auf Mac Option + .)
    Fügt den letzten verwendeten Pfad ein, z. B. nach einem mkdir.

  3. grep '^[^#]' config
    Zeigt nur die aktivierten Zeilen in einer Konfigurationsdatei (ohne Kommentarzeichen #) an.

  4. !!
    Wiederholt den letzten Befehl. Besonders nützlich, wenn man z. B. sudo vergessen hat:

    sudo !!
  5. ^restart^status
    Ersetzt im letzten Befehl ein Wort durch ein anderes und führt den neuen Befehl aus. Beispiel:

    systemctl restart ssh  
    ^restart^status  
    # Führt aus: systemctl status ssh

Systemd und Bootmenü

  1. Im Bootmenü den Eintrag mit e bearbeiten und am Ende der Zeile mit linux rd.break hinzufügen, um den Bootvorgang zu unterbrechen und eine Shell zu öffnen. Danach:

    1. Das System root folgendermaßen remounten:
      mount -o remount,rw /sysroot
    2. In das System root wechseln:
      chroot /sysroot
    3. Nun das Passwort vom root-User ändern:
      passwd

    Alternativ: Im Bootmenü systemd.unit=emergency.target eintragen, um in den Emergency-Mode zu wechseln.

  2. systemd.unit=rescue.target
    Startet das System im Rescue-Mode (Einzelbenutzermodus mit Minimaldiensten).

    • Shortcut-Beschreibung: „Im Bootmenü systemd.unit=rescue.target eintragen.“
  3. systemd.unit=multi-user.target
    Startet das System direkt im Textmodus (ohne GUI).

    • Shortcut-Beschreibung: „Im Bootmenü systemd.unit=multi-user.target eintragen.“
  4. systemd.unit=graphical.target
    Startet das System direkt im grafischen Modus (GUI).

    • Shortcut-Beschreibung: „Im Bootmenü systemd.unit=graphical.target eintragen.“
  5. rd.shell
    Öffnet eine Shell in der Initramfs-Phase, falls das System nicht booten kann.

    • Shortcut-Beschreibung: „Im Bootmenü rd.shell eintragen.“
  6. fsck.mode=force
    Erzwingt einen Dateisystem-Check (fsck) beim nächsten Boot.

    • Shortcut-Beschreibung: „Im Bootmenü fsck.mode=force eintragen.“
  7. systemctl isolate

    • Wechselt direkt in einen bestimmten Modus (Target).
    • Beispiele:
      systemctl isolate rescue.target
      systemctl isolate multi-user.target
      systemctl isolate graphical.target
  8. systemctl get-default

    • Zeigt das aktuelle Standard-Target des Systems an.
    • Shortcut-Beschreibung: „Mit systemctl get-default das aktuelle Standard-Target abfragen.“
  9. systemctl set-default

    • Setzt ein neues Standard-Target.
    • Beispiele:
      systemctl set-default graphical.target
      systemctl set-default multi-user.target

Journalctl

  1. journalctl
    Nützliche Optionen für die Arbeit mit dem Systemjournal:

    • -x: Zeigt zusätzliche Informationen zu den Logs an.
    • -e: Springt direkt zum Ende des Journals.
    • -u <service>: Zeigt nur Logs eines bestimmten Dienstes an, z. B. journalctl -u sshd.
    • -p <priority>: Filtert nach Priorität (z. B. journalctl -p err für Fehler).
    • -r: Zeigt Logs in umgekehrter Reihenfolge an (neuste zuerst).
    • Von einem bestimmten Prozess (PID):
      journalctl _PID=<PID>

    Tipp 1: Journal nach jedem Neustart löschen:

    sudo nano /etc/systemd/journald.conf
    # Storage=volatile
    sudo systemctl restart systemd-journald

    Tipp 2: Journal persistent speichern:

    sudo nano /etc/systemd/journald.conf
    # Storage=persistent
    sudo systemctl restart systemd-journald

Netzwerktools

  1. mtr

    • Kombiniert die Funktionen von traceroute und ping.
    • Nützlich für Echtzeit-Netzwerkanalysen.
    • Nutzung:
      mtr <zieladresse>
      mtr --report <zieladresse>
  2. ss

    • Analysiert Netzwerkverbindungen.
    • Optionen für ss -plunt:
      • -p: Zeigt den zugehörigen Prozess/Dienst an.
      • -l: Listet nur offene/lausche Ports.
      • -u: Beschränkt die Ausgabe auf UDP-Verbindungen.
      • -n: Zeigt Adressen und Ports numerisch an.
      • -t: Beschränkt die Ausgabe auf TCP-Verbindungen.
    • Beispiel:
      ss -plunt
  3. nmcli
    Nützliche Befehle für die Netzwerkverwaltung mit NetworkManager, sowohl in Lang- als auch Kurzform:

    Allgemeine Informationen:

    • Langform: nmcli connection show
      Kurzform: nmcli con show

    • Langform: nmcli device status
      Kurzform: nmcli dev status

    Netzwerk scannen und verbinden:

    • Langform: nmcli device wifi list
      Kurzform: nmcli dev wifi list

    • Langform: nmcli device wifi connect <SSID>
      Kurzform: nmcli dev wifi con <SSID>

    Verbindungen verwalten:

    • Langform: nmcli connection up <Name>
      Kurzform: nmcli con up <Name>

    • Langform: nmcli connection modify <Name> ipv4.dns "<DNS-Server>"
      Kurzform: nmcli con mod <Name> ipv4.dns "<DNS-Server>"

    • Langform: nmcli connection delete <Name>
      Kurzform: nmcli con del <Name>

    • Langform: nmcli connection down <Name>
      Kurzform: nmcli con down <Name>

    • Langform: nmcli connection add type ethernet con-name <Name> ifname <Interface> ip4 <IP>/<Netzmaske> gw4 <Gateway>
      Kurzform: nmcli con add type ethernet con-name <Name> ifname <Interface> ip4 <IP>/<Netzmaske> gw4 <Gateway>


Firewalld (firewall-cmd)

  1. firewall-cmd
    Nützliche Befehle für die Verwaltung von Firewalld:

    Allgemeine Informationen:

    • Zeige den Status von Firewalld:
      firewall-cmd --state
    • Zeige die aktiven Zonen:
      firewall-cmd --get-active-zones
    • Zeige die Konfiguration einer Zone:
      firewall-cmd --zone=<zone> --list-all

    Regeln verwalten:

    • Dienste hinzufügen:
      firewall-cmd --zone=<zone> --add-service=<service>
    • Ports hinzufügen:
      firewall-cmd --zone=<zone> --add-port=<port>/<protocol>

    Speichern und Neustarten:

    • Änderungen permanent machen:
      firewall-cmd --runtime-to-permanent
    • Firewall neu laden:
      firewall-cmd --reload

Datei- und Verzeichnisberechtigungen (Permissions)

Grundlegende Berechtigungen

  1. Lesen (r - read):

    • Für Dateien: Ermöglicht das Anzeigen des Inhalts.
    • Für Verzeichnisse: Ermöglicht das Auflisten der Dateien.
  2. Schreiben (w - write):

    • Für Dateien: Ermöglicht das Ändern des Inhalts.
    • Für Verzeichnisse: Ermöglicht das Erstellen, Löschen oder Umbenennen von Dateien.
  3. Ausführen (x - execute):

    • Für Dateien: Ermöglicht das Ausführen der Datei (z. B. ein Skript).
    • Für Verzeichnisse: Ermöglicht das Durchqueren des Verzeichnisses (nötig, um auf Dateien im Verzeichnis zuzugreifen).

Sonderberechtigungen

  1. Setuid (Set User ID):

    • Symbolisch: s (im Benutzerbereich).
    • Oktal: 4.
    • Beispiel: rwsr-xr-x (Oktal: 4755).
  2. Setgid (Set Group ID):

    • Symbolisch: s (im Gruppenbereich).
    • Oktal: 2.
    • Beispiel: rwxr-sr-x (Oktal: 2755).
  3. Sticky Bit:

    • Symbolisch: t (im Bereich für andere).
    • Oktal: 1.
    • Beispiel: rwxrwxr-t (Oktal: 1755).
  4. S (Setuid oder Setgid ohne Ausführungsrecht):

    • Symbolisch: S (statt s, wenn x fehlt).
    • Beispiel: rwSrw-r-- (Setuid aktiviert, aber nicht ausführbar).
  5. T (Sticky Bit ohne Ausführungsrecht):

    • Symbolisch: T (statt t, wenn x fehlt).
    • Beispiel: rwxrwxr-T (Sticky Bit aktiv, aber nicht ausführbar).

Symbolische und Oktale Kombinationen

Symbolisch Oktal Beschreibung
--------- 000 Keine Rechte
--x--x--x 111 Nur Ausführen
-w--w--w- 222 Nur Schreiben
-wx-wx-wx 333 Schreiben und Ausführen
r--r--r-- 444 Nur Lesen
r-xr-xr-x 555 Lesen und Ausführen
rw-rw-rw- 666 Lesen und Schreiben
rwxrwxrwx 777 Vollzugriff
rwsr-xr-x 4755 Setuid + rwxr-xr-x
rwxr-sr-x 2755 Setgid + rwxr-xr-x
rwxrwxr-t 1755 Sticky Bit + rwxrwxr-x
rwSrw-r-- - Setuid aktiv, aber ohne Ausführungsrecht
rwxrwxr-T - Sticky Bit aktiv, aber ohne Ausführungsrecht

Wichtige Befehle

  1. Rechte ändern (chmod):

    • Symbolisch:
      chmod u+rwx,g+rx,o+r file
    • Oktal:
      chmod 755 file
  2. Besitzer ändern (chown):

    chown user:group file
  3. Rekursiv Rechte setzen:

    chmod -R 755 directory
    chown -R user:group directory