Dieses Dokument ist für Unix-Einsteiger gedacht und enthält
einen kompakten Überblick über das nötigste
Bedienwissen für die ersten Schritte zur Arbeit mit Linux/Unix
auf Kommandozeilenebene mittels eines Text-Terminals. Solche
Kommandozeilen werden mittels sogenannter Shells über die
Tastatur eingeben. Eine Shell ist eine Benutzerschnittstelle von
Linux/Unix-Betriebssystemen, die textbasiert arbeitet und über
die Tastatur bedient werden muss. Die Return-Taste bringt eine
Kommandozeile zur Ausführung.
Die weiteren Punkte führen
die wichtigsten Befehle zu den entsprechenden Breichen auf. Die
folgende Tabelle zeigt die benutzte Nomenklatur auf:
|
Zeichen
|
Bedeutung
|
|
<>
|
in solchen Klammern angegebene Tasten der Tastatur sollen
gleichzeitig gedrückt werden. Einzelne Tasten sind durch "-"
getrennt.
|
|
<ctrl>
|
Drücken der ctrl-Taste auf amerikanischen Tastaturen bzw.
der Strg-Taste auf deutschen Tastaturen.
|
|
<ctrl-a>
|
Drücken der ctrl-Taste zusammen mit der angegeben Taste a.
|
|
<ctrl-alt-F1gt;
|
Drücken Tasten ctrl, alt und F1.
|
|
<tab>
|
Drücken der Tabulator-Taste (im allgemeinen die Taste
links vom Buchstaben Q).
|
|
[]
|
Ausdrücke in eckigen Klammern sind durch passende
Ausdrücke zu ersetzen.
|
|
who am i
|
Ausdrücke ohne Klammerung sind zu übernehmen.
|
|
Tasten
|
Beschreibung
|
Beispiele
|
Tipps
|
|
<tab>
|
Vervollständigung eines Dateinamens
|
-
|
Verfügbarkeit der Vervollständigkeitsfunktion hängt
von benutzter Shell ab.
|
|
<Pfeil hoch>
|
Anzeigen der vorangegangen Kommandozeile
|
-
|
-
|
|
<Pfeil runter>
|
Anzeigen der nachgegangen Kommandozeile
|
-
|
-
|
|
<ctrl-Bild auf>
|
blättert die Anzeige nach oben
|
-
|
-
|
|
<ctrl-Bild runter>
|
blättert die Anzeige nach unten
|
-
|
-
|
|
<Pfeil links>
|
navigieren in der aktuellen Kommandozeile nach links
|
-
|
-
|
|
<Pfeil rechts>
|
navigieren in der aktuellen Kommandozeile nach rechts
|
-
|
-
|
|
<ctrl-a>
|
setzen des Cursors an den Anfang der Kommandozeile
|
-
|
-
|
|
<crtl-e>
|
setzen des Cursors an das Ende der Kommandozeile
|
-
|
-
|
|
./[Dateiname] oder [Dateiname]
|
starten des Programms mit Namen "Dateiname"
|
banner
|
./ vor einem Dateinamen ist nur dann notwendig, wenn sich die
Datei im aktuellen Verzeichnis befindet.
|
|
Befehl
|
Beschreibung
|
Beispiele
|
Tipps
|
|
ls [-la] [Verzeichnis] (list)
|
zeigt den Inhalt des Verzeichnisses [Verzeichnis] an.
Zusätzliche Parameter: [-l]: neben Namen werden
Typ, Rechte, Anzahl der Hardlinks, Besitzer, Gruppe und die Größe
und die Zeitmarke angezeigt der Dateien angezeigt. [-a]: zeigt
alle Dateien an, auch die mit einem "." beginnen.
|
ls ls -l ls -a Aufgaben ls -la ls -la /
|
"/" steht für das Hauptverzeichnis. "."
steht für das aktuelle Verzeichnis.
|
|
pwd (print name of working/current
directory)
|
zeigt aktuellen absoluten Pfad an
|
-
|
-
|
|
cd [Verzeichnis] (change directory)
|
wechselt das Verzeichnis in das angegebene [Verzeichnis].
Relative sowie absolute Angaben sind möglich.
|
relativ: cd ..
cd Aufgaben absolut: cd /home
|
-
|
|
mkdir [Verzeichnis] (make directory)
|
erstellt ein neues Verzeichnis. Relative und absolute
Verzeichnisangaben sind erlaubt.
|
mkdir Test
|
-
|
|
mv [Quelle] [Ziel] (move)
|
verschiebt Dateien bzw. Verzeichnisse in andere Verzeichnisse .
|
mv /home/Aufgaben Kopie/ mv test1.txt test2.txt
|
|
|
cp [Quelle] [Ziel] (copy)
|
kopiert Dateien bzw. Verzeichnisse in andere Verzeichnisse
|
-
|
|
|
scp [-r] [Quelle] [Ziel] (secure copy)
|
Kopiert rechnerübergreifend Dateien bzw. Verzeichnisse in
andere Verzeichnisse unter Verwendung einer verschlüsselten
Verbindung. [Quelle] oder [Ziel] bezeichnen entweder Datei oder
Verzeichnis im lokalen Filesystem oder im Filesystem auf einem
anderen Rechner. Im zweiten Fall wird das File bzw. Verzeichnis
identifiziert über eine Textkette der
Form: [Loginname]@[Rechnername]:[AbsoluterPfad] Zusätzliche
Parameter: [-r]: Kopiert rekursiv ein Verzeichnis und dessen
Inhalt
|
scp test1.txt userxy@wendtstud1:/home/userxy/
scp
userxy@wendtstud1:/home/userxy/ test1.txt
|
|
|
rmdir [Verzeichnis] (remove directory)
|
löscht Verzeichnisse
|
-
|
Wenn Verzeichnisse nicht leer sind, dann bricht dieses Kommando
ab. Besser rm -r benutzen.
|
|
rm [-rf] [Ziel] (remove)
|
löscht unwiderrufbar Dateien bzw.
Verzeichnisse Zusätzliche Parameter: [-r]: löscht
rekursiv alle unterliegende Verzeichnisse und Dateien [-f]:
löscht ohne Nachfrage, zeigt keine Fehlermeldungen an
|
rm -rf Aufgaben rm -r Aufgaben rm -f Test.txt
|
-
|
|
locate -i [Name]
|
sucht nach Dateien deren Name die Zeichenkette [Zeichenkette]
enthält. Die Suche findet auf einer Datenbank statt. Mit
Schalter -i beachtet locate die Groß- bzw. Kleinschreibung
nicht.
|
locate -i test
|
locate ist wesentlich schneller als find, teilweise ist die
Datenbank nicht auf dem neuesten Stand.
|
|
find [Verzeichnis] -name [Name]
|
sucht nach der Dateien mit Namen [Name] ab einem Verzeichnis
[Verzeichnis]
|
find / -name MeinTest.cpp find . -name MeinTest.cpp
|
-
|
|
Befehl
|
Beschreibung
|
Beispiele
|
Tipps
|
|
cat [Datei] (concatenate)
|
zeigt den Inhalt der Datei [Datei] an.
|
cat /etc/fstab
|
-
|
|
less [Datei] oder more [Datei]
|
zeigt den Inhalt der Datei [Datei] an.
|
less .bashrc
|
less oder more biete erhöhte Funktionalität im
Vergleich zu cat an: <space> oder <f>: blättert
Anzeige weiter <b>: blättert Anzeige zurück <g>:
springt zum Anfang der Datei <G>: springt ans Ende der
Datei <h>: zeigt weitere Informationen an <q>:
verlassen der Anzeige </>[Zeichenkette]: suche nach einer
Zeichenkette <n>: Suche fortsetzen
|
|
touch [Datei]
|
erzeugt eine Datei bzw. aktualisiert das Datum einer Datei.
|
touch test.txt
|
-
|
|
grep -ni [Zeichenkette] [Dateien] (global regular
expression parser)
|
sucht nach der Zeichenkette [Zeichenkette] in den Dateien
[Dateien] (sind durch Freizeichen zu trennen) und gibt die
Zeilennummer und die Zeichenkette der Treffer aus.
|
grep -ni der text.txt test.log
|
mit Schalter [-i] unterscheidet der Befehl nicht zwischen Groß-
und Kleinschreibung.
|
|
[Befehl] > [Datei]
|
leitet die Ausgabe eines Befehls [Befehl] in die Datei [Datei]
um.
|
ls -la > Inhalt.txt
|
-
|
|
[Befehl] < [Datei]
|
leitet den Inhalt der Datei [Datei] zum Programm [Befehl] um.
|
grep -ni rwx < Inhalt.txt
|
-
|
|
[Befehl1] | [Befehl2]
|
die Programme [Befehl1] und [Befehl2] werden nebenläufig
(parallel) gestartet. Dabei wird die Ausgabe von [Befehl1] zur
Eingabe von [Befehl2].
|
less Inhalt.txt | grep -ni rwx
|
-
|
|
Befehl
|
Beschreibung
|
Beispiele
|
Tipps
|
|
jobs
|
Zeigt alle von dieser Shell gestarteten und noch nicht
terminierten Programme an. Jedes angezeigte Programm hat eine
Nummer in der Reihenfolge des Starts des entpreschenden Programms.
|
-
|
-
|
|
fg [jobid] (foreground)
|
Holt ein Programm aus dem Hintergrund in den Vordergrund.
|
fg 2
|
[jobid] ist Nummer aus der Anzeige des jobs-Befehls
|
|
bg [jobid] (background)
|
Lässt ein Programm mit der Nummer [jobid] nebenläufig
(im Hintergrund) agieren.
|
bg 1
|
[jobid] ist Nummer aus der Anzeige des jobs-Befehls
|
|
<ctrl-z>
|
"Suspend", aktuell laufendes Programm wird
inaktiviert und in den Hintergrund geschickt.
|
sleep 500 <ctrl-z>
|
-
|
|
<ctrl-c>
|
beendet ein aktuell laufendes Programm.
|
-
|
nützlich, wenn sich ein Programm in einer Endlosschleife
oder ähnliches befindet.
|
|
./[Dateiname] & oder [Dateiname] &
|
Startet ein Programm mit dem Namen [Dateiname] nebenläufig
(parallel) zu anderen.
|
sleep 500 &
|
-
|
|
ps (process status)
|
Zeigt alle aktuellen Prozesse ("ausgeführtes
Programm") des Eigentümers mit zusätzlichen
Informationen an (z.B. processid, CPU-Zeit, Speichernutzung etc.)
|
-
|
-
|
|
kill -15 [processid]
|
Beendet einen Prozess ("ausgeführtes Programm")
mit der Nummer [processid].
|
killl -15 40986
|
Die processid kann aus der Ausgabe des ps-Befehls abgelesen
werden.
|
|
Befehl
|
Beschreibung
|
Beispiele
|
Tipps
|
|
man [-ak] [Befehl] (manual)
|
zeigt Beschreibung/Hilfe zu Befehl [Befehl] Schalter: [-a]:
zeigt alle existierenden Beschreibungen zu Befehl [Befehl] [-k]:
sucht nach Stichwort [Befehl] in Beschreibungen aller Befehle
|
man man man -a write
|
man -a [Befehl], um sich den Befehl in allen Kontexten (z.B.
als Shell-Befehl, API-Befehl, TCL-Skript-Befehl, etc.) anzeigen zu
lassen. man -k [Stichwort], um nach einem bestimmten Befehl zu
suchen.
|
|
info [Befehl]
|
zeigt Beschreibung/Hilfe zu Befehl [Befehl]
|
info write
|
vergleichbar zu man
|
|
whatis [Befehl]
|
gibt eine Liste mit ggf. unterschiedlichen Beschreibungen des
Befehls.
|
whatis write
|
wie man -a
|
|
apropos [Stichwort]
|
sucht nach Befehlen in deren Name bzw. deren Beschreibung das
Stichwort vorkommt.
|
apropos write
|
wie man -k
|
|
Befehl
|
Beschreibung
|
Dateiendungen
|
Tipps
|
|
tar [cxvtf] [Archiv] [Quelle] (tape archiver)
|
Archiviert (unkomprimiert) Dateien bzw. Verzeichnisse in eine
Datei.
Mit Schalter [cvf] wird eine neues Archiv erstellt.
Mit Schalter [tvf] wird der Inhalt eines Archivs ausgegeben.
Mit Schalter [xvf] wird ein Archiv dearchiviert.
|
.tar
|
Dateien können mehrere Endungen haben, z.B. .tar.Z. Die
Datei ist also zunächst mit dem Programm tar archiviert
worden und anschließend mit dem Programm gzip komprimiert
worden. Wenn das Archiv wiederhergestellt werden soll, dann gilt
es die umgekehrte Reihenfolge zu durchlaufen. Neuere
tar-Versionen können durch den zusätzlichen Schalter "z"
automatisch komprimieren und dekomprimieren (im gzip-Format).
|
|
zip [Archiv] [Quelle]
|
Archiviert und komprimiert Dateien bzw. Verzeichnisse in eine
Datei
|
.zip
|
Dieses Komprimierungsverfahren ist mit Winzip kompatibel.
|
|
unzip [-lt] [Archiv] [Verzeichnis]
|
Dearchiviert und dekomprimiert ein Archiv. Ohne Schalter
wird Archiv dekomprimiert Mit Schalter [-l] wird Inhalt des
Archivs ausgegeben Mit Schalter [-t] wird das Archiv überprüft
|
.zip
|
s.o.
|
|
gzip [Quelle] (gnu zip)
|
ähnlich zip, lediglich nach einem anderen Verfahren und
mit der Beschränkung auf eine Datei, die archiviert und
komprimiert werden kann.
|
.gz / .Z
|
Wird oft in Zusammenhang mit tar benutzt.
|
|
gunzip [Archiv] (gnu unzip)
|
dekomprimiert ein mit gzip erstellte Datei.
|
.gz / .Z
|
s.o.
|