Zum Inhalt

Allgemeine Befehle

Hier werden viele Befehle aufgelistet, die man oft benötigt, um verschiedenste Dinge zu erledigen. Quasi eine Art Cheat-Sheet.

Wichtig!

Diese Sammlung baut auf einem Debian bzw. Debian basierten System auf. D.h. nicht jeder Befehl funktioniert unbedingt auch auf z.B. RedHat Derivaten. Gerade der Paketmanager ist bei anderen Distributionen (z.B. Manjaro) nicht apt und hat somit eventuell auch einen anderen Syntax.

System

Ausschalten

Um ein System auszuschalten, können folgende Befehle verwendet werden:

shutdown -h now
Der Parameter "-h" bestimmt hier die Zeit, wann genau das System heruntergefahren werden soll.
poweroff
Hier wird das System, direkt nach absetzen des Befehls, heruntergefahren.

Hardware-Infos anzeigen

Um sich Informationen über die Hardware des Rechners/Servers anzeigen zu lassen, gibt es verschiedene Befehle, die verschiedene Informationen anzeigen. Nachfolgend eine Auflistung:

PCI Informationen

Um sich Informationen über PCI Schnittstellen bzw. die damit verbundenen Geräte anzeigen lassen möchte, nutzt folgenden Befehl:

lspci
Folgende Ausgabe erscheint (je nach Hardware unterschiedlich):
00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:16.1 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #2 (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d4)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d4)
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d4)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation C226 Series Chipset Family Server Advanced SKU LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 04)
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 04)
02:00.0 PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 03)
03:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)

USB Informationen

Ähnlich, wie beim PCI Befehl, zeigt hier der USB Befehl alle verbunden USB Geräte an:

lsusb
Folgende Ausgabe erscheint (je nach Hardware unterschiedlich):
Bus 002 Device 003: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub
Bus 001 Device 005: ID 046a:b102 Cherry GmbH USB Wireless Device
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

CPU Informationen

Auch hier, wer hätte es gedacht, zeigt der CPU Befehl alle Informationen zur verbauten CPU/zu den verbauten CPUS an:

lscpu
Folgende Ausgabe erscheint (je nach Hardware unterschiedlich):
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 23
Stepping:              7
CPU MHz:               2000.000
BogoMIPS:              4666.41
L1d cache:             32K
L1i cache:             32K
L2 cache:              2048K
NUMA node0 CPU(s):     0-3

über Software anzeigen

Wenn man eine grobe Übersicht haben möchte, dann kann man das "htop" Programm benutzen. Mehr dazu in Punkt XXXXXX.

Software

Paketmanager

Der Paketmanager unter Linux ist ein essentieller Bestandteil des Systems. Er kann, wie der Name sagt, Pakete verwalten/managen. Dafür gibt es große, sogenannte Repositories (zu deutsch: Sammlungen).

Installation von Paketen

Um neue Pakete zu installieren:

apt install Paketname

Deinstallation von Paketen

Um installierte Pakete zu deinstallieren (ohne, Konfigurationsdateien zu löschen):

apt remove Paketname
Um installierte Pakete vollständig zu entfernen (mitsamt Konfigurationsdateien):
apt purge Paketname

Aktualisierung

Um ein System zu aktualisieren:

apt update && apt upgrade

Hinweis

"apt update" sucht nach Updates und "apt upgrade" installiert alle verfügbaren Updates.

Um ein System vollständig zu aktualisieren:

apt dist-upgrade

Neuinstallation

Um ein Paket neu zu installieren:

apt reinstall Paketname

Achtung

Hierfür ist eine Internetverbindung erforderlich.

Dateisystem

Nachfolgend Befehle zum Arbeiten am und mit dem Dateisystem.

aktueller Ort

Um sich die aktuelle Position im Dateisystem anzeigen zu lassen:

pwd

Wechseln

Um in ein anderes Verzeichnis zu wechseln:

cd
Beispiele: - cd / in das Root Verzeichnis wechseln (Ganz oben) - cd ~ in das Home Verzeichnis des aktuellen Benutzers wechseln - cd .. in das übergeordnete Verzeichnis wechseln

Auflisten

Um ein Verzeichnis aufzulisten:

ls [Parameter]
Folgend ein must known Parameter: - -al um das vollständige Verzeichnis anzeigen zu lassen und die Ansicht zu sortieren

Kopieren

Um eine Datei oder einen Ordner zu kopieren: ```Shell: cp [Paramter] Quelle Ziel

Folgend ein paar must know Parameter:
- **-r** für rekursives kopieren
- **-v** für eine erweiterte Ausgabe

/// details | Beachte
    type: warning
    open: true

Der Parameter -r ist erforderlich, wenn ein Ordner kopiert werden soll.
///

### Verschieben

Um eine Datei oder einen Ordner zu verschieben:
```Shell:
mv [Paramter] Quelle Ziel
Folgend ein paar must know Parameter: - -r für rekursives verschieben - -v für eine erweiterte Ausgabe

Beachte

Der Parameter -r ist erforderlich, wenn ein Ordner verschoben werden soll.

Löschen

Um eine Datei oder einen Ordner zu löschen:

rm [Parameter] Pfad
Folgend ein paar must known Paramter: - -r für rekursives löschen - -v für eine erweiterte Ausgabe

Umbenennen

Hier wird ebenfalls der mv Befehl benutzt. Siehe Punkt 2.2.2

Rechte ändern

Um die Zugriffsrechte auf eine Datei/einen Ordner zu ändern:

chmod [Parameter] 777 Pfad
Die 777 bewirkt, dass jeder Lese- und Schreibrechte auf die Datei/den Ordner hat. Hier eine nähere Erläuterung der 777 und was noch möglich ist: https://wiki.ubuntuusers.de/chmod/

Folgend ein must known Parameter: - -r für rekursives Anwenden der Rechte

Achtung

Wenn der Parameter -r benutzt wird, werden alle Dateien innerhalb des Ordners ebenfalls mit den gewählten Rechten versehen!

Einbinden von Dateisystemen

Um ein lokales Dateisystem (also z.B. einen USB Stick) einzubinden, wird folgender Befehl verwendet:

mount Gerät Pfad

Datei erstellen

Um eine leere Datei zu erstellen:

touch Dateiname

Dienststeuerung

Viele Programme werden als sogenannte Dienste ausgeführt. Das bedeutet, dass das Programm im Hintergrund läuft und in den meisten Fällen ein eigener Benutzer zur Ausführung bestimmt wird. Außerdem lassen sich darüber Autostart Optionen festlegen.

Gut zu wissen

Wenn mann einen Dienst mit systemctl steuert, kann man mehrere Dienste an das Ende des Befehls packen und somit mehrere innerhalb eines Befehls steuern.

Starten

Um einen Dienst zu starten:

systemctl start Dienstname
oder
/etc/init.d/Dienstname start
oder
service Dienstname start
Alle drei Varianten sind möglich und bewirken am Ende dasselbe.

Stoppen

Um einen Dienst zu stoppen (wieder 3 Varianten):

systemctl stop Dienstname

/etc/init.d/Dientname stop

service Dienstname stop

Neu starten

Um einen Dienst neu zu starten (wieder 3 Varianten):

systemctl restart Dienstname

/etc/init.d/Dienstname restart

service Dienstname restart

Töten (Killen)

Wenn ein Dienst nicht mehr reagiert (sich also aufgehangen hat), dann hilft folgener Befehl:

systemctl kill Dienstname

Warnung

Dieser Möglichkeit sollte nur dann genutzt werden, wennn der Dienst wirklich nicht mehr reagiert.

Statusanzeige

Um den Status eines Dienstes zu überprüfen:

systemctl status Dienstname

service Dienstname status

Laufwerke

Um sich Informationen über alle Laufwerke anzeigen zu lassen:

lsblk
Dies zeigt alle gefundenen Laufwerke mitsamt Partitionen an.
df -h
Dies zeigt die aktuelle Speicherbelegung aller eingebundenen Partitionen an.

Editoren

Nano

Nano ist auf nahezu jedem Linux vorinstalliert. Man steuer Nano einfach mit der STRG Taste. Nachfolgend die geläufigsten Kombinationen: - STRG+X Editor beenden (Nach Bearbeitung der Datei wird gefragt, ob gespeichert werden soll) - STRG+S Änderungen speichern - STRG+O Änderungen speichern unter - STRG+W Suchen - STRG+A Zum Zeilenanfang gehen - STRG+E Zum Zeilenende gehen

Weitere Hilfreiche Kombinationen: https://wiki.ubuntuusers.de/Nano/

Vi(m)

Vi ist auch auf nahezu jedem Linux vorinstalliert. Vim ist eine Erweiterung von Vi, funktioniert sonst aber gleich. Nachfolgend ein paar geläufige Befehle innerhalb des Editors: - :q Editor beenden - :q! Editor beenden (und nicht nachfragen, ob gespeichert werden soll) - :w Änderungen speichern

Weitere hilfreiche Befehle: https://wiki.ubuntuusers.de/VIM/

Neofetch

Neofetch ist ein kleines Tool, welches eine kleine Systemübersicht anzeigt - nettes Tool, um schnell das aller nötigste herauszufinden.

Hinweis

Das Tool ist meistens nicht installiert und muss nachinstalliert werden!

Hilfe

Nahezu jedes Linux (wenn nicht sogar jedes) hat sogenannte Man Pages. Das sind Hilfeseite, die bei einem Programm mitgeliefert werden. Darin werden alle Befehle mitsamt Paramtern aufgelistet. Um die Hilfe zu benutzen:

man Paketname
Beispiel:
man nano