NEWS
Linux bändigen - Tipps und Tricks für die Kommandozeile
-
Da ja immer behauptet wird, das man mit einer handvoll an Linux-Kommandos schon recht weit beim bändigen des zickkigen Pinguins auf der Kommandozeile kommt hier mal ein paar dieser geheimnisvollen Befehle für den täglichen Umgang:
-
ls -lh
LiSted den Inhalt eines Verzeichnisses auf. Mit der Option -l dann auch mit Details wie den Rechten, den Besitzern usw.
Option -h macht die Dateigröße besser lesbar für Menschen. -
cd /pfad/zum/ziel
Mit change directoy wechselt man in das angegebene Verzeichnis. Eincd
ohne weitere Angaben springt immer in das Heimatverzeichnis das Users zurück. Mitcd -
kehrt man zum vorherigen Verzeichnis zurück. Mitcd ..
geht man in das übergeordnete Verzeichnis.
Beispiel:
echad@chet:~ $ cd /opt/iobroker/ echad@chet:/opt/iobroker $ cd echad@chet:~ $ cd - /opt/iobroker echad@chet:/opt/iobroker $ echad@chet:/opt/iobroker $ cd .. echad@chet:/opt $
-
pwd
Verirrt im Verzeichnisbaum? Mit print working directory sieht man, wo man im absoluten Pfad gerade steht. Nützlich, wenn man zuvor mit cd wild umher gesprungen ist. -
mkdir unterverzeichnis
make directory
Legt im aktuellen Verzeichnis ein Unterverzeichnis namens 'unterverzeichnis' an.
Beispiel:
Wir legen in einem Rutsch zwei Verzeichnisse an. Es handelt sich um zwei vollkommen unterschiedliche Verzeichnisse, Linux ist immer 'case sensitive', weswegen man es in der Regel möglist einfach und einheitlich hält und in solchen Namen keine Großbuchstaben, keine Sonderzeichen (wie z. B. Umlaute) und auch keine Leerzeichen verwendet. Macht alles den Umgang später unnötig kompliziert.
echad@chet:~ $ mkdir unterverzeichnis Unterverzeichnis echad@chet:~ $ ls -l total 52 drwxrwxr-x 2 echad echad 4096 Oct 12 13:37 unterverzeichnis drwxrwxr-x 2 echad echad 4096 Oct 12 13:37 Unterverzeichnis echad@chet:~ $
- touch
Legt eine leere Datei an.
Beispiel:
echad@chet:~ $ cd unterverzeichnis/ echad@chet:~/unterverzeichnis $ touch testdatei echad@chet:~/unterverzeichnis $ ls testdatei echad@chet:~/unterverzeichnis $
- cp + mv
copy und move sind eng verwandt.
cp kopiert eine Datei, mv verschiebt eine Datei und löscht die ursprüngliche Datei. Wenn man dabei innerhalb des gleichen Verzeichnisses bleibt wird die Datei nur umbenannt.
Beispiel:
echad@chet:~/testverzeichnis $ cp testdatei testdatei_kopie echad@chet:~/testverzeichnis $ ls testdatei testdatei_kopie echad@chet:~/testverzeichnis $ mv testdatei testdatei2 echad@chet:~/testverzeichnis $ ls testdatei2 testdatei_kopie echad@chet:~/testverzeichnis $
- rm
remove löscht Dateien. Verzeichnisse lassen sich nur mit der Option -r rekursiv löschen. Vorsichtig damit! Leicht löscht man damit zuviel. Mit der Option -i fragt das System interaktiv nach, ob es okay ist zu löschen.
Beispiel:
echad@chet:~/testverzeichnis $ cd .. echad@chet:~ $ rm -ri testverzeichnis/ rm: descend into directory 'testverzeichnis/'? y rm: remove regular empty file 'testverzeichnis/testdatei2'? y rm: remove regular empty file 'testverzeichnis/testdatei_kopie'? y rm: remove directory 'testverzeichnis/'? y echad@chet:~ $
-
clear
Räumt in der Konsole auf und sorgt für eine einzelne Eingabezeile. -
df -h
disk free zeigt die aktuelle Datenmenge auf den Datenträgern. -h liefert das ganze dann menschenlesbar.
Es werden auch virtuelle/temporäre Dateisysteme angezeigt, diese spielen aber bei der tatsächlichen Auslastung der Hardware keine Rolle. Alle physischen Partitionen fangen mit /dev an. -
sudo
Mit substitute user do kann man (wenn es zuvor eingerichtet wurde) aus seiner userrolle in einen anderen User wechseln. Ohne Option wechselt man zum root, mit -u kann man einen anderen User auswählen.
Der nachfolgende Befehl wird dann mit den Rechten die dieser User hat ausgeführt:
Beispiel mit 'whoami':
echad@chet:~/unterverzeichnis $ whoami echad echad@chet:~/unterverzeichnis $ sudo -u iobroker whoami iobroker echad@chet:~/unterverzeichnis $ sudo whoami root echad@chet:~/unterverzeichnis $
Auf diese Weise kann man ganz schnell root-Rechte erlangen und fällt dann sofort wieder in seine normale Rolle zurück.
Jetzt soll man natürlich nicht jegliches Kommando mit sudo einleiten. Man agiert immer mit so wenig Rechten wie gerade notwendig ist. Also grundsätzlich als normaler User. Falls das System uns ausbremst, weil wir die erforderlichen Rechte nicht haben setzt man das Kommando nochmal mit vorangestelltem sudo ab. Wenn man das ganze Kommando nicht nochmal wiederholen will oder aus der Historie (Pfeil nach oben...) zurückholt verwendet mansudo !!
als Kürzel:Beispiel:
echad@chet:~/unterverzeichnis $ apt update Error: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied) Error: Unable to lock directory /var/lib/apt/lists/ Warning: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied) Warning: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied) echad@chet:~/unterverzeichnis $ sudo !! sudo apt update Hit:1 http://deb.debian.org/debian bookworm InRelease Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [43.5 kB] Hit:3 http://phoscon.de/apt/deconz bookworm InRelease Hit:4 http://phoscon.de/apt/deconz bookworm-beta InRelease Get:5 https://cli.github.com/packages stable InRelease [3,917 B] Hit:6 http://archive.raspberrypi.com/debian bookworm InRelease Hit:7 http://deb.debian.org/debian bookworm-updates InRelease Hit:8 https://repos.influxdata.com/debian stable InRelease Hit:9 https://apt.grafana.com stable InRelease Hit:10 https://deb.nodesource.com/node_20.x nodistro InRelease Get:11 https://pkgs.tailscale.com/stable/debian bookworm InRelease Hit:12 https://packages.redis.io/deb bookworm InRelease Hit:13 https://packagecloud.io/ookla/speedtest-cli/debian bookworm InRelease Fetched 54.0 kB in 2s (22.2 kB/s) All packages are up to date. echad@chet:~/unterverzeichnis $
-
-
- --help
Mit dem Parameter "--help" wird die Hilfe zu einem Befehl angezeigt. Darin enthalten sind fast immer alle Parameter mit Kurzbeschreibung.
Beispiel:
christoph@christoph-desktop:~$ mkdir --help Aufruf: mkdir [OPTION]... VERZEICHNIS... Erzeugen der/des Verzeichnisse(s), wenn sie noch nicht existieren. Erforderliche Argumente für lange Optionen sind auch für kurze erforderlich. -m, --mode=MODUS Zugriffsrechte setzen (wie bei chmod), nicht a=rwx − umask -p, --parents kein Fehler, wenn vorhanden; übergeordnete Verzeichnisse erzeugen, wenn notwendig -v, --verbose für jedes angelegte Verzeichnis eine Meldung ausgeben -Z SELinux-Sicherheitskontext jedes erzeugten Verzeichnisses auf den Standardtyp setzen --context[=KTXT] wie -Z, oder, wenn angegeben den SELinux- oder SMACK- Kontext auf KTXT setzen --help diese Hilfe anzeigen und beenden --version Versionsinformation anzeigen und beenden Onlinehilfe für GNU coreutils: <https://www.gnu.org/software/coreutils/> Melden Sie Übersetzungsfehler für %s an <translation-team-de@lists.sourceforge.net> Die vollständige Dokumentation ist hier: <https://www.gnu.org/software/coreutils/mkdir> oder auch lokal mittels „info '(coreutils) mkdir invocation'“
- --help