| Befehl | Beschreibung | Wichtige Optionen | Beispiele |
| ls | list - Listet Dateien und Verzeichnisse auf |
-l long listing -a all Files (auch die mit . Versteckten) -F inkl. Formatstring -h Human readable -S nach Größe sortieren -t nach Änderungsdatum sortieren -r Sortierreihenfolge umkehren -R rekursiv -i Inode anzeigen |
cd /bin ls -l ls -lhS ls -tr cd ls -aR |
| cd | change directory - Wechselt das aktuelle Arbeitsverzeichnis |
cd cd /usr/share cd .. cd share/../local cd / |
|
| pwd | print working directory - Gibt das aktuelle Arbeitsverzeichnis aus |
cd; pwd cd /usr/local; pwd |
|
| mkdir | make directory - Erstellt ein Verzeichnis | -p alle Verzeichnisse in der Angabe erstellen |
cd mkdir bilder mkdir bilder/2001 mkdir -p docs/privat mkdir -p docs/job/anbote mkdir docs/job/auftraege |
| rmdir | remove directory - Löscht (leere) Verzeichnisse | -p alle Verzeichnisse in der Angabe werden rekursiv gelöscht (alle Verzeichnisse müssen leer sein) |
rmdir docs rmdir docs/privat rmdir -p bilder/2001 |
| cp | copy - Kopieren von Dateien und Verzeichnissen |
-i Interaktiv -r oder -R rekursiv -a Zeitstempel, Eigentümer usw. wird mitkopiert -v verbose |
cd cp -v /etc/passwd ~/alleuser.txt cp alleuser.txt alleuser2.txt cp -i /etc/passwd ~/alleuser.txt |
| mv | move - Verschieben und umbenennen von Dateien |
-i Interaktiv -v verbose |
cd mv alleuser.txt alleuser1.txt mv alleuser* docs |
| rm | remove - Löschen von Dateien und Verzeichnissen |
-i Interaktiv -r rekursiv -f force (ohne Rückfrage) |
cd rm -i docs/alleuser2.txt rm -ri docs |
| ln | Link - Erstellt symbolische Links und Hardlinks | -s symbolischer Link |
cp /etc/passwd . ln -s passwd passwd2; ls -li ln passwd passwd3; ls -li ln passwd2 passwd4; ls -li |
| touch | Erstellen einer neuen Datei, sofern diese noch nicht vorhanden ist. Ansonsten wird der Zeitstempel der letzen Änderung aktutalisiert. | touch ~/passwd | |
| locate | Sucht in einer Datenbank nach Dateien und Verzeichnissen |
-i Ignoriert Groß- und Kleinschreibung -e | --existing Gibt den Treffer nur dann aus, wenn die Datei oder das Verzeichnis immer noch vorhanden ist. |
locate passwd locate -i suse |
| updatedb | Aktualisierung der Datenbank für die Datei und Verzeichnissuche durch locate | updatedb | |
| find | Finden von Dateien und Verzeichnissen aufgrund umfangreicher Attribute |
-name Sucht nach einem Dateinamen oder einem Verzeichnisnamen -user Sucht nach Dateien und Verzeichnissen eines bestimmten Users -type Sucht nach speziellen Dateitypen (d = Directory, f = File) -print Gibt die Treffer aus -exec Führt pro Treffer ein Comando aus |
find / -name passwd -print find / -name 'passwd*' find /etc -type d find /etc ! -type d find /etc -type d -a \( -name opt -o -name init.d \) find / -user |
| Befehl | Beschreibung | Wichtige Optionen | Beispiele |
| cat | concatenate - Inhalt einer oder mehrerer Dateien ausgeben |
cat /etc/passwd cat /etc/passwd /etc/group |
|
| tac | reverse concatenate - Inhalt einer oder mehrerer Dateien umgekehrt (letzte Zeile zuerst) ausgeben |
cat /etc/passwd cat /etc/passwd /etc/group |
|
| sort | sort - Inhalt sortiert ausgeben |
-f | --ignore-case Groß- und Kleinschreibung nicht berücksichtigen -n Numerisch Sortieren ( ansonsten wäre die Zeile "31 Hans Huber" vor "4 Max Muster" weil 3 < 4) |
sort /etc/passwd |
| head | Ausgabe einer bestimmten Anzahl an Zeilen vom Beginn einer Datei | -100 Ausgabe der ersten 100 Zeilen |
head /etc/passwd head -5 /etc/passwd |
| tail | Ausgabe einer bestimmten Anzahl an Zeilen vom Ende einer Datei | -100 Ausgabe der letzten 100 Zeilen |
tail /etc/passwd tail -5 /etc/passwd |
| more | Seitenweise Ausgabe einer Datei | more /etc/passwd | |
| less | Seitenweise Ausgabe einer Datei mit Scrollfunktion (auch nach oben) | less /etc/passwd | |
| wc | word count - Zählt Zeichen, Wörter und Zeilen einer Datei |
-m | --chars zählt Zeichen -w zählt Wörter -l zählt Zeilen |
wc /etc/passwd wc -m /etc/passwd wc -w /etc/passwd wc -l /etc/passwd |
| grep | Gibt Zeilen nur dann aus, wenn der Suchausdruck gefunden wurde. |
-v | --invert-match Invertiert den Suchausdruck. Gibt also nur dann aus, wenn der Suchbegriff NICHT gefunden wurde. -A2 | --after-context NUM Gibt auch die nächsten 2 Zeilen nach dem Suchbegriff mit aus -B3 | --before-context NUM Gibt auch die vorangegangenen 3 Zeilen vor dem Suchbegriff mit aus -i | --ignore-case Ignoriert Groß- und Kleinschreibung -c | --count gibt die Anzahl der gefundenen Zeilen und nicht die Zeilen selbst aus -n | --line-number Gibt die Zeilennummer bei einem Treffer mit aus |
grep root /etc/passwd grep -v "/bin/bash" /etc/passwd grep -c "/bin/bash" /etc/passwd |
| Befehl | Beschreibung | Wichtige Optionen | Beispiele |
| <CMD> --help | Kurzhilfe der meisten Befehle |
ls --help cp --help locate --help |
|
| man | Anzeige der Manual-Pages |
man KAPITELNUMMER BEFEHL - Wenn es für einen Befehl in mehreren Kapitel Einträge gibt, kann durch Angabe der Kapitelnummer der gewünschte gewählt werden. 1 = Benutzerkommandos 2 = Systemaufrufe 3 = Bibliotheksaufrufe 4 = Gerätedateien 5 = Konfigurationsdateien 6 = Spiele 7 = Diverses 8 = Kommandos zur Systemadministration 9 = Kernel-Funktionen |
man locate man 8 mount |
| type | Gibt aus, welcher Typ ein Befehl ist (Alias, Shellinterner Befehl oder externer Befehl) |
type ls type cd type locate |
|
| df | Disk Free - Zeigt die aktuelle Speicherauslastung aller gemounteten Partitionen an. | -h Human readable - Ausgabe in MB/GB usw. | df -h |
| du | Disk Usage - Zeigt den Speicherbedarf von Verzeichnissen an |
-c Count = Zeigt den Gesamtspeicherbedarf an -s = Zeigt bei Verzeichnissen nur die Summe des Verzeichnis an -h = Human Readable - Zeigt in MB/GB usw an |
du -csh ~/* |
| uname | Gibt die System-Versionen des akutell laufenden Linux Kernels aus | -a Vollständige Ausgabe | uname -a |
| hwinfo | Hardware Informationen ausgeben | hwinfo | |
| ps | process snapshot - Listet alle aktuell laufenden Prozesse auf | aux - Optionskombination (-a -u -x) um wirklich alle laufenden Prozesse zu sehen | ps aux |
| Befehl | Beschreibung | Wichtige Optionen | Beispiele |
| id | Zeigt die UID, GID des aktuellen Users an | id | |
| whoami | Who am i? Zeigt an, mit welchem Useraccount man derzeit angemeldet ist | whoami | |
| who | Who? Zeig an, welche User derzeit am System angemeldet sind. | who | |
| su | substitute user - Mit diesem Befehl kann man sich als anderer User anmelden | -l Startet eine Login-Shell |
su -l su -l OtherUser |
| useradd | Anlegen eines neuen Benutzers |
-m | --create-home Home-Verzeichnis soll erstellt werden -c | --comment Angabe des Vollständigen Usernamens als Kommentar -d | --home Angabe eines vom Standard abweichenden Home Verzeichnisses -s | --shell Angabe einer vom Standard abweichenden Shell |
useradd -m --comment "Max Muster" maxm useradd --create-home --home /srv/data/homes/hans-huber --shell /bin/false hans-huber |
| usermod | Modifizieren eines bestehenden Users |
-l | --login NEW_LOGIN Ändern des Login Namens -m | --move-home Verschieben des Home Verzeichnisses -d | --home Neues Homeverzeichnis |
usermod -s /bin/bash hans-huber usermod --login hans.huber --move-home --home /srv/data/homes/hans.huber |
| userdel | Löschen eines bestehenden Users | -r | --remove Löschen des Home Verzeichnisses und des Mail Stores | userdel --remove hans.huber |
| groupadd | Erstellen einer neuen Gruppe | groupadd group01 | |
| groupmod | Bearbeiten einer bestehenden Gruppe | -n | --new-name Neuer Gruppenname | groupmod -n grp01 group01 |
| groupdel | Löschen einer Gruppe | groupdel grp01 | |
| getent | get entries - Einträge für Benutzer und Gruppendatenbanken auslesen |
passwd - Listet alle am System verfügbaren User auf group - Listet alle am System verfügbare Gruppen auf |
getent passwd getent group |
| passwd | Setzen des Passwortes | USERNAME - Setzt das Passwort nicht für den aktuellen sondern für den User USERNAME |
passwd passwd USERNAME |
| chown | Change Owner - Wechselt den Besitzer einer Datei oder eines Verzeichnisses | -R | --recursive Wechselt den Besitzer rekursiv |
chown myuser myfile chown myuser.mygroup myfile chown -r myuser.mygroup mydir |
| chgrp | Change Group - Wechselt die Gruppe einer Datei oder eines Verzeichnisses | -R | --recursive Wechselt den Besitzer rekursiv |
chgrp myfile chgrp --recursive mydir |
| chmod | Change Mode - Ändert die Berechtigungen auf Dateien und Verzeichnisse | -R | --recursive Ändert die Berechtigungen rekursiv |
chmod 750 myscript.sh chmod 640 mydata.txt chmod a+x myscript.sh chmod u+x myscript.sh chmod o-wx myscript.sh |
| Befehl | Beschreibung | Wichtige Optionen | Beispiele |
| export | Exportiert eine Variable damit auch "Kind-Prozesse" darauf zugreifen können | export VARNAME=WERT | |
| printenv | Zeigt gesetzte Umgebungsvariablen an |
# Anzeige aller gesetzten Variablen printenv # Anzeige der Variablen HOME und USER printenv HOME USER |
|
| alias | Erstellt einen "virtuellen" Befehl |
# Ausgabe aller gesetzten Aliase alias # Setzen eines neuen Alias alias lsh="ls -lh" |
|
| unalias | Löschen eines gesetzten Alias | unalias lsl | |
| history | Zeigt die Befehls-Historie des aktuellen Users an |
-a Schreibt die aktuelle Sitzungshistory sofort in das History-File -c Löscht die History -r Liest die History aus dem History-File |
history history | grep vi |
| Befehl | Beschreibung | Wichtige Optionen | Beispiele |
| apt | Wird verwendet, um Software unter Debian und dessen Derivate zu installieren. | ||
| apt search [Suchbegriff] | Durchsuchen des Paketkatalogs |
-n Durchsucht nur den Paketnamen -d Durchsucht nur die Beschreibung |
# Suche nach vim
apt search vim # Eingrenzen der Treffer indem vim am Beginn # des Paketnamens oder der Beschreibung stehen muss apt search ^vim # Eingrenzen dass nur noch im Namen des Paketes gesucht wird apt search -n vim # Eingrenzen dass nur noch in der Beschreibung des Paketes gesucht wird apt search -d vim |
| apt list | Auflistung der Pakete aus dem Software-Repository |
--installed Nur die aktuell installierten Pakete --upgradable Nur die Pakete anzeigen, für die Upgrades verfügbar sind |
apt list apt list --installed apt list --upgradable |
| apt show [Paketname] | Anzeigen von Details zu einem Paket | apt show vim | |
| apt install [Paketname] | Installation eines Paketes | # Installation des Pakets lolcat apt install lolcat | |
| apt remove [Paketname] | Entfernen eines Paketes | # De-Installation des Pakets lolcat apt remove lolcat | |
| apt autoremove | Entfernen nicht mehr benötigter Pakete | apt autoremove | |
| apt update | Aktualisiert die Repository-Datenbank | apt update | |
| apt upgrade | Aktualisiert installierte Pakete solange keine neuen Pakete installiert werden müssen oder nicht mehr benötigte entfernt werden. | apt upgrade | |
| apt full-upgrade | Aktualisiert installierte Pakete, installiert zusätzlich benötigte Pakete und entfernt nicht mehr benötigte Pakete. | apt full-upgrade | |
| apt-file | Tool um herauszufinden, welche Datei zu welchem Paket gehört |
# apt-file arbeitet mit einem Cache - dieser muss zuerst aktualisiert werden apt-file update # Welches Paket hat die Datei /etc/crontab erzeugt? apt-file search /etc/crontab # Welche Dateien gehören zu dem Paket cron-daemon-common? apt-file list cron-daemon-common |
|
| dpkg | Tool welches die eigentliche Installation und deinstallation eines .deb Paketes vornimmt |
--info # Gibt erweiterte Informationen zum Paket aus --contents # Gibt den Inhalt (Dateiliste) des Pakets aus --install # Installiert ein Paket --remove # Entfernt ein Paket |
# Anzeige der Informationen zum Paket dpkg --info google-chrome-stable_current_amd64.deb # Anzeige der Dateien welche installiert werden dpkg --contents google-chrome-stable_current_amd64.deb # Installieren des Pakets dpkg -i google-chrome-stable_current_amd64.deb |