01.06.2021 / 28.12.2022
Das Terminal - eine Einführung
Hier geht's direkt zu den Befehlen
apt cd chmod conky cp clear date df find gedit history htop inxi ls lshw mkdir mv nano neofetch pwgen pwd rclone reboot rm sudo tree uname whoami xinput
Einstieg
Das Terminal ist eine Kommandozentrale, die absolut simpel aufgebaut ist, man sieht nur Textein- oder ausgaben. Allerdings kann man mit diesem Tool praktisch alles im System abfragen oder ändern.
Ich erinere mich gut an meine ersten Begegnungen und an die vielen Momente, in denen ich einfach nicht weiterkam. Daher möchte ich allen Interessierten Mut machen: Habt keine Berührungsängste! Hier gibt's Abhilfe.
Auch sehr tiefgreifende Dinge lassen sich mithilfe des Terminals ändern. Eine Rückfrage im Sinne von: 'Sind sie sicher, dass Sie das löschen wollen?' erfolgt nicht! Respekt sei also empfohlen. Am besten ist es natürlich immer, sich im Vorfeld schlau zu machen, um sich böse Überraschungen zu ersparen.
Eine Bedienoberfläche mit graphischen Elementen, Schaltflächen oder ähnlichem gibt es nicht. Alles wird als Text-Befehl eingegeben. Das ist etwas gewöhnungsbedürftig, macht die Verarbeitung aber extrem schnell.
Zahlreiche Befehle sind von vorneherein verfügbar, andere können nachträglich installiert werden. Dabei kommen sowohl kleinste Programme zur Befehlsverarbeitung als auch komplexe Applikationen mit graphischer Oberfläche in Frage.
Das Terminal lässt sich wie alle Programme über die Anwendungen öffnen.
STRG + ALT + T ist die Tastenkombination zum Starten des Terminals.
STRG + Umschalttaste + Q schließt das Terminal.
Um einen Befehl zu aktivieren, drückt man einfach die Eingabetaste
Je nach Bildschirm finde ich die Schrift manchmal etwas klein. Um das und weitere Einstellungen zu ändern gelangt man über das Menü (die drei Striche oben rechts) zu den Einstellungen. Hier kann man nun unter Profil Schriftgröße, Farben und Weiteres anpassen und als persönliches Profil speichern
Häufig kopiert man Befehle aus Seiten wie dieser und möchte sie dann ins Terminal einfügen. Das funktioniert zwar mit Rechtsklicks (Trackpad: Zweifinger-Tip), möchte man jedoch Tastenkombinationen verwenden, sind diese innerhalb des Terminals etwas anders:
STRG + Umschalttaste + C zum Kopieren,
STRG + Umschalttaste + V für das Einfügen.
STRG + C beendet in der Regel einen laufenden Prozess innerhalb des Terminals, es sei denn es ist anders angegeben.
Ich beschränke mich hier nur auf eine Auswahl von Befehlen. Eine recht ausführliche, allerdings englischsprachige Auflistung findet sich unter gnu.org.
Grundlegende Befehle
Zu allen gelisteten Befehlen gibt es ergänzende Angaben, auf die ich hier nur punktuell eingehe. So gibt z.B. ls Ordner und Dateien wieder,
ls -a hingegen listet auch versteckte Elemente mit auf.
Für so gut wie alle Befehle gilt, dass die Kombination aus
[Befehl] --help eine Übersicht zu allen Optionen ausgibt.
list
ls
Listet alle Dateien und Ordner in dem Verzeichnis, in dem man sich gerade befindet auf.
Hinweis: Ausgangspunkt, an dem man sich nach dem Öffnen des Terminals 'befindet' ist zunächst immer das eigene home-Verzeichnis (= persönlicher Ordner)
ls -1
listet dieselben Elemente auf, allerdings mit nur einem Element pro Zeile (manchmal übersichtlicher)
ls -a
listet auch versteckte Elemente auf.
change directory
cd
Wechselt in ein anderes Verzeichnis
Hinweis: Ausgangspunkt, an dem man sich nach dem Öffnen des Terminals 'befindet' ist zunächst immer das eigene home-Verzeichnis (= persönlicher Ordner)
Beispiele
cd Dokumente
Wechselt ins Verzeichnis 'Dokumente'
cd ../
Wechselt ins übergeordnete Verzeichnis
cd
(Ohne weitere Angaben) Wechselt ins Home-Verzeichnis des angemeldeten Benutzers.
find
find
Findet den angegebenen Suchbegriff im aktuellen Verzeichnis.
Beispiele
find (ohne weitere Angaben)
Listet Ordner und Dateien des aktuellen Verzeichnisses auf.
find Musik
Listet alle Ordner und Dateien im Verzeichnis 'Musik' auf.
find Musik -type d
Listet nur Ordner (directories) im Verzeichnis 'Musik' auf.
find Musik -type f
Listet nur Dateien (files) im Verzeichnis 'Musik' auf.
find -iname beispiel.txt
Sucht nach der Datei 'beispiel.txt' im aktuellen Verzeichnis und Unterverzeichnissen.
(Das 'i' in '-iname' gibt vor, dass Groß- und Kleinschreibung ignoriert werden, also auch 'BEISPIEL.TXT' gefunden würde. Will man die exakte Schreibweise finden, verwendet man stattdessen '-name'.)
find Musik -iname lovesong.mp3
Sucht nach 'lovesong.mp3' im Verzeichnis 'Musik' und dessen Unterverzeichnissen.
find /usr/share -iname hardy_wallpaper_uhd.png
Sucht die angegebene Datei im angegebenen (übergeordneten) Verzeichnis.
tree
tree
Zeigt den Verzeichnisbaum (Ordnerstruktur) des Verzeichnisses, in dem man sich gerade befindet.
Beispiele
tree Dokumente
Zeigt einen Verzeichnisbaum für das Unterverzeichnis 'Dokumente' an
tree -d
Zeigt nur Ordner an, keine Dateien
tree -L [Zahl]
Zeigt nur die angegebene Anzahl von Ebenen an
tree -dL 1 Musik
Zeigt nur Ordner der ersten Ebene aus dem Unterverzeichnis 'Musik' an, keine Dateien
copy
cp
Kopiert Dateien oder Ordner von einem Verzeichni in ein anderes.
Beispiele
cp Download/beispiel.txt Dokumente
Kopiert die Datei 'beispiel.txt' aus dem Ordner 'Downloads' in den Ordner 'Dokumente'
cp Dokumente/beispiel.txt Dokumente/beispiel_neu.txt
Erstellt eine Kopie von 'beispiel.txt im Ordner 'Dokumente' und benennt sie 'beispiel_neu.txt'
cp *.txt /home/name/backup
Kopiert alle Dateien, die auf '.txt' enden aus dem aktuellen Verzeichnis in das Verzeichnis '/home/name/backup'
cp * /home/name/backup
Kopiert alle Dateien aus dem aktuellen Verzeichnis in das Verzeichnis '/home/name/backup'
move
mv
Verschiebt Ordner oder Dateien. Im Unterschied zu cp (copy) wird die ursprüngliche Datei nicht beibehalten.
Beispiele
mv Download/beispiel.txt Dokumente
Verschiebt die Datei 'beispiel.txt' aus dem Ordner 'Downloads' in den Ordner 'Dokumente'
mv *.txt /home/name/backup
Verschiebt alle Dateien, die auf '.txt' enden aus dem aktuellen Verzeichnis in das Verzeichnis '/home/name/backup'
mv * /home/name/backup
Verschiebt alle Dateien aus dem aktuellen Verzeichnis in das Verzeichnis '/home/name/backup'
mv Dokumente/beispiel.txt Downloads/example.txt
Verschiebt die Datei 'beispiel.txt' in das Verzeichnis 'Downloads' und benennt sie in 'example.txt' um
mv /home/name/backup /home/name/Sicherung
Benennt das Verzeichnis 'backup' in 'Sicherung' um
remove
rm
Entfernt/löscht Dateien oder Verzeichnisse
Achtung: Es erfolgt keine Nachfrage oder Bestätigung! Der Befehl wird sofort ausgeführt.
Beispiele
rm beispiel.txt
Löscht die Datei 'beispiel.txt' aus dem aktuellen Verzeichnis
rm -i beispiel.txt
Löscht die benannte Datei und fragt vorher zur Bestätigung nach
rm -r Sicherung_Alt
Löscht das Verzeichnis 'Sicherung_Alt' und alle darin enthaltenen Unterverzeichnisse und Dateien. Verzeichnisse können überhaupt nur mit dem Zusatz '-r' gelöscht werden.
Change Mode
chmod
Ändert die Zugriffsrechte auf eine Datei/ein Verzeichnis.
chmod +r [Pfad/Dateiname]
Erteilt Leserechte für die Datei. Das + bewirkt das Hinzufügen der Rechte, ein - würde die entsprechenden Rechte entziehen.
chmod +w [Pfad/Dateiname]
Erteilt Schreibrechte für die Datei.
chmod +x [Pfad/Dateiname]
Macht die Datei ausführbar.
make directory
mkdir
Erstellt ein neues Verzeichnis
Beispiel
mkdir /home/name/Dokumente/Sicherung_neu
Erstellt ein Verzeichnis namens 'Sicherung_neu' im Ordner 'Dokumente'.
inxi
inxi
Gibt Informationen zur verwendeten Hardware zurück.
Hinweis: Auf Groß- und Kleinschreibung achten!
inxi
(Ohne weitere Angaben) Eine Zusammenfassung der wichtigsten Informationen
inxi -C
Informationen zur CPU
inxi -m
Informationen zum Arbeitsspeicher
inxi -D
Informationen zu den Laufwerken/Festplatten
inxi -B
Informationen zum Akku/Batterie
inxi -G
Informationen zur Graphikkarte
inxi -A
Informationen zu Audioausgabe/Soundkarte
inxi -F
Lange Liste zu zahlreichen Komponenten
list hardware
lshw
Liefert sehr ausführliche Informationen zu allen aktiven Hardwarekomponenten.
lshw -short
Liefert etwas verkürzte Informationen zu allen aktiven Hardwarekomponenten.
lscpu
Liefert Informationen zur Prozessorarchitektur.
lspci
Liefert Informationen zu den aktiven PCI-Steckkarten und den daran angeschlossenen Komponenten.
lsusb
Liefert Informationen zu den aktiven USB-Anschlüssen.
lsusb -t
Liefert Informationen zu den aktiven USB-Anschlüssen und stellt diese als Baumverzeichnis dar.
uname
uname
Liefert Informationen über das verwendete Betriebssytem
uname -a
Gibt eine ausführlichere, aber dennoch kurze Zusammenfassung der wichtigsten Informationen zurück.
xinput
xinput
Liefert Informationen über die angeschlossenen Eingabegeräte und kann diese konfigurieren.
xinput
(Ohne weitere Angaben) Gibt eine Übersicht über die angeschlossenen Eingabegeräte zurück wobei jedes Gerät eine eigene ID erhält.
xinput disable [id]
Deaktiviert das Gerät mit der angegebenen ID.
xinput enable [id]
(Re-) Aktiviert das Gerät mit der angegebenen ID.
disk free
df
Liefert Informationen zum freien (und zum verwendeten) Speicherplatz der eingehängten Laufwerke.
df -h
Gibt die Informationen in einem besser lesbaren Format (GB, MB etc.) wieder
df [PARTITION]
Liefert Informationen zum Speicherplatz der angegebenen Partition.
Beispiel
df -h /dev/sda1
Liefert Informationen zum Speicherplatz auf der Partition sda1 in einem besser lesbaren Format.
history
history
Listet und numeriert die zuletzt eingegebenen Befehle.
history -c
Löscht die Historie.
System
sudo
sudo
Ermöglicht das Ausführen von Befehlen, die Root-Rechte voraussetzen. Viele Eingaben, die potentiell einen Eingriff in relevante Bereiche des Systems ermöglichen werden hiermit geschützt. Zur Verwendung ist die Passworteingabe des Administrators notwendig.
(In der Regel ist derjenige Nutzer, der das System installiert hat Administrator)
Syntax
sudo [Befehl]
Advanced packkage tool
apt
Debian-basierte Systeme nutzen diesen Befehl zur Paketverwaltung, also zum Hinzufügen, Aktualisieren und Entfernen von Software.
apt wird immer im Zusammenhang mit weiteren, ergänzenden Angaben genutzt. Zur Ausführung sind Root-Rechte notwendig, es muss also sudo vorangestellt und das Passwort eingegeben werden.
sudo apt update
Liest die neusesten Paketlisten ein. Sollte dringend vor jeder Installaion ausgeführt werden, da man sonst evtl. veraltete Versionen zur Verfügung gestellt bekommt.
Mit sudo apt update [Paketname] beschränkt man das Einlesen auf das angegebene Paket.
sudo apt upgrade
Aktualisiert alle Programme und Systemanwendungen, die über die apt-Bibliothek installiert wurden.
sudo apt full-upgrade
Aktualisiert alle Programme und Systemanwendungen, die über die apt-Bibliothek installiert wurden und installiert zusätzlich neue Abhängigkeiten, falls verfügbar.
sudo apt install [Applikationsname]
z.B. sudo apt install firefox
Installiert die angegebene Anwendung inklusive notwendiger Abhängigkeiten.
sudo apt remove [Applikationsname]
Entfernt die angegebene Anwendung inklusive notwendiger Abhängigkeiten.
sudo apt purge [Applikationsname]
Entfernt die angegebene Anwendung inklusive notwendiger Abhängigkeiten und aller dazugehöriger Konfigurationsdateien z.B. so etwas wie persönliche Programmeinstellungen.
sudo apt autoremove
Entfernt nicht (mehr) benötigte Pakete.
reboot
reboot
Fährt das System herunter und startet es neu.
reboot -p
Fährt das System herunter (ohne Neustart).
Programme
nano
nano
Öffnet eine Datei zur Bearbeitung direkt im Terminal.
nano [Pfad/Dateiname]
Öffnet die angegebene Datei.
Navigation im Text mit den Pfeiltasten.
STRG + O zum Speichern und
STRG + X zum Beenden
gedit
gedit
Öffnet einen Texteditor, der genutzt werden kann, um Systemdateien anzuzeigen oder zu bearbeiten.
Für schreibgeschützte Dateien muss hierbei sudo vorangestellt werden.
sudo gedit [Pfad/Dateiname]
Öffnet eine Datei, so dass sie direkt im Editor bearbeitet werden kann.
neofetch
neofetch
Mit neofetch lassen sich die wichtigsten Daten des Systems anzeigen. Da gleichzeitig auch eine Graphik (ascii art) mit dem Symbol des Betriebssystems angezeigt wird, ist es sehr beliebt und weit verbreitet. Wer mag kann es sich auch selbst konfigurueren. Infos dazu erhält man mit
neofetch --help
neofetch mit dem Ubuntu-Logo
htop
htop
Zeigt ebenfalls Daten zur Hardwareauslastung, jedoch in Echtzeit, es wird fortlaufend aktualisiert. So kann man sehr gut beobachten welcher Prozess welchen Einflusss auf die Ressourcen hat.
rclone
rclone
Mit dieser Anwendung kann man Cloud-Speicher synchronisieren und in das System einbinden. So erscheint dann beispielsweise der MS OneDrive als Ordner unter 'Persönliche Ordner' und kann wie jedes andere Verzeichnis genutzt werden (eine stehende Internetverbindung vorausgesetzt). Die Einrichtung ist einmalig etwas aufwendig.
sudo apt install rclone installiert die Anwendung
rclone config startet die Einrichtung
Nun folgt ein interaktiver Dialog, der hier ganz gut dokumentiert ist. (englisch)
conky
conky
Mit Conky kann man sich dynamische Hintergründe für die Arbeitsfläche erstellen, die Datum und Uhrzeit oder auch Informationen zur CPU-Auslastung etc. anzeigen. Es gibt eine (etwas altbackene) Standardeinstellung, aber man findet im Netz zahlreiche Vorlagen, die man nutzen oder selbst bearbeiten kann.
Zunächst muss das Paket eingelesen werden:
sudo add-apt-repository ppa:linuxmint-tr/araclar
sudo apt update um die Bibliothek zu aktualisieren.
sudo apt install conky-all startet die Installation.
Möchte man nach der Installation die Konfiguration anpassen, muss die Datei /etc/conky/conky.conf in den persönlichen Ordner kopiert und in '.conkyrc' umbenannt werden. Diese neue Datei bearbeitet man nun nach seinen Vorstellungen oder ersetzt sie durch eine Vorlage.
pwgen
pwgen
Mit diesem kleinen Programm lassen sich im Handumdrehen Passwörter generieren.
sudo apt install pwgen für die Installation
pwgen 10 5 erstellt 5 Passwörter mit einer Länge von jeweils 10 Ziffern. Weitere Optionen findet man unter
pwgen --help