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.
|