Unix-Einführung der Fakultät für Informatik der TU München
! zum Inhaltsverzeichnis
< zum vorangehenden Abschnitt: 2 Grundsätzliches über UNIX
> zum folgenden Abschnitt: 4 Das X Window-System
In diesem Kapitel finden Sie eine Beschreibung der Befehle, die bei der
täglichen Arbeit mit Dateien hilfreich sind. Selbstverständlich sind
das bei weitem nicht alle Befehle, die es unter UNIX gibt. Ebenso sind bei den
beschriebenen Befehlen im Regelfall nicht alle möglichen Parameter
aufgelistet, sondern nur die, die oft benötigt werden.
Bei allen der folgenden Befehle muß man auf eine Besonderheit von UNIX
achten: UNIX unterscheidet zwischen Groß- und Kleinschreibung! Es ist
z.B. durchaus möglich, daß es sowohl eine Datei text wie auch
eine Datei Text (oder TEXT, TexT ...) gibt, die alle
verschieden sind. Genauso ist es natürlich auch mit den Befehlen und den
Parametern. Wenn ein Programm beharrlich behauptet, eine Datei nicht zu finden,
die zweifelsfrei existiert, dann sollte man sicherheitshalber kontrollieren,
ob der Dateiname nicht zufällig groß geschrieben wird.
Die Namen der oft gebrauchten UNIX-Kommandos sind sehr kurz, sie bestehen oft
nur aus zwei Zeichen und sind die Abkürzungen von entsprechenden englischen
Worten. Zur Erleichterung sind diese Worte jeweils in Klammern hinter dem
Befehlsnamen angegeben.
Zur folgenden Beschreibung:
- Alle in eckigen Klammern stehenden Angaben (z.B. [Datei]) sind
optional, das heißt, sie sind kein unbedingter Bestandteil des Befehls.
Die eckigen Klammern sind in keinem Fall einzugeben.
- ... in einer Befehlsbeschreibung besagt, daß der vorhergehende
Parameter (z.B. Dateiname) beliebig oft wiederholt werden darf.
- Kursiv geschriebene Ausdrücke sind durch einen entsprechenden
Paramter zu ersetzen, d.h. wenn irgendwo Datei steht, so ist an dieser
Stelle der Name einer geeigneten Datei einzusetzen.
Zu allen UNIX-Befehlen ist eine entsprechende Kurzanleitung auch immer
am Rechner abrufbar. Diese enthält im Gegensatz zu der vorliegenden
Beschreibung im Regelfall die Auflistung aller möglichen Parameter sowie
detailliertere Angaben zur Wirkungsweise der einzelnen Befehle. Um zu
einem bestimmten UNIX-Befehl Erläuterungen zu erhalten, verwende man
das Kommando
man Befehlsname
Die Wirkungsweise des Befehls man schildert das Kommando
man man
Hinweis: Die gleichen Beschreibungen, die man mit man erhält,
sind auch über den Manual-Browser xman verfügbar. Dieser wird in
der Standardumgebung im INFO-Workspace angezeigt.
- Syntax:
-
cp Quelldatei Zieldatei
oder
cp Datei ... Verzeichnis
- Beschreibung:
-
Erste Form:
Die Quelldatei wird kopiert, und die Kopie erhält den Namen der angegebenen
Zieldatei.
Zweite Form:
Eine oder mehrere Dateien werden in das angegebene Verzeichnis kopiert. Dabei
behalten sie ihren ursprünglichen Namen.
- Achtung:
- Existiert bereits eine Datei mit Namen der angegebenen
Zieldatei, so wird diese ohne jegliche Warnung mit dem Inhalt der
Quelldatei überschrieben.
- Beispiele:
-
cp prahmen prog5
Die Datei prahmen wird in die Datei prog5 kopiert.
cp info* /usr/stud/klimt
Alle Dateien, deren Name mit info beginnt, werden in das Verzeichnis
/usr/stud/klimt kopiert.
cp info*.c /usr/stud/klimt
Alle Dateien, deren Name mit info beginnt und mit .c endet,
werden in das Verzeichnis /usr/stud/klimt kopiert.
- Syntax:
-
ls [-a] [-l] Datei/Verzeichnis ...
- Beschreibung:
-
Die Dateien eines bestimmten (Standard: des aktuellen) Verzeichnisses werden
aufgelistet. Dazu werden, je nach Option, bestimmte Informationen über die
Dateien angezeigt. Es existieren noch eine Vielzahl von weiteren Optionen, die
hier nicht angeführt werden.
- Parameter:
-
- -a
- (all files)
Auch Dateien, deren Name mit . beginnt, werden angezeigt.
- -l
- (long)
Es werden zusätzliche Angaben gemacht, wie Zugriffsrechte, Eigentümer,
Gruppe, Größe (in Bytes) und Datum der letzten Änderung.
- Bedeutung der Spalten:
-
ls -l
total 2940
drwxrwxrwx 2 klimt other 64 Aug 26 20:16 Mail
drwxr-xr-x 2 klimt other 1024 Sep 18 11:09 News
drwxrwxrwx 2 klimt other 1024 Oct 24 17:21 anl
-rw-r--r-- 1 klimt users 0 Oct 24 15:39 anl.toc
-rw-r--r-- 1 klimt other 390195 Jul 29 16:23 apfel1.Z
-rw-r--r-- 1 klimt other 521131 Aug 7 09:30 apfel2.Z
drwxr-xr-x 2 klimt other 1024 Oct 24 14:59 bin
-rw-r--r-- 1 klimt other 8880 Apr 5 1990 colormap.data
drwxr-xr-x 2 klimt other 1024 Aug 26 20:17 mand
-rw-r--r-- 1 klimt other 84976 Jul 29 14:42 medizini.doc
-rw-r--r-- 1 klimt users 66458 Oct 24 16:21 p.ps
-rw-r--r-- 1 klimt other 129 Jul 29 14:42 prompt
drwxrwxrwx 4 klimt users 1024 Aug 28 14:03 texinfo
-rw-r--r-- 1 klimt users 163 Oct 24 15:26 texput.log
-rw-rw-r-- 1 klimt users 389368 Oct 24 11:27 unix-intro.ps
drwxr-xr-x 2 klimt other 1024 Aug 26 20:18 xinfo-1.01.01
Die erste Spalte zeigt (unter anderem) an, ob der betreffende Eintrag
ein Verzeichnis ist.
- -
- besagt, daß es sich um eine normale Datei handelt.
- d
- steht für ein Verzeichnis (directory).
- l
- (für link) zeigt an, daß es sich um eine symbolische Link, einen Verweis, handelt. Hinter dem Namen gibt
ls -l das Ziel des Verweises an, dies kann ein Verzeichnis
oder eine Datei sein (siehe auch die man-page zu ln).
Die nächsten neun Stellen zeigen die Zugriffsrechte an. Jeweils drei
Stellen bezeichnen von links nach rechts die Rechte des Eigentümers,
die Gruppenrechte und die der übrigen Benutzer.
Die Buchstaben haben folgende
Bedeutung:
- r
- (read permission) = Leserlaubnis
- w
- (write permission) = Schreiberlaubnis
- x
- (execution permission)
- Bei normalen Dateien: Ausführungsrecht (Programme).
- Bei Verzeichnissen: Recht zum Wechseln in dieses Verzeichnis.
In der folgenden Spalte steht die Anzahl der Verzeichniseinträge, unter
denen die Datei insgesamt ansprechbar ist. Eine Zahl > 1 bedeutet, daß
irgendwo ein Dateiname steht, der ebenfalls auf die gleiche Datei verweist.
Nun folgen der Name des Eigentümers der Datei, der Name der Gruppe,
der die Datei zugeordnet ist und die Dateigröße in Zeichen.
Abschließend kommt das Datum der letzten Änderung und der Dateiname.
Bei Dateien, die älter als 6 Monate sind, wird die Zeit durch das
Jahr ersetzt.
- Syntax:
-
mv AlterName NeuerName
- Beschreibung:
-
Mit diesem Befehl können Dateien oder ganze Dateiverzeichnisse umbenannt
werden.
Achtung: Wenn bereits eine Datei mit dem angegebenen neuen Namen existiert,
so wird diese ohne jegliche Warnung mit dem Inhalt der angegebenen Datei
überschrieben.
- Beispiele:
-
mv uebung ueb.alt
Die Datei uebung heißt ab sofort ueb.alt.
mv aufg1 sem4/aufg1
Die Datei aufg1 wird ins Unterverzeichnis sem4 verschoben.
mv briefe/* .
Alle Dateien aus dem Unterverzeichnis briefe werden ins aktuelle
Verzeichnis (.) verschoben.
- Syntax:
-
rm [-i] [-r] Dateiname ...
- Parameter
-
- -i
- (interactive)
Bei jeder Datei, die gelöscht wird, fragt das System nach, ob die Datei auch
wirklich gelöscht werden soll.
Auch cp und mv verstehen übrigens den Parameter -i. Dort
führt er zu einer Frage, bevor eine bestehende Datei überschrieben werden
würde.
- -r
- (recursive)
Hier darf als Parameter ein Verzeichnis angegeben werden. Es
werden alle Dateien in diesem Verzeichnis, einschließlich enthaltener
Verzeichnisse und deren Inhalt, und anschließend das Dateiverzeichnis
selbst gelöscht. Dieser Befehl ist sehr nützlich für das Löschen
kompletter Verzeichnisbäume, da im Gegensatz zu rmdir die
behandelten Verzeichnisse nicht leer sein müssen. Allerdings sollte
die Anwendung immer mit entsprechender Vorsicht erfolgen!
- Beispiele:
-
rm numerik
Aus dem aktuellen Verzeichnis wird die Datei numerik gelöscht.
rm a*
Alle Dateien, deren Name mit a beginnt, werden gelöscht.
rm -r programme
Das Unterverzeichnis programme und alle Einträge, die sich darin
befinden, werden gelöscht.
- Warnung:
-
Wie bereits weiter oben erwähnt, kann eine Löschoperation nicht
rückgängig gemacht werden. Bei Verwendung von Wildcards ? * seid bitte sehr vorsichtig und prüft genau, ob Ihr im
richtigen Verzeichnis seid! Gebt die Namen so speiziell wie möglich
an (also z.B. test*.?, und nicht *), so daß im Fall
eines Irrtums der Schaden gering bleibt. Verwendet im Zweifelsfall
die Option -i, um Unheil zu vermeiden. Zu leicht ist man
einmal im falschen Fenster (mit einem anderen aktuellen Verzeichnis)
und tippt einfach drauf los!
Der chmod-Befehl kann auf zwei verschiedene Arten arbeiten, die
erste ist leichter verständlich, die zweite manchmal effektiver.
Die Erfahrung zeigt, daß man bei einer Neuvergabe der Rechte
(symbolisch mit = oder mathematisch) leichter Fehler macht als
bei einer Änderung, besonders, wenn mehrere Dateien und/oder
Verzeichnisse bearbeitet werden. Für einen Anfänger ist daher die
anschauliche Variante (mit + bzw -) besser geeignet.
- Achtung:
-
chmod gibt keine Warnung bei einer "fragwürdigen" Vergabe
der Rechte aus. Zuteilung eines Schreib- ohne Leserechts sind zum
Beispiel genauso möglich wie eine Entrechtung des Eigentümers.
Bedenkt, daß Verzeichnisse das Ausführungsrecht haben müssen,
um verwendbar zu sein!
Auf keinen Fall darf man sich die Ausführungserlaubnis für das
eigene HOME-Verzeichnis entziehen! Da beim Login stets in das
HOME-Directory des Benutzers gewechselt wird, dies aber ohne
Ausführungserlaubnis nicht möglich ist, kann sich der Benutzer
in solch einem Fall nicht mehr anmelden.
Personen mit Superuser-Berechtigung (z.B. Kennung root)
können unabhängig von den vergebenen Rechten jede Datei ansehen,
ändern und ausführen. Ohne triftigen Grund werden sie das
allerdings niemals tun. Es läßt sich auch nicht völlig
ausschließen, daß sich Benutzer unberechtigt Zugang zu Euren
Dateien verschaffen. Sollte Euch diesbezüglich etwas auffallen,
sagen Sie bitte sofort den Betreuern Bescheid!
- Syntax:
-
chmod [-R] [wer]wiewas[,...] Datei
- Parameter:
-
Die Abkürzungen sind wie folgt zu verstehen:
- wer
-
- u
- (user): der Eigentümer der Datei.
- g
- (group): die eingetragenen Gruppenmitglieder.
- o
- (others): alle anderen Benutzer.
- wie
-
- +
- Vergabe (hinzufügen) eines Rechtes.
- -
- Entzug eines Rechtes.
- =
- Genaues Zuweisen von Rechten.
- was
-
- r
- (read): Leserecht
- w
- (write): Schreibrecht
- x
- (execute): Ausführungsrecht
- X
- setzt execute für Verzeichnisse, aber nicht für Dateien
- -R
- verändert rekursiv alle Dateien und
Unterverzeichnisse der angegebenen Verzeichnisse
- Beispiel:
-
chmod o+r Telefon
gibt allen "anderen" Benutzern das Recht, die Datei Telefon zu lesen.
chmod g-x a.out
entzieht allen Mitgliedern der Gruppe das Recht, a.out auszuführen.
chmod o=r Telefon
erlaubt allen "anderen" Benutzern, die Datei Telefon zu lesen, entzieht
ihnen aber (im Gegensatz zum ersten Beispiel) alle sonstigen Rechte, die sie
bisher hatten.
chmod -R u=rwX,go=rX ~/.html-data
öffnet das .html-data Verzeichnis im HOME mit allen Dateien und
Unterverzeichnissen für alle zum Lesen und gibt dem Eigentümer
auch Schreibrecht. Versehentlich vergebene Execute-Attribute in
diesen Datenverzeichnissen werden gleichzeitig gelöscht.
Bei manchen komplizierten Operationen kann es kürzer sein, die
"mathematische" Variante zu verwenden.
- Befehl:
-
chmod [-R] xyz Datei oder Verzeichnis [...]
- Parameter:
-
- x
- Rechte des Eigentümers
- y
- Rechte der Gruppe
- z
- Rechte aller anderen Benutzer
Ein vergebenes Leserecht wird durch die Zahl 4 identifiziert; ein Schreibrecht
durch 2 und ein Ausführungsrecht durch 1. x, y und z
ergibt sich aus der Summe der vergebenen Rechte für den Eigentümer, die
Gruppe bzw. alle anderen Benutzer.
- Beispiel:
-
chmod 754 Datei
gestattet dem Eigentümer von Datei alle Zugriffe, den
Gruppenmitgliedern das Lesen und Ausführen und allen anderen Benutzern nur
das Lesen.
- Syntax:
-
prt Dateiname ...
- Beschreibung:
-
prt ist kein UNIX-Befehl, sondern nur an den Rechnern der
Informatikhalle verwendbar. Die angegebenen Dateien werden auf dem
Matrixdrucker im jeweiligen Stockwerk ausgedruckt.
- Achtung:
-
Nur reine Textdateien (z.B. Programmtexte) sind zum Drucken geeignet.
Auf keinen Fall dürfen kompilierte Programme oder Objektdateien
(Endung .o) ausgedruckt werden! (Es würden nur viele Seiten mit
unnützem Zeichensalat entstehen.)
prt versucht, illegale Dateien zu erkennen und abzuweisen,
jedoch sollte man sich darauf nicht verlassen.
- Syntax:
-
pwd
- Beschreibung:
-
Mit diesem Befehl wird der volle Pfadname des Verzeichnisses angegeben, in
dem man sich im Moment befindet.
- Hinweis:
-
Die genaue Funktion von pwd hängt von der verwendeten Shell ab.
- Syntax:
-
cd Verzeichnis
- Beschreibung:
-
Mit diesem Befehl wechselt man vom aktuellen in das angegebene Verzeichnis,
das damit zum neuen aktuellen Verzeichnis wird. Um in ein bestimmtes
Verzeichnis wechseln zu können, muß man für dieses die
Ausführungsberechtigung (x) haben.
- Beispiele:
-
cd
Wechselt ins HOME-Verzeichnis (Standardwert).
cd ..
Wechselt ins übergeordnete Verzeichnis
cd bin
Befindet man sich momentan im Verzeichnis /usr/stud/klaus, so wechselt
man mit diesem Befehl ins Verzeichnis /usr/stud/klaus/bin (falls dieses existiert, ansonsten gibt es eine Fehlermeldung).
cd /usr/stud/klaus
Unabhängig davon, in welchem Verzeichnis man sich befindet, gelangt man in
das Verzeichnis /usr/stud/klaus.
- Syntax:
-
mkdir [-p] Verzeichnis ...
- Beschreibung:
-
Im aktuellen Verzeichnis wird ein weiteres Unterverzeichnis angelegt. Dabei
werden die Zugriffsrechte des neuen Verzeichnisses auf rwxr-xr-x
(derzeitige Voreinstellung) gesetzt.
- Parameter:
-
- -p
-
Erstellt alle Verzeichnisse, die benötigt werden, um den angegebenen
Verzeichnispfad zu erstellen. Normalerweise erwartet mkdir, daß nur die
letzte Hierarchiestufe des angegebenen Pfades neu zu erstellen ist, alle
anderen Stufen jedoch bereits vorhanden sind.
- Beispiel:
-
mkdir verz1 verz2
Im aktuellen Verzeichnis werden die beiden Unterverzeichnisse verz1 und
verz2 angelegt.
mkdir -p neu1/neu2/neu3/neu4
Im aktuellen Verzeichnis werden nacheinander die Verzeichnisse neu1, neu1/neu2, neu1/neu2/neu3 und neu1/neu2/neu3/neu4 angelegt.
- Syntax:
-
rmdir Verzeichnis ...
- Beschreibung:
-
Die angegebenen Verzeichnisse werden gelöscht. Keines dieser Verzeichnisse darf
Dateien oder weitere Verzeichnisse enthalten. Will man ein nichtleeres
Verzeichnis löschen, so muß man dazu den Befehl rm -r verwenden.
- Beispiel:
-
rmdir alteszeug
Das Unterverzeichnis alteszeug wird gelöscht.
- Syntax:
-
which Programm ...
- Beschreibung:
-
Der Befehl which stellt für die angegebenen Programme fest, in
welchem Verzeichnis die entsprechende ausführbare Datei steht. Der komplette
Pfad wird ausgegeben.
- Hinweis:
-
In der Korn-Shell ist der Befehl type besser, weil er auch Aliase
anzeigt, also Kommandos, die innerhalb der Shell definiert wurden.
- Vorbemerkung:
-
Bei der Anwendung des find-Befehls ist größte Sorgfalt
geboten. Unbedacht aufgerufen erzeugt find eine außerordentlich hohe
Netzlast und eine hohe Belastung anderer Maschinen am Institutsnetz.
find-Programme, die diesbezüglich auffallen, werden sofort und ohne
Rückfragen von den Systembetreuern gekillt!
- Syntax:
-
find Pfadname ... Filterfunktionen ...
- Beschreibung:
-
find durchsucht alle angegebenen Pfade und deren Unterverzeichnisse nach
Dateien, die die angegebenen Kriterien erfüllen. Die Kriterien werden dabei
in Form von Filterfunktionen angegeben. Bei jeder Datei innerhalb des
Suchpfades wird überprüft, ob sie die durch den Filter gestellte
Bedingung erfüllt. Tut sie das, wird sie dem nächsten Filter
übergeben. Tut sie es nicht , fällt sie aus der Überprüfung
heraus. Einige der Filterfunktionen haben besondere Seiteneffekte, z.B. das
Drucken des Dateinamens (-print) oder das Ausführen eines Befehls
(-exec, meist mit dem Dateinamen als Argument).
- Filterfunktionen:
-
Die im folgenden angegebene Liste der Filter umfaßt nur die wesentlichsten,
daneben existieren noch sehr viele weitere. Für deren Beschreibung sei auf
die Manualseite zu find verwiesen.
- -name Dateiname
-
Ergibt wahr, wenn der Name der Datei dem angegebenen entspricht. Ein
regulärer Ausdruck (mit ., * ...) ist erlaubt; dieser
muß aber in Hochkommata gesetzt werden, damit er nicht durch die Shell
bereits ausgewertet wird.
- -xdev
-
Ergibt immer wahr. Bewirkt, daß find bei der Suche keine
Mount-Punkte überquert, sondern immer auf dem anfänglichen Dateisystem
bleibt.
-xdev sollte immer mit angegeben werden!.
- -user Name
-
Ergibt wahr, wenn die Datei dem angegebenen Benutzer gehört.
- -print
-
Ergibt immer wahr. Gibt den kompletten Pfadnamen der Datei, beginnend
mit dem zu durchsuchenden Verzeichnis, auf der Standardausgabe aus.
- -exec Befehl
-
Der angegebene Befehl wird ausgeführt. Die Stelle, an der in der
Befehlszeile der Dateiname stehen soll, muß mit {} markiert
werden. Jeder Befehl muß mit einem Strichpunkt abgeschlossen werden.
-exec ergibt wahr,
wenn der Befehl fehlerfrei ausgeführt wurde (d.h. einen exit-Wert
von 0 liefert).
Vorsicht: Da der Strichpunkt für die Shell eine Sonderbedeutung hat,
muß er als ';' eingegeben werden.
- -ok Befehl
-
Wie -exec, jedoch wird der Benutzer vor Ausführung des generierten
Befehls jedes Mal gefragt. Er kann dann die Befehlsausführung mit y
veranlassen oder mit n unterbinden.
-exec und -ok erzeugen eine erhebliche Anzahl von Prozessen und
sind daher nur für kleine Dateimengen bis ca. maximal 30 geeignet. Für
das Behandeln großer Dateimengen wird auf das Programm xargs
verwiesen (siehe Manualseite).
- Beispiele:
-
find . -xdev -print
Ausgabe der Namen aller Dateien in und unter dem aktuellen Verzeichnis
auf dem aktuellen Dateisystem.
find . -xdev -name '*.c' -print
Ausgabe der Namen aller Dateien mit Dateinamensende .c. Man beachte,
daß die Angabe *.c in Hochkommata steht, da sonst die Shell an
dieser Stelle die Namen aller .c-Dateien des aktuellen Verzeichnisses
einsetzen würde.
find doku -xdev -name '*.doc' -ok vi {} \;
Sucht alle Dateien mit Namensendung .doc im Unterverzeichnis doku
und darunter und fragt den Benutzer, ob diese Datei mit vi editiert
werden soll.
- Syntax:
-
cat [-e] [-t] [-v] Datei ...
- Beschreibung:
-
Bei diesem Befehl werden die angegebenen Dateien in der angegebenen
Reihenfolge ausgegeben.
- Parameter:
-
- -e
-
Am Ende jeder Zeile wird ein $ angezeigt.
- -t
-
Im Text gesetzte Tabulatoren werden als ^I angezeigt.
- -v
-
Zeichen, die normalerweise am Bildschirm nicht darstellbar sind, werden als
^x oder ^? angezeigt.
- Beispiele:
-
cat beispiel
Anzeige der Datei beispiel.
cat datei1 datei2 > datei3
Es wird eine Datei datei3 erzeugt, die den kombinierten Inhalt der
Dateien datei1 und datei2 enthält.
cat anhang >> bericht
Der Inhalt der Datei anhang wird ans Ende der Datei bericht
angefügt.
cat > neu_dat
Es wird eine Datei neu_dat erstellt (bzw. eine bereits vorhandene Datei
überschrieben). Dabei wird der Inhalt der Datei von der Tastatur gelesen.
Die Eingabe beendet man mit Ctrl-D ([Ctrl] festhalten und
gleichzeitig [D] drücken).
cat >> alt_dat
Über Tastatureingabe kann an eine bestehende Datei alt_dat neuer Text
hinzugefügt werden. Eingabe beenden: Ctrl-D drücken.
- Syntax:
-
less -\?
Gibt eine Zusammenfassung möglicher less-Befehle aus (auch die,
die in dieser Beschreibung nicht erwähnt werden).
(Der Backslash \ ist erforderlich, damit die Shell nicht
versucht, eine Datei zu finden, die dem Muster -? entspricht.)
less [Parameter] Dateiname ...
Zeigt die angegebene Datei seitenweise am Bildschirm an. In diesem Modus
können die im folgenden beschriebenen Befehle verwendet werden.
- Funktion:
-
Das Programm less ist eine schnelle und doch komfortable Alternative zu
einem Editor, wenn man eine Datei nicht ändern, sondern nur anschauen will.
Hinweis: less verwendet weitgehend vi-Kommandos.
- Blättern im Text:
-
- h
-
Eine Zusammenfassung der möglichen less-Befehle (Wie
less -\? von der Shell-Ebene aus).
- [Leertaste]
-
blättert eine Bildschirmseite weiter.
- [Enter]
-
geht in der Datei eine Zeile weiter.
- d
-
blättert eine halbe Bildschirmseite weiter.
- b
-
blättert eine Bildschirmseite zurück.
- y
-
geht in der Datei eine Zeile zurück.
- u
-
blättert eine halbe Bildschirmseite zurück.
- Bildschirm neu aufbauen:
-
- r
-
schreibt den Inhalt des Bildschirms noch einmal (refresh). Das kann
z.B. nützlich sein, wen Systemmeldungen den Bildschirmaufbau zerstört
haben.
- Textstellen suchen:
-
- g
-
springt an den Anfang der Datei.
- G
-
springt an das Ende der Datei.
- m
-
gefolgt von einem beliebigen Kleinbuchstaben markiert die aktuelle Textzeile
mit diesem Buchstaben.
- '
-
gefolgt von einem Kleinbuchstaben geht in die Zeile zurück, die zuvor mit
diesem Buchstaben markiert wurde.
- /string
-
sucht nach der Zeile, in der der angegebene String zum ersten Mal nach der
aktuellen Position auftaucht. (Vorwärtssuche).
- ?string
-
sucht nach der Zeile, in der der angegebene String zum ersten Mal vor der
aktuellen Position auftaucht. (Rückwärtssuche).
- /!string
-
wie /string, doch wird die erste Zeile angezeigt, die den
String nicht enthält.
- ?!string
-
wie ?string, doch wird die erste Zeile angezeigt, die den
String nicht enthält.
- n
-
wiederholt den letzten Suchvorgang.
- [Esc] n
-
wiederholt den letzten Suchvorgang in der anderen Richtung.
- Informationen:
-
- =
-
gibt einige Daten der betrachteten Datei aus; z.B den Namen, die Länge der
Datei usw.
- less beenden:
-
- q
-
beendet less und kehrt auf die Shell-Ebene zurück.
- Editor starten:
-
- v
-
Startet einen Editor mit der aktuellen Datei. Für den Aufruf des Editors wird
das Kommando verwendet, das durch die Umgebungsvariable EDITOR
festgelegt ist. Existiert die Variable nicht, wird vi verwendet.
- UNIX-Kommandos:
-
- !Kommando
-
Das Kommando wird ausgeführt
- !!
-
Das vorhergehende UNIX-Kommando wird wiederholt
- !
-
Eine neue Shell wird gestartet
- Parameter:
-
- -e
-
Ohne diesen Schalter kann less nur durch den Befehl q beendet
werden, ist er gesetzt, so beendet less sich automatisch, wenn das
Programm zum zweiten Mal auf das Ende der betrachteten Datei trifft.
- -E
-
Wie -e, doch hier beendet sich less bereits, wenn das Programm
zum ersten Mal auf das Ende der betrachteten Datei trifft.
- -i
-
Bei Suchbefehlen werden Unterschiede in der Groß/Kleinschreibung
ebensowenig beachtet wie eventuelle Textunterstreichungen.
- -M
-
Beim Durchblättern des Textes werden Informationen ausgegeben, wie groß
die Datei ist und welcher Anteil bereits betrachtet wurde.
- -N
-
Die Zeilen werden numeriert.
- Syntax:
-
more [-nnn] [+z_nr] [+/String]
Datei ...
- Beschreibung:
-
Mit Hilfe dieses Befehls kann man Dateien seitenweise am Bildschirm anzeigen
lassen (vgl. cat). Am Ende der Seite wird jeweils angegeben, zu wieviel
Prozent die Datei bereits angezeigt wurde.
- Parameter:
-
- nnn
-
gibt die Anzahl der Zeilen an, die pro Seite angezeigt werden sollen.
- z_nr
-
gibt die Zeile an, ab der mit der Anzeige begonnen werden soll.
- String
-
Die Datei wird erst ab zwei Zeilen vor der Stelle, an der
die angegebene Zeichenfolge erstmals steht, ausgegeben.
Nach Beginn der Anzeige können verschiedene Eingaben erfolgen:
- h
-
Anzeige der möglichen Eingaben
- mm [Leertaste]
-
Vorschub um mm Zeilen (Wird keine Zahl angegeben, so erfolgt ein
Vorschub um eine Seite).
- =
-
Anzeige der aktuellen Zeilennummer.
- mm/String
-
Die Datei wird ab der Stelle weiter angezeigt, an der der String zum mm-ten
Mal steht.
- v
-
Der Editor vi wird aufgerufen, und die angezeigte Datei wird ab der
aktuellen Stelle editiert.
- mmf
-
Bei der Ausgabe werden mm Seiten übersprungen.
- .
-
Der letzte Befehl wird wiederholt.
- q
-
Vorzeitiges Beenden der Anzeige.
- Anmerkung:
- less bietet die gleichen Funktionen und mehr.
Letztendlich ist es Geschmackssache, welches der beiden Programme Ihr
verwendet.
Jedoch gehört less im Gegensatz von more nicht zum
Lieferumfang vieler Unix-Varianten und ist daher nicht immer
verfügbar.
Der Befehl clear löscht den Bildschirm und setzt den
Positionsanzeiger (= Cursor) in die oberste Zeile.
- Syntax:
-
[f]grep [Optionen] Suchstring Datei ...
- Beschreibung:
-
grep sucht in allen angegebenen Dateien nach Zeilen, die die als
Suchstring angegebene Zeichenfolge enthalten. Der Name der Datei sowie die
gefundene Zeile werden ausgegeben. Gibt man keine zu durchsuchende Datei an, so
liest grep die Standardeingabe (nützlich für die Verwendung in
Pipes). Enthält der Suchstring Leerzeichen oder Sonderzeichen, so muß
man ihn in einfache Anführungszeichen setzen.
- Optionen
-
- -i
-
Bei der Suche wird kein Unterschied zwischen Groß- und Kleinbuchstaben
gemacht.
- -l
-
Nur die Namen der Dateien, die den Suchstring enthalten, wird angezeigt. Die
Ausgabe der entsprechenden Zeilen wird dagegen unterdrückt.
- -v
-
Anzeige aller Zeilen bzw. Dateien, die den angegebenen Suchstring nicht
enthalten.
- -x
-
Es wird nur nach Zeilen gesucht, die genau dem Suchstring entsprechen,
also keinerlei sonstige Zeichen enthalten.
- Anmerkung:
- grep kann als Suchstring auch sogenannte reguläre Ausdrücke verstehen. Die Option -E schaltet
dabei auf eine etwas geänderte Syntax um. Eine Beschreibung der
Syntax für solche regulären Ausdrücke ist in den man-pages grep(1) und regexp(5) erhältlich.
Soll nach einfachen Zeichenfolgen gesucht werden, so sollte man fgrep verwenden.
- Namensherkunft:
-
Der ursprüngliche UNIX-Editor ed besitzt
(ebenso wie ex/vi) einen Befehl g/re/p,
wobei re für regular expression, also regulärer
Ausdruck steht. Der Befehl sucht nach Zeilen, in denen der angegebene
reguläre Ausdruck vorkommt und gibt diese aus. Er wurde so oft benützt,
daß man ihn schließlich in ein eigenes Programm auslagerte, das
folgerichtig grep genannt wurde. (Quelle: NEWS-Artikel, beruft sich auf
Dennis Ritchie).
Jedes Programm, das auf einem UNIX-Rechner gestartet wird, bekommt eine
Prozeßnummer (process id, PID) zugeordnet. Dies ist eine eindeutige
Zahl, die das Betriebssystem vergibt. Wenn man ein Programm als
Hintergrundprozeß startet, so bekommt man die Nummer des neu erzeugten
Prozesses angezeigt. Beispiel:
(01) klimt@hphalle0a:/usr/stud/klimt> xeyes &
(02) [1] 19449
(03) klimt@hphalle0a:/usr/stud/klimt> ps
(04) PID TTY TIME COMMAND
(05) 15920 ttysb 0:00 tcsh
(06) 19449 ttysb 0:00 xeyes
(06) 20050 ttysb 0:00 ps
(08) klimt@hphalle0a:/usr/stud/klimt> kill 19449
(09) klimt@hphalle0a:/usr/stud/klimt> ps
(10) PID TTY TIME COMMAND
(11) 15920 ttysb 0:00 tcsh
(12) 20053 ttysb 0:00 ps
(13) [1] + Terminated xeyes
(14) klimt@hphalle0a:/usr/stud/klimt>
(Die Zeilennummern dienen nur der Verdeutlichung, sie sind nicht Bestandteil
der Ausgabe.)
- Zeile 1:
-
Das Programm xeyes wird als Hintergrundprozeß gestartet. Dazu
muß man lediglich am Ende des Programmaufrufs (also nach eventuellen
Parametern) ein & schreiben. Dies veranlaßt die Shell, nicht auf
das Ende des aufgerufenen Programms zu warten, sondern sofort nach dessen
Start wieder für die nächste Eingabe bereitzustehen.
- Zeile 2:
-
Die Shell gibt aus, mit welcher Prozeßnummer das neu gestartete Programm
läuft.
- Zeile 3:
-
Die Shell wartet auf die nächste Eingabe. Das Kommando ps wird
eingegeben und gestartet (ps-Beschreibung siehe unten).
- Zeile 4-7:
-
Ausgabe des ps-Kommandos. Die einzelnen Spalten:
- PID
-
Hier steht die Prozeßnummer.
- TTY
-
Der Name des Terminals, von dem das Programm gestartet wurde (momentan nicht
interessant).
- TIME
-
Die bisher verbrauchte CPU-Zeit in Sekunden.
- COMMAND
-
Die Befehlszeile, mit der das Programm gestartet wurde.
Wie man sieht, ist auch der ps-Prozeß selbst in der Liste
enthalten. Der tcsh-Prozeß ist die Shell, die die Befehle
entgegennimmt.
- Zeile 8:
-
Der Prozeß mit der Nummer 19449 (der xeyes-Prozeß) wird beendet
(kill -- Beschreibung siehe unten).
- Zeile 9:
-
Erneuter ps-Aufruf.
- Zeile 10-12:
-
Der xeyes-Prozeß ist verschwunden. Bei ps handelt es sich
nicht mehr um den obenstehenden Prozeß, sondern um einen neuen (erkennbar
an der PID).
- Zeile 13:
-
Die Shell meldet, daß das xeyes-Programm beendet wurde.
- Zeile 14:
-
Die Shell wartet auf die nächste Eingabe.
Dieses Kommando ist versionsabhängig. Die hier gegebene Beschreibung bezieht
sich auf System V basierende Systeme. Auf BSD basierenden Systemen gelten
andere Parameter.
- Syntax:
-
ps [Parameter ... ]
- Beschreibung:
-
Der Befehl gibt Informationen zu den Prozessen aus, die im System laufen.
Wenn keine Parameter angegeben werden, zeigt ps (wie im obigen Beispiel)
nur die Prozesse, die in der entsprechenden Shell laufen oder von ihr aus
gestartet wurden, und nicht alle Prozesse des Benutzers. Ein Weg, diese zu
erhalten, wird in den Beispielen gezeigt.
- Parameter:
-
- -e
-
Alle im System laufenden Prozesse werden aufgelistet.
- -f
-
erzeugt eine ausführlichere Liste. Zusätzlich zu den oben erklärten
Feldern sind unter anderem noch folgende Angaben zu finden:
- F
-
Art des Prozesses (z.B. 01 = Hauptspeicherprozeß, 02 = Systemprozeß
...).
- S
-
Status des Prozesses (z.B. S = Prozeß schläft, R = Prozeß läuft,
T = Prozeß ist angehalten ... ).
- UID
-
Benutzername des Prozeßeigentümers.
- PPID
-
Prozeßnummer des Vaterprozesses.
- PRI
-
Interne Priorität des Prozesses (ändert sich ständig).
- -u User-Id
-
Beschränkt die Liste auf diejenigen Prozesse, deren Eigentümer die
angegebene Benutzernummer hat.
- Beispiel:
-
ps -ef
Es werden alle Informationen über alle Prozesse des Systems angezeigt.
ps -fu 28717
Erzeugt eine Liste mit allen Prozessen des Benutzers mit der Nummer 28717.
Hinweis: Die eigene Benutzernummer erhält man durch Eingabe des Befehls
id.
- Syntax:
-
kill [-Signal] process-id
- Beschreibung:
-
Mit diesem Befehl läßt sich ein Prozeß (z.B. ein Programm mit
Endlosschleife) abbrechen.
Anmerkung: Die process-id eines Programmes läßt sich über den Befehl
ps feststellen.
- Parameter:
-
Es gibt eine Vielzahl von möglichen Signalen. Hier werden jedoch nur die
wichtigsten angeführt:
- 9
-
Der Prozeß wird sofort abgebrochen.
- 15
-
Standardwert. Der Prozeß erhält die Aufforderung, sich zu beenden. Es
liegt jedoch an dem Prozeß, ob er dies wirklich tut. Ein Editor kann
z. B. noch eine geänderte Datei speichern oder temporäre Dateien entfernen.
- Beispiel:
-
kill -9 4711
Der Prozeß mit der Nummer 4711 wird sofort beendet.
Achtung: Man sollte das Signal 9 nur dann verwenden, wenn das Programm
durch einen normalen kill-Befehl nicht beendet wird.
Die folgenden Befehle sind zwar prinzipiell auch auf einem alleinstehenden
Rechner einsetzbar, Sinn machen sie aber erst in einem Netz von vielen Rechnern
mit entsprechend vielen Benutzern.
- Syntax:
-
mailx [-s Subject]
[user-id[@Systemname]...]
- Beschreibung:
-
Mit mailx kann man Nachrichten verfassen und versenden sowie erhaltene
Nachrichten lesen, speichern oder löschen.
Hat man eine Nachricht bekommen, so gibt das System bei der Anmeldung
die Meldung you have mail aus. Mit dem Befehl mailx (ohne
Angabe eines Parameters) wird das Mail-System aufgerufen. Es erscheint
dann ein & als Eingabeaufforderung am Bildschirm, wonach z. B.
folgende Eingaben möglich sind:
- ?
- Anzeige der möglichen Anweisungen
- h
- Anzeige einer Liste der vorhandenen Briefe
- R
- Antworten auf einen Brief
- t
- Briefe lesen
- d
- Brief löschen
- q
- System verlassen
Daneben gibt es noch eine ganze Reihe weiterer Befehle.
Will man selbst eine Mail versenden, so muß man die user-ID des Empfängers
(und, wenn er nicht am gleichen System arbeitet, den Namen seines Rechners)
im Aufruf angeben. Zwei Beispiele:
mailx peisker
dient dazu, eine Nachricht an den Benutzer Peisker auf dem gleichen Rechner zu
senden.
mailx bartel@informatik
schickt eine Nachricht an den Benutzer Bartel im lokalen Netzwerk der
TU-München. Der Zusatz @informatik sorgt bei allen im
Informatikbereich verwalteten Benutzern dafür, daß die Meldung auf dem
Stammrechner des Benutzers abgelegt wird (TU-spezifisch).
Daraufhin erscheint am Bildschirm die Meldung
Subject:.
Hier kann man der mail einen Titel geben.
Danach kann man den gewünschten Text schreiben. Um den Brief zu beenden,
muß man an der ersten Stelle der Zeile einen Punkt eingeben, woraufhin
in der nächsten Zeile
Cc:
erscheint. An dieser Stelle können die Namen weiterer Benutzer eingetragen
werden, die den Brief ebenfalls erhalten sollen. Anschließend kann man das
mail-System mit
q
(für quit) verlassen.
Wird anstelle des Textes oder im Text am Anfang einer Zeile
~q
eingegeben, so fügt das System beim Versenden der Meldung an dieser Stelle
den Inhalt der Datei dead.letter ein. Mit
~r Dateiname
kann der Inhalt der angegebenen Datei verschickt werden.
Die Angabe des Subject auf der Kommandozeile ist bei
nichtinteraktiver Verwendung notwendig:
ls -lR | mailx -s 'Eine Liste meiner Dateien' ewald@informatik
Da die Eingabe nicht von dert Tastatur kommt, kann mailx nicht
nach einem Subject fragen. Wäre keines angegeben, so bliebe diese
wichtige Headerinformation leer.
- Hinweis:
-
Auf BSD-basierenden UNIX-Systemen lautet dieser Befehl /usr/ucb/mail.
In der Standard-Konfiguration, die jedem neuen Benutzer zur
Verfügung gestellt wird, wird als Mailprogramm elm verwendet,
das die gleichen Funktionen bietet wie mailx, jedoch eine
wesentlich komfortablere Handhabung ermöglicht (siehe 8). Es ist jedoch nicht auf allen UNIX-Systemen verfügbar! Die Erklärung zu
mailx wurde hier aufgenommen, weil mailx zum
Standardumfang von UNIX gehört und so auf allen UNIX-Systemen
verfügbar ist.
- Syntax:
-
gfinger [[-l] Benutzername ... ]
- Beschreibung:
- gfinger zeigt an, an welchen Rechnern die
im Aufruf angegebenen Personen derzeit angemeldet sind oder, falls sie
derzeit nirgends angemeldet sind, an welchem Rechner sie zuletzt
angemeldet waren. Mit der Option -l werden auch weitere
Informatioen angezeigt. gfinger ohne Benutzernamen im Aufruf
zeigt alle derzeit angemeldeten Benutzer der Informatikhalle und
diverser anderer Rechner am Institut.
- Anmerkung:
- Die von Studenten geschriebenen Programme xwho und ~acher/bin/finde stellen die Rechnerhalle und alle
derzeit dort arbeitenden Personen graphisch dar.
gfinger gehört nicht zum normalen UNIX-Befehlsumfang, sondern ist
ein Bestandteil des GNU-Projektes der Free-Software-Foundation. Viele
UNIX-Systeme enthalten das Programm finger, das jedoch nicht so
leistungsfähig ist. Auf den Rechnern der Informatikhalle startet der Befehl
finger ebenfalls das Programm gfinger.
- Syntax:
-
ftp Rechnername
- Beschreibung:
-
ftp dient dazu, Dateien zwischen verschiedenen Rechnern zu kopieren. Der
Benutzer muß dazu ein Loginkennzeichen auf dem Zielrechner besitzen.
Manche Rechner bieten aber auch anonymen Zugang unter einer speziell dafür
bereitgestellten Kennung an. Die Benutzerschnittstelle von ftp ist wie
die der Korn-Shell
kommandoorientiert, das heißt, ftp zeigt einen Prompt an und
erwartet vom Benutzer die Eingabe bestimmter Befehle. Die wichtigsten dieser
Befehle sind nachfolgend beschrieben.
Der Rechner, an dem man selbst arbeitet, wird in der folgenden Beschreibung
als lokaler Host, der andere als remote Host bezeichnet.
- Parameter:
-
Rechnername ist der Name des Rechners, von dem oder auf den man Dateien
übertragen will, also der remote Host.
- Kommandos:
-
- open Rechnername
-
Startet eine Verbindung zum angegebenen Rechner. Gibt man beim Aufruf von
ftp bereits einen Rechnernamen ein, so wird die Verbindung zu diesem
automatisch hergestellt. Besteht zum Zeitpunkt des open-Aufrufs noch
eine andere Verbindung, so erfolgt eine Fehlermeldung. In diesem Fall ist die
noch bestehende Verbindung mit close zu schließen.
- user Benutzername
-
Meldet den Benutzer mit dem angegebenen Namen am remote Host an. Bei Bedarf
verlangt ftp daraufhin nach einem Paßwort.
- dir [Datei-/Verzeichnisname
- ...]
Zeigt das Inhaltsverzeichnis auf dem remote Host. Ist der ein UNIX-Rechner,
so wird das Verzeichnis intern meistens durch das Kommando
ls erzeugt und die Ausgabe
hat das entsprechende bekannte Format.
- cd Verzeichnisname
-
Wechselt das Verzeichnis auf dem remote Host, falls dieser ein hierarchisches
Dateisystem hat. Funktion wie das gleichnamige UNIX-Kommando.
- bin
-
Schaltet ftp in den binären Übertragungsmodus. In diesem Modus
werden alle Bytes unverändert übertragen. Das Gegenstück dazu ist
der Netzwerk-ASCII-Modus, in dem gewisse Anpassungen an Dateien vorgenommen
werden (möglicherweise Löschen des achten Bits, Umstellung des
Zeilenvorschubs ... ). Für komprimierte Dateien ist generell der
Modus bin einzustellen.
- ascii
-
Schaltet den Netzwerk-ASCII-Übertragungsmodus ein. Der ASCII-Modus ist
immer dann sinnvoll, wenn reine Textdateien übertragen werden sollen, da
diese dann an die unterschiedlichen Systeme angepaßt werden.
Beispielsweise verwendet MS-DOS als Zeilentrenner die Zeichen
Carriage-Return und Linefeed, während UNIX nur
Linefeed verwendet. Solche Unterschiede werden im ASCII-Modus
automatisch berücksichtigt.
- get Dateiname [Neuer_Name]
-
Kopiert die angegebene Datei vom remote Host in das aktuelle Verzeichnis des
lokalen Hosts. Eventuell wird der Name an die Konventionen des lokalen Rechners
angepaßt (Vorsicht bei MS-DOS-Systemen!). Gibt man einen zweiten Dateinamen
an, so wird die Datei auf dem lokalen Rechner unter dem angegebenen Namen
abgelegt.
- reget Dateiname [Neuer_Name]
-
Gelegentlich bricht während der Übertragung einer Datei die
Verbindung zusammen und es befindet sich nur der Anfang des
ursprünglichen Inhalts in der Datei. Damit dieser Teil nicht nochmals
übertragen werden muß, setzt reget mit der Übertragung dort
wieder ein, wo sie zuvor unterbrochen wurde, indem es nur den Rest der
Datei holt und an das vorhandene Fragment anfügt.
Hinweis: Nicht alle ftp-Server unterstützen diesen Befehl.
- put Dateiname [neuer_Name]
-
Kopiert die angegebene Datei vom lokalen Host in das aktuelle Verzeichnis des
remote Hosts. Analog zu get können Anpassungen des Dateinamens
erfolgen oder ein neuer Dateiname eingegeben werden.
- mget Dateiname ...
-
Kopiert alle angegebenen Dateien vom remote Host auf den lokalen Host. Bei der
Angabe der Dateinamen können die üblichen regulären Ausdrücke
verwendet werden (*, ?). Je nach Systemeinstellung (siehe
Kommando prompt) verlangt ftp vor Beginn des Kopiervorgangs
für jede Datei eine getrennte Bestätigung oder kopiert die Dateien ohne
Rückfrage. Eine Umbenennung der übertragenen Dateien ist mit mget
nicht möglich.
- mput Dateiname ...
-
Kopiert die angegebenen Dateien vom lokalen Host auf den remote Host. Es gelten
die gleichen Bedingungen wie bei mget
- prompt
-
Schaltet die Einzelabfrage bei mget und mput an oder aus.
- hash
-
Schaltet die Sichtanzeige des Übertragungsfortschritts an oder aus. Falls
eingeschaltet, wird jeweils nach Übertragung einer beestimmten Datenmenge
ein # auf den Bildschirm geschrieben. Für welche Datenmenge der
# jeweils steht, wird bei Eingabe des Kommandos hash angezeigt.
Die Anzeige ist jedoch gelegentlich ungenau.
- close
-
Schließt die Verbindung zu einem remote Host, beendet ftp aber
nicht.
- quit
-
Schließt eine eventuell noch offene Verbindung und beendet ftp.
- Konfigurationsdatei:
-
ftp läßt sich mit Hilfe der Datei .netrc konfigurieren,
die im HOME-Verzeichnis des Benutzers liegen muß. Näheres hierzu ist
der Manualseite zu netrc zu entnehmen. Allgemein nützlich dürfte
die folgende Zeile sein:
default login anonymous password Eure Mailadresse
Diese Zeile sorgt dafür, daß ftp bei jedem Verbindungsaufbau
automatisch versucht, sich mit dem Namen anonymous und der eigenen
Mailadresse als Paßwort auf dem remote Host anzumelden. Dies ist die
übliche Konvention für eine Gastanmeldung auf jedem ftp-Server.
Weil in der Datei .netrc Passwörter gespeichert werden können,
muß sie mittels chmod 600 vor fremdem Zugriff geschützt
werden, sonst weigert sich ftp, sie zu verwenden.
- Sonstiges:
-
Die TU-München betreibt im Verbund mit der Universität München
einen ftp-Service. Für nähere Informationen dazu
siehe 12.2.
Von den Rechnern der Informatikhalle ist bis auf wenige Ausnahmen kein
ftp-Verkehr zu Rechnern außerhalb des Instituts möglich.
- Syntax:
-
rlogin Zielrechner [-l Loginname]
- Beschreibung:
-
rlogin versucht, eine Verbindung zum angegebenen Zielrechner aufzubauen
und den Benutzer dort anzumelden. Gibt man -l Loginname an, so
wird für das Anmelden auf dem Zielrechner der entsprechende Loginname
verwendet, sonst der Loginname, den man auf dem lokalen Rechner besitzt. Falls
nicht entsprechend konfiguriert (siehe 5.3), wird der Zielrechner im Regelfall ein Paßwort verlangen. Gelingt die Anmeldung, so wird auf dem
Zielrechner die Standardshell des Benutzers gestartet und man kann auf dem
Rechner wie auf der lokalen Maschine arbeiten.
- Syntax:
-
rsh Rechnername [-l Benutzername] [Kommando]
- Beschreibung:
-
rsh versucht, eine Verbindung zu dem Zielrechner aufzubauen und dort das
angegebene Kommando auszuführen. Falls angegeben, wird dazu der Loginname
des Aufrufes verwendet, ansonsten der Loginname des lokalen Benutzers. Gibt man
kein Kommando an, verhält sich rsh wie rlogin
(siehe 3.6.4). Ansonsten wird die Standardshell des Benutzers auf dem Zielrechner gestartet, die dann das angegebene Kommando ausführt. Zu diesem
Zweck ist eine Konfiguration des Zielrechners via .rhosts zwingend
erforderlich (siehe 5.3). Die Standardeingabe und die Standardausgabe der rsh und der von ihr ausgeführten Kommandos werden vom lokalen
Rechner übernommen, falls nicht explizite Ein- oder Ausgabeumleitungen auf
dem Zielrechner stattfinden. Einfacher ausgedrückt: Die Befehlsfolge
rsh hphalle0 ps -ef | grep ksh
führt dazu, daß auf dem Rechner hphalle0 der ps-Aufruf
gestartet wird, die Ausgabe umgelenkt wird auf den lokalen Rechner und dort als
Eingabe für das Kommando grep dient.
- Achtung:
- Bei der Verwendung von rsh ist darauf zu achten,
daß beim Aufruf des Kommandos die lokale Shell die Kommandozeile
interpretiert. Dies betrifft insbesondere Ein- und Ausgabeumleitungen,
Pipes und Dateinamensersetzungen. Im Regelfall ist es sinnvoll, das
komplette auf dem Zielrechner auszuführende Kommando in Hochkommata
(') einzuschließen, um eine Veränderung durch die lokale Shell
zu verhindern.
- Achtung:
- Da auf dem entfernten Rechner keine Login-Shell
gestartet wird, ist die Umgebung nicht unbedingt wie gewohnt. Mann
muß also ggf. den Pfad für ein Kommando angeben, das auf dem lokalen
Rechner automatisch gefunden würde. Es werden auch keine
Umgebungsvariablen übertragen!
- Syntax:
-
rcp [[Benutzer@]Rechner:]Dateien
... [[Benutzer@]Rechner:]Ziel
- Beschreibung:
-
rcp verhält sich genauso wie cp (siehe 3.2.1), mit dem Unterschied, daß vor die Dateiangabe ein Rechnername geschrieben werden
darf. Dieser muß dann von der Dateiangabe durch einen Doppelpunkt
abgetrennt werden. Will man auf dem entfernten Rechner ein anderes
Login-Kennzeichen als das eigene benutzen, so muß dieses vor dem
Rechnernamen stehen und von ihm durch ein @ getrennt werden.
- Beispiel:
-
rcp hphalle0:/tmp/fasel .
kopiert die Datei fasel aus dem Verzeichnis /tmp des Rechners
hphalle0 in das aktuelle Verzeichnis des lokalen Rechners.
rcp hphalle0:/tmp/fasel hphalle2:/tmp
kopiert die Datei fasel aus dem Verzeichnis /tmp des
Rechner hphalle0 in das Verzeichnis /tmp des Rechners
hphalle2.
rcp 'hphalle0:/tmp/*' .
kopiert alle Dateien aus dem Verzeichnis /tmp des Rechners
hphalle0 in das aktuelle Verzeichnis des lokalen Rechners. Man beachte,
daß der Stern in Hochkommata eingeschlossen sein muß, um zu verhindern,
daß er bereits von der lokalen Shell interpretiert wird.
- Achtung:
-
Die korrekte Funktion von rcp hängt davon ab, daß die Datei
.rhosts auf dem Zielrechner richtig eingerichtet ist (siehe 5.3). Auch die Angabe eines anderen Benutzernamens setzt voraus, daß dieser in
seiner Datei .rhosts den entsprechenden Zugriff gestattet. Dabei ist
jedoch zu berücksichtigen, daß man den Zugriff von .rhosts aus
nicht auf rcp beschränken kann, sondern damit automatisch auch
rsh und rlogin freigibt.
- Befehl:
-
cal [[Monat] Jahr]
- Beschreibung:
-
Der Kalender des angegebenen Jahres wird angezeigt. Die optionale Angabe eines
Monats beschränkt die Ausgabe auf diesen Monat. Die Jahreszahl ist
vollständig anzugeben. Ohne Angabe gibt cal das aktuelle Monat aus.
- Beispiele:
-
cal 5 1991
Am Bildschirm erscheint der Kalender vom Mai 1991.
cal 3
Es wird ein Kalender vom Jahr 3 n. Chr. angezeigt.
- Befehl:
-
calendar
- Beschreibung:
-
Der Befehl liest die Datei calendar, welche sich im HOME-Verzeichnis des
Benutzers befinden muß und gibt die Zeilen aus, die sich auf das aktuelle
Datum oder auf das Datum des nächsten Tages beziehen.
Das Datum kann dabei eines der folgenden Formate haben:
- Aug. 12
-
- aug 12
-
- August 12
-
- 8/12
-
- */12
- Diese Meldung ist in jedem Monat gültig
- Beispiel:
-
Eine typische calendar-Datei könnte so aussehen:
*/29 - Miete "uberweisen
july 27 - Geburtstag Marcus
Wochenende in Paris 8/27, 8/28, 8/29
7/12 Gaby anrufen!
Wäre heute der 28. August, so würde der calendar-Befehl folgende Ausgabe
erzeugen:
*/29 - Miete "uberweisen
Wochenende in Paris 8/27, 8/28, 8/29
- Syntax:
-
script [Dateiname]
- Beschreibung:
-
Alle nachfolgenden Bildschirmein- und ausgaben werden in der angegebenen Datei
gespeichert. Wird kein Dateiname angegeben, so steht das Protokoll in der Datei
typescript. Durch Eingabe von Ctrl-D wird das Protokoll beendet.
- Hinweis:
- In einem xterm steht auch dessen
Logging-Funktion zur Verfügung, siehe 4.7.
This document was converted from LaTeX using Karl Ewald's latex2html.