Inhaltsverzeichnis
Grundbefehle
In dieser Anleitungen werden elementare Linux-Befehle beschrieben. Falls man Linux auf einem Homeserver ohne graphische Oberfläche arbeitet kommt man ohne diese Befehle nicht oder nur schlecht zurecht. Aber auch beim täglichen Einsatz von Linux können einige dieser Befehle sehr hilfreich sein. Als CLI (Command Line Interface
) wird unter Unix bzw. Linux die Kommandozeile bezeichnet.
Softwarevoraussetzungen: -
Schwierigkeitsgrad: Einfach
Ausgetestet mit folgenden Betriebssystemen: Ubuntu | Debian | teilweise auch andere Distributionen
Tastenkombinationen
Es sei auf folgende Tastenkombinationen hingewiesen:
[Eingabe-Taste] führt den Befehl aus [TAB] Autovervollständigung des Befehls [TAB] + [TAB] zeigt Vorschläge an [Pfeiltaste Hoch ↑] vorheriger Befehl [Pfeiltaste Runter ↓] nächster Befehl -> Gebrauch bei vorherigem "vorheriger Befehl" [Strg] + [C] bricht den Befehl abuser@server:~$ [Strg] + [D] Logout/Exit
Paketverwaltung
Installieren
user@system:~$ sudo apt-get install Paketname # Beispiel: user@system:~$ sudo apt-get install cups
Deinstallieren
user@system:~$ sudo apt-get remove Paketname # Beispiel: user@system:~$ sudo apt-get remove cups
Paketquellen aktualisieren
user@system:~$ sudo apt-get update # Paketquellen neu laden
System aktualisieren
user@system:~$ sudo apt-get upgrade # System aktualisieren
Dateioperationen
cd - in ein verzeichnis wechseln
user@system:~$ cd /Verzeichnis/in/das/man/will # Beispiel: user@system:~$ cd /home/user
cp - eine Datei kopieren
user@system:~$ cp -r Verzeichnis Ziel user@system:~$ cp Datei Ziel # Beispiele: user@system:~$ cp 1.mp3 /home/user user@system:~$ cp -r Musik/ /home/user
rm - eine Datei löschen
user@system:~$ rm -r Verzeichnis user@system:~$ rm Datei # Beispiele: user@system:~$ rm 1.mp3 user@system:~$ rm -r Musik/
mv - eine Datei verschieben ("ausschneiden")
user@system:~$ mv Datei_oder_Verzeichnis Ziel # Beispiel: user@system:~$ mv Musik/ /home/user user@system:~$ mv 1.mp3 /home/user
rsync - Dateien abgleichen
Mit rsync
kann man beispielsweise Verzeichnisse und Dateien synchronisieren. Dabei werden nur veränderte Files transferiert. Diese Übersicht zeigt nur die wichtigsten Funktionen, mehr Informationen findest du hier.
rsync
kannst du wie folgt installieren:
user@system:~$ sudo apt-get install rsync
Hier ein kleines Verwendungsbeispiel:
user@system:~$ rsync [Optionen] Quelle Ziel # Beispiel: user@system:~$ rsync -av --stats Musik /media/externe/Musik # hier wird der Ordner Musik mit /media/externe/Musik synchronisiert: # die Option "-a" beinhaltet mehrere wichtige Funktionen (Rechte beibehalten, Unterverzeichnisse, ....) # "-v" zeigt die Schritte an # "--stats" gibt anschließend Statistiken aus user@system:~$ rsync -av --stats --delete Musik /media/externe/Musik # gleicher Befehl wie zuvor, # ...nur mit der Option "--delete": dadurch werden im Ordner Musik gelöschte Dateien auch in /media/externe/Musik gelöscht
→ Ein Anwendungsbeispiel von rsync
kannst du in diesem Backupskript finden.
ls - Verzeichnisinhalt anzeigen
user@system:~$ ls [Optionen] Verzeichnis_oder_Datei # Beispiel: user@system:~$ ls # Inhalt des aktuellen Verzeichnisses anzeigen lassen user@system:~$ ls /home/user # Inhalt von /home/user auflisten user@system:~$ ls -a /home/user # ...auch versteckte Dateien ("." davor) anzeigen user@system:~$ ls -l /home/user # ...erweiterte Listenansicht (Änderungsdatum, Rechte, ...) user@system:~$ ls -al /home/user # ...alle Dateien (auch versteckte) in Listenansicht auflisten
Dateirechte
chown - Benutzerzugriff ändern
## ohne root-Rechte: user@system:~$ chown Gruppe:Benutzer # oder einfach nur user@system:~$ chown Benutzer # Beispiel: user@system:~$ chown -R www-data:www-data /var/www/temp ## Wenn root-Rechte benötigt werden: user@system:~$ sudo chown Gruppe:Benutzer # oder einfach nur user@system:~$ sudo chown Benutzer # Beispiel: user@system:~$ sudo chown -R www-data:www-data /var/www/temp
chmod - Dateirechte ändern
## ohne root-Rechte: user@system:~$ chmod Recht Datei_oder_Ordner # Beispiel: user@system:~$ chmod 777 temp ## mit root-Rechten: user@system:~$ sudo chmod Recht Datei_oder_Ordner # Beispiel: user@system:~$ sudo chmod 777 temp
Festplattenverwaltung und Partitionierung
hddtemp - Temperatur der Festplatte bestimmen
Mit hddtemp
lässt sich die Temperatur einer Festplatte bestimmen und kann wie folgt installiert werden:
user@system:~$ sudo apt-get install hddtemp
Genutzt werden kann das Tool wie folgt:
user@system:~$ sudo hddtemp /dev/sdX # Syntax user@system:~$ sudo hddtemp /dev/sda # Beispiel
df - Festplattenbelegung analysieren
Um unter Linux den freien Speicherplatz einer Festplatte zu bestimmen, bietet sich df
an:
# Aller Dateisysteme: user@system:~$ df -h # Eines Dateisystems: user@system:~$ df -h [Mountpoint] # Syntax user@system:~$ df -h / # Beispiel mit /
Geschwindigkeitstest
Lesen
Hierfür kann man beispielsweise hdparm
verwenden, welches mit
user@system:~$ sudo apt-get install hdparm
nachinstalliert werden kann. Anschließend kann man mit folgendem Befehl die Lesegeschwindigkeit des Caches und der Platte selbst bestimmen:
user@system:~$ sudo hdparm -tT /dev/sdX # Syntax user@system:~$ sudo hdparm -tT /dev/sda # Beispiel
Schreiben
Eine einfache Methode zur Bestimmung der Schreibgeschwindigkeit besteht aus dem Schreiben einer 100MB großen Datei via dd
:
user@system:~$ dd count=100 bs=1M if=/dev/zero of=[Mountpoint oder Ort]/test.img # Syntax # Beispiele: user@system:~$ dd count=100 bs=1M if=/dev/zero of=./test.img # Beispiel mit der Systemplatte user@system:~$ dd count=100 bs=1M if=/dev/zero of=/media/second/test.img # Beispiel mit einer unter /media/second gemounteten Platte
Anschließend sollte man die Datei wieder löschen:
user@system:~$ rm [Mountpoint oder Ort]/test.img # Syntax # Beispiele: user@system:~$ rm ./test.img # Beispiel mit der Systemplatte user@system:~$ rm /media/second/test.img # Beispiel mit einer unter /media/second gemounteten Platte
dd - bit-genaues Kopieren
Die Anwendungsgebiete von dd
sind zu groß, um hier alle aufzulisten. Mit dd lassen sich Dateien, Partitionen oder ganze Festplatten bit-genau kopieren. Die wesentliche Syntax von dd
lautet wie folgt:
user@system:~$ sudo dd if=[Quelle] of=[Ziel] # Syntax user@system:~$ sudo dd if=/dev/sda of=/dev/sdb # Beispiel (klonen einer Festplatte)
Einige Beispiele zur Verwendung von dd
findest du in diesen Posts und Wiki-Einträgen:
fdisk - Partitionierung
fdisk
ist ein Partitionierungstool, dass sich komplett über das CLI bedienen lässt. Eine umfangreiche Dokumentation findet sich hier. Ein Beispiel zur Verwendung von fdisk
findest du in der Anleitung zur Installation von Debian auf der Dockstar. Dort wird ein USB-Stick partitioniert.
Weitere Infos zu fdisk
lassen sich in den Manpages erfragen:
user@system:~$ man fdisk
smartctl - SMART Werte abfragen
Mit Hilfe des Befehls smartctl
kann man die SMART Werte einer Festplatte abfragen. Installiert werden muss das Paket smartmontools
:
user@system:~$ sudo apt-get install smartmontools
Nun kann man zum Beispiel mit folgenden Befehlen diese Werte einer Platte abfragen:
user@system:~$ sudo smartctl -A /dev/sdX # Syntax user@system:~$ sudo smartctl -A /dev/sda # Beispiel
Sonstiges (Editoren, Systemüberwachungen, wget, Logs)
top - eine Systemüberwachung
user@system:~$ top
Um einen Prozess zu beeden gibt man k
ein und die PID (Process ID - steht in top vor dem Prozess) und drückt zur Bestätigung die Eingabetaste.
htop - eine andere Systemüberwachung
user@system:~$ htop
htop
zeigt eine Menge von Informationen über die aktuelle Auslastung des Systems, kann aber noch viel mehr (…)
nano - ein Editor
nano ist ein leichter Editor, der für die Anleitungen in diesem Wiki benötigt werden. Nano muss nachträglich installiert werden:
user@system:~$ sudo apt-get install nano
user@system:~$ nano /pfad/zur/datei # Beispiel: user@system:~$ nano /home/user/notizen.txt
wget - Dateien downloaden
Mit wget kann man auf einem headless System Dateien herunterladen
user@system:~$ cd /in/den/ordner/wo/die/datei/hin/soll user@system:~$ wget http://pfad/zum/download # Beispiel: user@system:~$ cd /home/user user@system:~$ wget http://beispiel.de/downloads/test.zip # Download ganzer Seiten: user@system:~$ wget --mirror -k -E http://seite.tld user@system:~$ wget --mirror -k -E http://wiki.chrisge.org # Beispiel
tail - Logs betrachten
Mit tail lassen sich Logdateien betrachten, unter anderem auch „live“
tail -Option /Pfad/zur/logdatei # Beispiel: tail -f /var/log/ein-log.log # mit -f Logdateien "live betrachten" sudo tail -f /var/log/mail.log # viele Logs benötigen Root-Rechte