In diesem Kapitel möchte ich nützliche Programme sowie Tipps für die Arbeit mit dem Terminal vorstellen. Zunächst aber eine kurze Einführung, wie man unter Linux im Terminal Programme installiert.
Die Anweisung sudo ist in allen Linux-Distributionen gleich und bedeutet, dass zur Bearbeitung von Programmen (Installation, Deinstallation und Update) Admin-Rechte nötig sind. Das Passwort wird in der Folge automatisch abgefragt. Leider haben wir verschiedene Distributionen und müssen daher entsprechende Unterschiede zeigen.
| Linux-System | Installation | Deinstalltion | Updates |
|---|---|---|---|
| Basis Debian (Debian, Ubuntu, LinuxMint...) | sudo apt install <PN> |
sudo apt remove <PN> |
sudo apt update <PN> |
| RetHat | sudo dnf install <PN> |
sudo dnf remove <PN> |
sudo dnf update <PN> |
| Open Suse | sudo zypper install <PN> |
sudo zypper remove <PN> |
sudo zypper update <PN> |
| Archlinux | sudo pacman -S <PN> |
sudo pacman -R <PN> |
sudo pacman -S <PN> |
<PN> = Programmname, eingeben ohne die Klammern <>.
Wie man aber sieht, sind alle Anweisungen und deren Struktur sehr ähnlich. Diese Anweisungen sind nötig, um die nachfolgend beschriebenen Programme zu installieren oder ggf. wieder zu löschen.
Programme
Der MC Midnight-Commander ist ein Dateimanager für die Konsole bzw. das Terminal. Die Installation erfolgt im Terminal mit der Anweisung:
sudo pacman -S mc
sudo apt install mc (siehe Tabelle ganz oben)
Nach der Installation kann der MC mit
mc
gestartet werden. Falls der MC mit Rootrechten benötigt wird, geschieht dies mit:
sudo mc
Ich gebe aber zu bedenken. Ein Dateimanager mit Rootrechten ist gefährlich. Wenn man nicht ganz genau weiß was man tut, kann man sich damit den Rchner abschießen.

Will man nach der Installation des MC noch Farb-Themes ändern, muss die Konfigurationsdatei ~/.config/mc/ini angepasst werden. Dummerweise überschreibt aber MC diese Änderung immer automatisch mit den Default-Daten. Also muss zuerst eine Einstellung vorgenommen werden:

Unter Optionen --> Konfiguration --> Einstellungen die markierte Einstellungen autom. speichern deaktivieren.

Jetzt kann man Änderungen in der Datei ~/.config/mc/ini speichern. Nach dem Neustart von MC werden die Änderungen übernommen und Einstellungen autom. speichern ist wieder aktiv!
Hilfreiche Webseiten:
Die Weiterentwicklung bzw. Softwarepflege des Programms Neofetch wurde eingestellt. An seine Stelle tritt das Programm Fastfetch.
Fastfetch zeigt Informationen zu Ihrem System neben einem Image, Ihrem Betriebssystemlogo oder einer ASCII-Datei Ihrer Wahl an.

Die Installation erfolgt mit:
sudo pacman -S fastfetch
sudo apt install fastfetch (siehe Tabelle ganz oben)
Falls gewünscht, kann man beim Start des Terminals für einen Autostart von Fastfetch sorgen. Dazu öffnet man die Datei ~/.bshrc mit einem Editor und trägt dort in der letzten Zeile (hier 381) folgendes ein:

Die Konfiguration erfolgt in einer speziellen Datei:
~/.config/fastfetch/config.jsonc
Die zugehörigen Eintragungen zur Anpassung findet man unter:
Wie Windows hat auch ArchLinux mit XFCE4-Desktop einen eigenen Taskmanager. Im Hauptmenü (Whisker-Menü) ist er unter der Rubrik System zu finden. Dessen Funktionsumfang ist aber recht beschränkt. Alternativen sind HTOP und BTOP.
Beide können über den Standard-Software-Manager (PAMAC) installiert werden. Die Installation im Terminal erfolgt mit:
sudo pacman -S htop oder sudo pacman -S btop
Es macht keinen Sinn, beide zu installieren. Man sollte sich für einen entscheiden.
HTOP
Ich habe hier einige Links zusammengestellt die die Funktionen des HTOP erklären. Viele dieser Anleitungen beziehen sich auf Rechner mit Ubuntu-basierten Betriebssystemen. Die reinen Funktionen von HTOP sind aber überall gleich.
- YouTube: Was ist HTOP und wie nutze ich es?
- Ubuntu-Users: HTOP
- HTOP – laufende Prozesse und Systemressourcen im Blick
- Prozesse verwalten mit HTOP
BTOP++
Ich habe hier einige Links zusammengestellt die die Funktionen des BTOP++ erklären. Viele dieser Anleitungen beziehen sich auf Rechnern mit Ubuntu-basierten Betriebssystemen. Die reinen Funktionen von BTOP++ sind aber überall gleich.
- BTOP++ eine Alternative zu HTOP und TOP
- BTOP++ Systemmonitor
- BTOP++ Description Diese Anleitung ist leider nur in Englisch, vielleicht ist Google behilflich
In den meisten Linux-Distributionen ist der Editor NANO standardmäßig enthalten. Falls nicht, kann er über den Standard-Software-Manager (PAMAC) installiert werden. Alternativ erfolgt die Installation im Terminal mit:
sudo pacman -S nano
Es handelt sich um einen kleinen, leicht zu bedinenenden Texteditor. Eine recht gute deutsche Anleitung habe ich auf YouTube gefunden.
Terminal-Tipps
Unter Windows werden die installierten Programme im Verzeichnis C:\Programme gespeichert. Die Datei mit der Endung .exe startet das Programm. Unter Linux werden installierte Programme in der Regel im Verzeichnis \usr\bin gespeichert. Diese Regel wird aber keineswegs immer eingehalten. Technisch gesehen spielt es bei Linux nämlich keine Rolle wo das Programm gespeichert ist.
Gibt man in Linux einen Programmnamen ins Terminal ein, wird das Programm gestartet. Das ist aber leider nicht immer so. Ein Programm, das nicht im Standardpfad abgelegt ist, kann nur mit der Angabe des vollständigen Pfades angesprochen werden. Aber wo ist das Programm gespeichert? Linux stellt dafür eine spezielle Anweisung zur Verfügung (Beispiel: Arduino):
which arduino
Ausgabe des Terminals:
/usr/local/bin/arduino
Eine weitere Anweisung ist:
whereis arduino
Ausgabe des Terminals:
arduino: /usr/local/bin/arduino
Oft liest man irgendwo etwas darüber, was ein bestimmtes Programm kann und würde es gerne auf dem eigenen Rechner installieren. Aber, gibt es das Programm überhaupt für meine Linux-Distro?
Auf diese Frage gibt es eine Antwort mit:
pacman -Ss {Programmname}
apt search {Programmname} (siehe auch die Tabelle ganz oben)
Werden weitere Details zum Programm gesucht, findet man sie mit:
pacman -Si {Programmname}
apr show {Programmname} (siehe auch die Tabelle ganz oben)
Hilfreicher Link dazu:
Sowohl in Windows als auch in Linux gibt es Umgebungsvariablen. Unter Linux findet man globale und Shell-Variablen. Die globalen Umgebungsvariablen stehen systemweit zur Verfügung, die Shell-Variablen nur lokal in der aktuellen Shell.
Ausgabe der globalen Umgebungsvariablen
Mit diesen einfachen Anweisungen werden sie alle angezeigt:
env oder mit printenv
Ausgabe des Terminals:
Um die Ausgabe zu filtern nutzt man z. B. für die Ausgabe der Umgebungsvariablen HOME:
env | grep HOME
Ausgabe des Terminals:
XDG_CONFIG_HOME=/home/[user]/.config
HOME=/home/[user]
XDG_CACHE_HOME=/home/[user]/.cache
Einfacher geht es mit der Anweisung:
printenv HOME
Ausgabe des Terminals:
/home/[user]
Und eine letzte Möglichkeit:
echo $HOME
Ausgabe des Terminals:
/home/[user]
Ausgabe der Shellvariablen
Shellvariablen lassen sich mit folgender Anweisung anzeigen:
set
Die Ausgabe ist sehr umfangreich und umfasst alle Umgebungs- und Shell-Variablen. Deshalb ist es klug die Anweisung in Verbindung mit less anzuwenden, also in seitenweiser Ansicht.
set | less
Auch der Filter grep kann verwendet weren. Zum Beispiel: die Ausgabe auf den Wert der Shell-Variablen PS1 beschränken:
set | grep PS1
Ausgabe des Terminals:
PS1='[\u@\h \W]\$ '
Eine Alternative wäre die Anweisung:
echo $PS1
Ausgabe des Terminals:
[\u@\h \W]\$
Links:
Die Anweisung find ist hier sehr ausführlich beschrieben, daher lohnt es nicht, das alles zu wiederholen.
find hat den Nachteil, dass der Suchort (Festplatte, Verzeichnis usw.) vollständig durchsucht wird. Das geschieht jedesmal, wenn man die Anweisung aufruft. Das kann z. B. bei Fotos nervig werden, da der Suchvorgang recht lange dauern kann.
An dieser Stelle tritt locate als Hilfe auf. locate durchsucht den Suchort nicht jedesmal, wenn er aufgerufen wird. Statt dessen baut er eine Datenbank auf, in die er den Inhalt des Suchortes einträgt. Fortan ruft er nun die Datenbank ab. Das geht sehr viel schneller als bei find.
Will man also locate verwenden, z. B. wenn man 20 Bilder suchen will, muss man vorher einmal die Anweisung updatedb ausführen. Der Suchort wird nun einmal durchsucht. Auch das kann einige Zeit dauern, aber eben nur ein Mal. Jede weitere Suchanfrage mit locate liefert sofort Ergebnisse.
Benutzung
Die Anweisung wird wie folgt benutzt:
locate {Suchbegriff}
Soll die Groß- und Kleinschreibung unbeachtet bleiben:
locate -i {Suchbegriff}
Verzeichnisse ausschließen
Sollen bestimmte Verzeichnisse wie tmp, backup usw. bei der Suche ausgeschlossen werden, kann man das mit dieser Anweisung erreichen:
PRUNEPATHS="{Verzeichnisnamen}"
Sollen mehrere Verzeichnisse gesperrt sein, werden diese durch ein Leerzeichen getrennt hintereinander aufgeführt.
Links:
Zunächst die übliche Laufwerksanalyse in Linux:
df -h
Ausgabe des Terminals:
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf dev 12G 0 12G 0% /dev run 12G 9,5M 12G 1% /run efivarfs 320K 60K 256K 19% /sys/firmware/efi/efivars /dev/nvme0n1p2 449G 279G 148G 66% / tmpfs 12G 15M 12G 1% /dev/shm tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-udev-load-credentials.service tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-journald.service tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-tmpfiles-setup-dev-early.service tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-sysctl.service tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-tmpfiles-setup-dev.service tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-vconsole-setup.service tmpfs 12G 23M 12G 1% /tmp /dev/nvme0n1p1 300M 300K 300M 1% /boot/efi /dev/sdb1 1,9T 975G 807G 55% /home/Daten tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-tmpfiles-setup.service tmpfs 2,4G 188K 2,4G 1% /run/user/1000
duf
Ausgabe des Terminals:
╭────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 3 local devices │ ├─────────────┬────────┬────────┬────────┬───────────────────────────────┬──────┬────────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├─────────────┼────────┼────────┼────────┼───────────────────────────────┼──────┼────────────────┤ │ / │ 448.4G │ 278.1G │ 147.5G │ [############........] 62.0% │ ext4 │ /dev/nvme0n1p2 │ │ /boot/efi │ 299.4M │ 300.0K │ 299.1M │ [....................] 0.1% │ vfat │ /dev/nvme0n1p1 │ │ /home/Daten │ 1.8T │ 974.4G │ 806.9G │ [##########..........] 51.9% │ ext4 │ /dev/sdb1 │ ╰─────────────┴────────┴────────┴────────┴───────────────────────────────┴──────┴────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 13 special devices │ ├───────────────────────────┬────────┬────────┬────────┬───────────────────────────────┬──────────┬────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├───────────────────────────┼────────┼────────┼────────┼───────────────────────────────┼──────────┼────────────┤ │ /dev │ 11.6G │ 0B │ 11.6G │ │ devtmpfs │ dev │ │ /dev/shm │ 11.6G │ 14.4M │ 11.6G │ [....................] 0.1% │ tmpfs │ tmpfs │ │ /run │ 11.6G │ 9.5M │ 11.6G │ [....................] 0.1% │ tmpfs │ run │ │ /run/credentials/systemd- │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ journald.service │ │ │ │ │ │ │ │ /run/credentials/systemd- │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ sysctl.service │ │ │ │ │ │ │ │ /run/credentials/systemd- │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ tmpfiles-setup-dev-early. │ │ │ │ │ │ │ │ service │ │ │ │ │ │ │ │ /run/credentials/systemd- │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ tmpfiles-setup-dev.servic │ │ │ │ │ │ │ │ e │ │ │ │ │ │ │ │ /run/credentials/systemd- │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ tmpfiles-setup.service │ │ │ │ │ │ │ │ /run/credentials/systemd- │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ udev-load-credentials.ser │ │ │ │ │ │ │ │ vice │ │ │ │ │ │ │ │ /run/credentials/systemd- │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ vconsole-setup.service │ │ │ │ │ │ │ │ /run/user/1000 │ 2.3G │ 188.0K │ 2.3G │ [....................] 0.0% │ tmpfs │ tmpfs │ │ /sys/firmware/efi/efivars │ 320.0K │ 59.4K │ 255.6K │ [###.................] 18.6% │ efivarfs │ efivarfs │ │ /tmp │ 11.6G │ 22.0M │ 11.6G │ [....................] 0.2% │ tmpfs │ tmpfs │ ╰───────────────────────────┴────────┴────────┴────────┴───────────────────────────────┴──────────┴────────────╯
