Linux-Administratoren verwenden fast immer die Kommandozeile.
- Leicht zu dokumentieren
- Befehle können per Cut and Paste tippfehlerfrei übernommen werden.
Hilfestellung Manpages
Mit dem Befehl man cp erhält man einen Manual-Eintrag für den Befehl cp. Das funktioniert auch bei wichtigen Konfigurationsdateien, etwa man fstab. Bei Zweideutigkeiten zeigt man 3 passwd den Befehl und man 5 passwd die Datei. Mit dem Leerzeichen wird geblättert, mit dem Buchstaben Q wird die Manpage verlassen.Fernwartung
Eine Wartung kann per Remote Shell erfolgen: ssharnold@tab ~ $ ssh master@193.175.188.253 master@193.175.188.253's password: Last login: Mon Sep 5 08:30:42 2022 from 193.175.177.44 master@kt253:~$
Der Befehl ssh hieß ursprünglich rsh für remote shell.
Allerdings wurde unverschlüsselt übertragen.
Der Nachfolger hieß ssh für secure shell.
Mit exit oder [Strg]+[D] kann man sich ausloggen. Analog gibt es einen Befehl scp zum Kopieren von Dateien über das Netzwerk. Details: man scp Vorteil einer Wartung per Konsole statt per grafischer Oberfläche:
- Es sind mehrere Wartungssitzungen parallel möglich.
- Die Wartungssitzung stört nicht den Desktop.
- Die Übertragung ist datensparsam, da nur wenige Bytes übertragen werden müssen.
Benutzerverwaltung
Benutzer
- Benutzer unter Linux haben eine Kennung (oft der Vorname in
Kleinbuchstaben),
eine Benutzernummer (uid), ein Heimatverzeichnis (unter /home) und ein
Passwort.
Einen Benutzer legt man mit dem Befehl adduser an.
Genauere Informationen erhält man mit dem Handbucheintrag, den man mit dem
Befehl man adduser aufrufen kann.
# adduser paula
- Wechsel des Benutzers innerhalb der Shell: su - paula
- Rückkehr zum alten Benutzer durch exit oder [Strg]+[D].
- Die Liste der Benutzer steht in /etc/passwd. Die Passwörter allerdings in der Datei /etc/shadow.
- Informationen erhalten Sie über die Befehle man 5 passwd und man shadow.
Der Administrator
Eine Shell (Kommandozeile, Terminal, Konsole) mit root-Rechten anlegen:- eine Shell mit sudo bash aufrufen oder
- oder kürzer: sudo -s
Gruppen
Jeder Benutzer kann in einer oder mehreren Gruppen Mitglied sein. Auch eine Gruppe hat eine Kennung (gid), allerdings kein Heimatverzeichnis und nur in Ausnahmefällen ein Passwort.- Die Gruppen werden in der Datei /etc/group gepflegt. Informationen erhalten Sie üben den Befehl man group.
- Der Administrator kann eine Gruppe anlegen: addgroup tstgrp
- Ein Benutzer kann vom Administrator einer Gruppe hinzugefügt werden. usermod -aG tstgrp paula
- Der Administrator kann eine Gruppe löschen: delgroup tstgrp
Dateien
Besitzer und Rechte
In einem Multiuser-System müssen Dateien in ihren Rechten gegenüber anderen Benutzern einschränkbar sein. Gruppen sorgen für gemeinsame Ressourcen, die wiederum gegenüber Nichtmitgliedern geschützt werden können.- Eine Datei gehört immer einem Benutzer, typischerweise dem, der sie
angelegt hat. Dazu wird dessen uid hinterlegt.
ls -l MeineDatei -rw-rw-r-- 1 arnold arnold 13 Okt 13 11:07 MeineDatei
- Der Besitzer einer Datei kann durch den Befehl chown
geändert werden. Das darf in der Regel nur der Administrator.
# chown gast MeineDatei # ls -l MeineDatei -rw-rw-r-- 1 gast arnold 13 Okt 13 11:07 MeineDatei
- Eine Datei gehört einer Gruppe. Dazu ist deren gid hinterlegt.
- Die Gruppe kann durch den Befehl chgrp geändert werden.
# chgrp gast MeineDatei # ls -l MeineDatei -rw-rw-r-- 1 arnold gast 13 Okt 13 11:07 MeineDatei
Dateirechte und -besitzer
- Jede Datei hat drei Arten von Berechtigungen
- lesen: 4
- schreiben: 2
- ausführen: 1
- Diese Berechtigungen bestehen für den Besitzer, die Gruppe und den
Rest der Welt. Daraus ergibt sich eine dreistellige Zahl.
754 bedeutet:
- Der Besitzer darf die Datei lesen, schreiben und ausführen.
- Die Gruppe darf die Datei lesen und ausführen.
- Der Rest der Welt darf die Datei nur lesen.
- Änderung der Rechte mit chmod, hier 751:
Benutzer darf alles, Gruppe lesen und ausführen, Welt ausführen.$ chmod 751 MeinProgramm $ ls -l MeinProgramm -rwxr-x--x 1 arnold arnold 32 Okt 13 11:17 MeinProgramm
- chmod 600: Nur der Benutzer darf lesen und schreiben. Wichtig für Passwörter o. ä.
- Beispiel für /etc/shadow:
$ ls -l /etc/shadow -rw-r----- 1 root shadow 1615 Aug 28 10:34 /etc/shadow
Programme, die der Gruppe shadow angehören, dürfen die verschlüsselten Passwörter zur Kontrolle beim Einloggen lesen.
- Die Berechtigungen gelten analog für Verzeichnisse.
- Lesen: Sie dürfen den Inhalt eines Verzeichnisses auslesen.
- Schreiben: Sie dürfen in dem Verzeichnis eine Datei anlegen oder löschen.
- Ausführen: Sie dürfen in das Verzeichnis hineinwechseln.
Dateimanager
Unter den grafische Oberflächen gibt es eine Anwendung, die mal Explorer, mal Finder, Caja oder Nautilus heißt. Der Typus wird als Dateimanager beschrieben. Es geht darum, Dateien anzuzeigen, umzubenennen, zu kopieren oder zu löschen. Für diese Operationen stellt die Shell einfache Befehle zur Verfügung.
- ls: Zeige Dateien und Verzeichnisse
- cp: Kopiere Dateien (cp quelle ziel)
- mv: Verschiebe Datei oder benenne sie um
- rm: Lösche Datei
- cd: Wechsle das Verzeichnis
- mkdir: Erzeuge ein Verzeichnis
- rmdir: Lösche ein leeres Verzeichnis
- find: Suche und agiere im Verzeichnisbaum
- grep: Suche Textmuster in Dateien
Standardbefehl ls
ls: Zeige Dateien und Verzeichnissels -l MeineDatei -rw-rw-r-- 1 arnold arnold 13 Okt 13 11:07 MeineDatei
- -t sortiere zeitlich
- -r dreht Reihenfolge um
- -d zeige die Verzeichniseigenschaften und nicht den Inhalt
Standardbefehl cp
cp: Kopiere Datei. Erstes Argument ist Quelle, zweites das Zielcp quelldatei.txt zieldatei.txtMehrere Dateien möglich. Ziel muss ein Verzeichnis sein.
cp *.txt zielverzeichnisKopierte Dateien erhalten den kopierenden User als Eigentümer und den aktuellen Zeitpunkt als letztes Änderungsdatum. Mit -rp werden die Originalzustände erhalten. Evtl. root-Rechte erforderlich.
cp -rp *.txt zielverzeichnis
Standardbefehl mv
mv: Benenne Datei in eine andere Datei ummv quelldatei.txt zieldatei.txtIst das Ziel ein Verzeichnis, werden die Dateien verschoben. Hier sind mehrere Dateien möglich.
mv *.txt zielverzeichnis
Standardbefehl rm
rm: Lösche Datei Der Befehl rm löscht alle als Argument angegebenen Dateien.rm einedatei.txt nocheine.datMit den Wildcards * und ? können mehrere Dateien zusammengefasst werden.
rm *.txtMit der Option -r können Verzeichnisse und alle darunterliegenden Dateien und Verzeichnisse gelöscht werden.
rm -r meinverzeichnis
Standardbefehle für Verzeichnisse
- cd: Wechsle das Verzeichnis
cd zielverzeichnis
- pwd: Zeige das aktuelle Verzeichnis an.
- mkdir: Erzeuge ein Verzeichnis
mkdir neuesverzeichnis
- rmdir: Lösche ein leeres Verzeichnis
rmdir leeresverzeichnis
- rm -r: Lösche nichtleere Verzeichnisse
rm -r projektverzeichnis
Dateimanager mc
Mit dem Programm mc steht ein Dateimanager für die Konsole zur Verfügung. Das Paket muss allerdings explizit installiert werden.
# apt install mc
Leistungsfähige Konsolenbefehle
- find: Suche und agiere im Verzeichnisbaum
find verz -name "*.bak" -mtime 3 -exec rm {} \;
Sucht im Verzeichnis verz alle Dateien, die auf .bak enden, älter als drei Tage sind und löscht sie. - grep: Suche Textmuster in Dateien
grep Cobol *.txt
Zeigt alle Zeilen in den Dateien, die auf .txt enden, die das Wort Cobol enthalten. Mit -l werden nur die Dateinamen genannt, in denen die Begriffe auftauchen. Durch Dollar mit Klammern kann diese Dateiliste einem anderen Befehl als Argument übergeben werden.rm $(grep -l Cobol *.txt)
Hier werden alle Textdateien, die das Wort Cobol enthalten, als veraltet gelöscht.
Der Link
Unter Linux ist es möglich, zwei Einträge im Dateisystem auf den gleichen Dateiinhalt verweisen zu lassen. Einen solchen Verweis nennt man Link. Der harte Link entsteht durch den Befehl ln. Die Verweise sind gleichberechtigt. Erst wenn der letzte Link gelöscht wird, wird auch der Dateiinhalt entfernt.$ ls -l MeinProgramm -rwxr-x--x 1 arnold arnold 31 Okt 13 16:42 MeinProgramm $ ln MeinProgramm MeinLink $ ln -s MeinProgramm MeinSLink $ ls -l Mein* -rwxr-x--x 2 arnold arnold 31 Okt 13 16:42 MeinLink -rwxr-x--x 2 arnold arnold 31 Okt 13 16:42 MeinProgramm lrwxrwxrwx 1 arnold arnold 9 Okt 14 08:28 MeinSLink -> MeinProgrammDer symbolische Link kann auch außerhalb des Dateisystems stehen. Er ist ein textueller Link ohne Prüfung, ob die Originaldatei noch da ist.
Anzeigen einer Textdatei
- Der Befehl cat zeigt den Inhalt einer Datei an.
$ cat /etc/passwd
- Der Befehl more zeigt den Inhalt und ermöglicht das Blättern
per Leertaste. [Q] beendet more.
$ more /etc/passwd
Datenumlenkung
- Das Größerzeichen leitet die Ausgabe eines Befehls in eine Datei um.
$ ls > dateiliste.txt
- Das Kleinerzeichen verwendet eine Datei als Eingabe für den Befehl.
$ sort < dateiliste.txt
- Es gibt zwei Datenkanäle. Den Datenkanal und den Fehlerkanal.
find . -mtime 3 > ausgabe.txt 2> error.txt
Wird der Errorkanal nicht benötigt, wird er oft auf /dev/null umgeleitet -- den Schredder. - Weiterleiten der Ausgabe an ein Programm
ls -l | more
Editor
Anfänger verwenden als Editor nano.- Aufruf gefolgt durch den Dateinamen:
$ nano /etc/passwd
- Verlassen durch [Strg]+ [X].
- Bei Veränderungen wird gefragt, ob die Änderungen gespeichert werden sollen.
- Der Dateiname kann anschließend geändert werden.
Systemnachrichten
In der Datei /var/log/syslog werden die Fehlerzustände protokolliert. Diese Datei können Sie »live« verfolgen:tail -f /var/log/syslogDie »Übertragung« wird mit [Strg]+[C] beendet.