39
3 Wichtige Solaris- Befehle

Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

3

Wichtige Solaris-Befehle

Page 2: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

68

An diesem Tag lernen Sie die wichtigsten und gebräuchlichsten Unix-Befehle kennen.Zuerst werden Befehle für die Arbeit mit Dateien und Verzeichnissen erläutert undanschließend einige Befehle, mit deren Hilfe Sie Informationen über das System erhalten.Anschließend lernen Sie, wie Sie nach Dateien oder in Dateien nach Suchmusternsuchen. Am Schluss erfahren Sie noch etwas über den Unterschied zwischen symbolischenund Hard Links und wie Sie diese erzeugen.

3.1 Aufbau von Unix-Befehlen

Befehle unter Unix werden an der Eingabeaufforderung hinter dem Promptzeichen einge-geben und haben in der Regel den folgenden Aufbau:

$ befehlsname [-Option(en)] [Argument(e)]

Nicht jeder Befehl kennt Optionen und Argumente und diese müssen bei den meistenBefehlen nicht unbedingt verwendet werden.

Das Promptzeichen kann vom Benutzer seinen Anforderungen gemäß einge-richtet werden. Standardmäßig ist das Promptzeichen der Bourne- und Korn-Shell ein Dollarzeichen $ (vgl. Tag 7). Unabhängig von der Shell wird demBenutzer root aber das Hashzeichen # zugeordnet.

Die einfachste Form eines Befehls besteht daher nur in der Eingabe des Befehlsnamens.Der nachfolgende Befehl gibt das aktuelle Verzeichnis aus, in dem Sie sich befinden:

$ pwd

Ein Befehl, der in der Regel ein Argument verwendet, ist der Befehl cd zum Wechseln desVerzeichnisses. Im nachfolgenden Beispiel wird in das Verzeichnis /etc gewechselt:

$ cd /etc

Der Befehl ls wird meist mit einer oder mehreren Optionen verwendet. Die Optionenbeeinflussen die Ausgabe oder Verarbeitung des Befehls und können häufig aneinandergereiht eingegeben werden. Im nachfolgenden Beispiel wird der Inhalt eines Verzeichnissesausführlich (-l = long) und einschließlich der versteckten Dateien (-a = all) aufgelistet:

$ ls -al

Versteckte Dateien in Unix sind meist Konfigurationsdateien. Sie beginnenimmer mit einem Punkt und werden normalerweise nicht angezeigt, wenn derInhalt eines Verzeichnisses aufgelistet wird.

Page 3: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

69

Namenskonventionen

Der Befehl ls kann sowohl mit Optionen als auch mit Argumenten verwendet werden. Dasnachfolgende Beispiel bewirkt ein ausführliches Listing aller Dateien in den Verzeichnis-sen /etc und /sbin:

$ ls -al /etc /sbin

Die Verzeichnisstruktur von Solaris wird an Tag 11 erläutert.

3.2 Namenskonventionen

Bei der Erzeugung von Dateien und Verzeichnissen sollten Sie daran denken, dass UnixGroß- und Kleinschreibung unterscheidet. Aus diesem Grund werden die Dateien /export/home/her/bericht, /export/home/her/BERICHT, /export/home/her/Bericht, /export/home/her/berICHT usw. als separate Dateien unter Unix betrachtet.

Um Probleme mit anderen Betriebssystemen, die die Groß- und Kleinschrei-bung nicht unterscheiden, bzw. Verwirrung zu vermeiden, verwenden Sie ambesten immer die Kleinschreibung.

Ein Dateiname setzt sich unter Unix aus dem Pfadnamen und dem eigentlichen Dateina-men zusammen:

/export/home/her/bericht

Der erste Schrägstrich steht dabei für das Verzeichnis /, während die anderen Schrägstri-che Trennzeichen zwischen den einzelnen Verzeichnissen darstellen. Der eigentlicheDateiname in diesem Beispiel wäre bericht, der Pfadanteil /export/home/her.

Sonderzeichen haben unter Unix oft eine spezielle Bedeutung und sollten daher vermie-den werden. Die folgenden Zeichen

. , _

können problemlos verwendet werden. Einen Bindestrich (-) sollten Sie nie am Anfangeines Dateinamens verwenden. Außerdem sollten Sie die deutschen Sonderzeichen, wiezum Beispiel die Umlaute ä, ö, ü und das Zeichen ß, sowie Leerzeichen in Dateinamenunbedingt vermeiden, da diese bei einem Unix-System zu Problemen führen können.

Die Sonderzeichen werden an Tag 7 ausführlich erläutert.

Page 4: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

70

3.3 Hilfebefehle

Der Befehl man

Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages. Dazugeben Sie zuerst den Befehl man und dann den Suchbegriff ein. Die Befehlssyntax sieht fol-gendermaßen aus:

$ man [-Optionen] befehlsname

Wenn Sie Hilfe zu dem Befehl pwd suchen, geben Sie an der Befehlszeile man pwd ein. Sieerhalten folgende Ausgabe:

$ man pwdReformatting page. Please Wait... doneUser Commands pwd(1)NAME

pwd - print working directory<weitere Ausgabe wird nicht angezeigt>

Die Navigation in den Manual Pages erfolgt über bestimmte Tasten, die bereits an Tag 1beschrieben wurden. Sie entspricht der des Befehls more, der in Abschnitt 3.7 erläutertwird.

Die Ausgabe der Manual Pages erfolgt gegliedert (vgl. Tag 1). Die Manual Pages sind inSektionen aufgebaut. So enthält zum Beispiel die Sektion 1 Benutzerbefehle und die Sek-tion 4 verschiedene Dateiformate. Daher erhalten Sie mit dem Befehl

$ man passwd

Informationen zum Befehl passwd, während der Befehl

$ man -s4 passwd

Informationen über die Datei /etc/passwd ausgibt. Wenn Sie keine Sektionsnummer ange-ben, werden die Informationen der Sektion 1 ausgegeben.

Der Befehl apropos

Wenn Sie den Namen eines Befehls nicht kennen, durchsuchen Sie die Online-Hilfe nachStichwörtern. Dazu verwenden Sie entweder den Befehl apropos oder den Befehl man mitder Option -k, zum Beispiel:

$ apropos edit

oder

$ man -k edit

Page 5: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

71

Systeminformationsbefehle

Sie erhalten folgende Ausgabe:

align_equalstextedit_filters (1) - filters provided with textedit 1) atobmbitmap (1) - bitmap editor and converter utilities for the X Windows System bitmap<weitere Ausgabe wird nicht angezeigt>

Der Befehl whatis

Wenn Sie nur eine Kurzhilfe möchten, dann verwenden Sie den Befehl whatis, zum Bei-spiel:

$ whatis lsls (1) - list contents of directoryls (1b) - list the contents of a directory

Die Stichwort- und Kurzhilfe funktionieren nur, wenn zuvor vom Systemadmi-nistrator mit dem Befehl catman -w eine entsprechende Indexdatei erzeugtwurde.

3.4 Systeminformationsbefehle

Es gibt eine Anzahl von einfachen Befehlen, mit denen Sie einige Informationen über dasSystem und die darin angemeldeten Benutzer erhalten. Die gebräuchlichsten werden indiesem Abschnitt aufgeführt.

Der Befehl hostname

Dieser Befehl gibt den Namen Ihres Rechners aus:

$ hostnamesuso01

Der Befehl uname

Mit Hilfe des Befehls uname erhalten Sie detailliertere Informationen über die Hardwareund die Betriebssystemversion des Systems. Ohne Option wird nur der Name des Betriebs-systems ausgegeben:

$ unameSunOS

Page 6: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

72

Alle verfügbaren Optionen erhalten Sie mit der Option -a:

$ uname -aSunOS suso01 5.8 Generic_108528-06 sun4u sparc SUNW,Sun-Blade-100

Die Ausgabe zeigt das Betriebssystem (SunOS), den Rechnernamen (suso01), die Release-nummer des Betriebssystems (5.8), die Betriebssystemversion (Generic), die Hardwarekate-gorie, den Prozessortyp und die Hardwarebezeichnung an.

An Tag 1 wurde ausführlich erläutert, wie die Bezeichnungen und Release-nummern für das Betriebssystem SunOS zusammengesetzt sind.

Weitere mögliche Optionen des Befehls sind:

Der Befehl showrev

Dieser Befehl gibt Informationen über die Soft- und Hardware aus. Wenn Sie keineOption verwenden, werden der Hostname und die HostID, die Releasenummer desBetriebssystems, die Hardwarekategorie und der Prozessortyp sowie die Kernelversions-nummer ausgegeben:

$ showrevHostname: suso2Hostid: 83086231Release: 5.8Kernel architecture: sun4uApplication architecture: sparcHardware provider: Sun_Microsystems

Option Bedeutung

-i Nur Hardwarebezeichnung ausgeben.

-m Nur Hardwarekategorie anzeigen.

-n Nur Rechnernamen anzeigen.

-p Nur Prozessortyp anzeigen.

-r Nur Releasenummer anzeigen.

-s Nur Betriebssystemname anzeigen.

-S hostname Ändern des Hostnamens.

-v Nur Versionsnummer des Betriebssystems anzeigen.

Tabelle 3.1: Optionen des Befehls uname

Page 7: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

73

Systeminformationsbefehle

Domain: Kernel version: SunOS 5.8 Generic 108528-06 December 2000

Der Befehl kennt auch mehrere Optionen:

Ein Patch ist eine Ergänzung oder Ausbesserung zu einem Softwarepaket. Pat-ches werden an Tag 13 ausführlich erläutert.

Die Option -s kann nur verwendet werden, wenn auf dem Zielrechner das Paket SolsticeAdminsuite installiert wurde. Außerdem muss dort der Daemon admind aktiv sein.

Wenn Sie die Option -c verwenden, um Informationen über einen Befehl bzw. ein Pro-gramm zu erhalten, zeigt sich folgende Ausgabe:

$ showrev -c cpPATH is:/usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/bin:/usr/ucbPWD is:/LD_LIBRARY_PATH is not set in the current environment________________________________________________________________File: /usr/bin/cp=================File type: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped Command version: SunOS 5.8 Generic February 2000File mode: r-xr-xr-xUser owning file: rootGroup owning file: binLibrary information:

libc.so.1 => /usr/lib/libc.so.1libdl.so.1 => /usr/lib/libdl.so.1/usr/platform/SUNW,Sun-Blade-100/lib/libc_psr.so.1

Sum: 48668__________________________________________________________________

Option Bedeutung

-a Ausführliche Ausgabe.

-c befehl Informationen zum angegebenen Befehl anzeigen.

-p Nur Informationen über vorhandene Patches anzeigen.

-s hostname Den Befehl auf einem anderen System ausführen.

-w Nur Informationen zur OpenWindows-Version anzeigen.

Tabelle 3.2: Optionen des Befehls showrev

Page 8: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

74

In diesem Beispiel lassen Sie sich ausführliche Informationen zum installierten Befehl cpanzeigen. Dazu gehören die Zugriffs- und Besitzrechte, Bibliotheksverweise, die Befehls-version, die Prüfsumme und der Dateityp. Beim Dateityp handelt es sich um ein ausführ-bares Programm für Sparc-Rechner, das im Format ELF als 32-Bit-Version vorliegt unddynamisch gelinkt ist.

Der Befehl date

Dieser Befehl gibt das Datum und die Uhrzeit des Systems aus:

$ dateSat Jul 7 16:05:36 MEST 2001

Das Ausgabeformat des Befehls hängt vom Wert der Variablen LANG ab. Shell-variablen werden an Tag 7 ausführlich erklärt.

Sie können das Ausgabeformat mit Hilfe der Option +format beeinflussen. Im nachfolgen-den Beispiel wird das Datum im Format »zweistellige Tages- und Monats- und vierstelligeJahresangabe« ausgegeben:

$ date +"%d.%m.%Y"07.07.2001

Es gibt sehr viele verschiedene Ausgabeformate, die Sie mit Hilfe des Befehls man datenachschlagen können. Außerdem lässt sich mit diesem Befehl die Systemzeit umstellen.Dazu muss das Format mmddHHMM (zweistellige Monats-, Tages-, Stunden- undMinutenangabe) eingehalten werden.

# date 07071605Sat Jul 7 16:05:36 MEST 2001

Die Änderung der Systemzeit ist allein dem Benutzer root vorbehalten.

Der Befehl kennt folgende Optionen:

Option Bedeutung

-a sss.fff Die Hardwareuhr beschleunigen oder verlangsamen (durch Voranstellen eines Minuszeichens), in Sekunden und Sekundenbruchteilen sss.fff.

-u Das Datum in Greenwich Mean Time (GMT-Zeit) anzeigen oder setzen.

Tabelle 3.3: Optionen des Befehls date

Page 9: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

75

Systeminformationsbefehle

Der Befehl cal

Der Befehl gibt den aktuellen Monatskalender zurück:

$ cal July 2001 S M Tu W Th F S 1 2 3 4 5 6 7 8 9 10 11 12 13 1415 16 17 18 19 20 2122 23 24 25 26 27 2829 30 31

Als Optionen kennt der Befehl die Monats- und die Jahresangabe. So gibt zum Beispiel derBefehl

$ cal 2 1999

den Monatskalender vom Februar 1999 aus.

Wenn Sie als Option nur die Jahreszahl mitgeben, erhalten Sie einen Jahreskalender. Sogibt zum Beispiel der Befehl

$ cal 2001

den Jahreskalender für das Jahr 2001 aus.

Der Kalender reicht von Januar im Jahre 1 bis Dezember im Jahre 9999 und berücksichtigtauch die Schaltjahre entsprechend. Auch die Kalenderregulierung im September 1752 istenthalten. Wenn Sie als Option das Jahr 99 mitgeben, erhalten Sie daher eine andere Aus-gabe als bei Verwendung der Option 1999.

Der Befehl id

Dieser Befehl zeigt die Benutzeridentifikation an, das heißt den Namen und die Nummerdes Benutzers:

$ iduid=533(her) gid=102(buha)

Ein Benutzername kann als Argument des Befehls verwendet werden. Die Option -a gibtzusätzlich die sekundären Gruppen des Benutzers aus:

$ id -a olliuid=541(olli) gid=107(entw) groups=107(entw),105(hw),102(buha)

Page 10: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

76

Der Befehl who

Dieser Befehl zeigt an, welche Benutzer am System angemeldet sind:

$ whoroot console Jul 7 15:25 (:0)root pts/4 Jul 7 15:25 (:0.0)root pts/5 Jul 7 16:22 (:0.0)her pts/7 Jul 7 15:39 (:0.0)

Die erste Spalte enthält den Benutzernamen und die zweite die Bezeichnung des Geräts,an dem sich der Benutzer angemeldet hat. Mögliche Geräte sind console (der physikalischeRechner), pts (das Pseudoterminal, zum Beispiel ein Terminalfenster der CDE) und term(ein physikalisch angeschlossenes Terminal). Die dritte und die vierte Spalte enthaltenDatum und Uhrzeit der Anmeldung und die letzte Spalte zeigt an, ob sich ein Benutzervon einem Remote-System aus angemeldet hat.

Der Befehl erhält seine Informationen aus der Datei /var/adm/utmpx.

Der Befehl kennt folgende Optionen:

Option Bedeutung

-a Ausführliche Ausgabe.

-b Die Bootzeit des Systems anzeigen.

-d Nur die Prozesse anzeigen, die einmal vom Prozess init gestartet und inzwischen beendet sind.

-H Spaltenüberschriften ausgeben.

-l Die Leitungen und den Portmonitor anzeigen, an denen Anmeldungen erwartet werden.

-m Nur Informationen des aktuellen Terminals ausgeben.

-p Nur die Prozesse anzeigen, die aktiv sind und vom Prozess init wieder gestartet wer-den, falls sie beendet werden.

-q Nur Anzeige der Namen; diese Option ignoriert alle anderen Optionen.

-r Nur aktuellen Runlevel ausgeben.

-s Standardausgabe, kann auch weggelassen werden.

Tabelle 3.4: Optionen des Befehls who

Page 11: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

77

Systeminformationsbefehle

Die PID ist die Prozess-ID, also die Zahl, die ein Befehl während seiner Ausfüh-rung als Prozessnummer zugeordnet bekommt (vgl. Tag 9).

Mit folgendem Befehl erhalten Sie Ihren aktuellen Benutzernamen:

$ who am iher pts/7 Jul 7 15:25 (:0.0)

Es gibt einen ähnlichen Befehl im Verzeichnis /usr/ucb:

$ whoamiher

Der Befehl whoami gibt den aktuellen Benutzernamen an, während der Befehl who am iden ursprünglichen Anmeldenamen zeigt. Daher kann es nach einem Wechsel der Benut-zeridentität mit dem Befehl su zu unterschiedlichen Ausgaben kommen. Der Befehl suwird am 8. Tag ausführlich erläutert.

Der Befehl last

Dieser Befehl zeigt an, welche Benutzer sich am System angemeldet bzw. abgemeldethaben und wann das System erneut gestartet wurde:

$ lastroot console :0 Sat Jul 7 15:25 still logged inroot console :0 Sat Jul 7 15:24 - 15:24 (00:00)reboot system boot Sat Jul 7 15:23 root console :0 Sun Jul 1 12:06 - 19:13 (07:07)reboot system boot Sun Jul 1 11:24 root console :0 Sat Jun 30 17:59 - 22:36 (04:36)reboot system boot Sat Jun 30 17:58 root console :0 Tue Jun 26 19:05 - 19:53 (00:47)reboot system boot Tue Jun 26 19:04 root console :0 Tue Jun 26 18:54 - 19:03 (00:09)reboot system boot Tue Jun 26 18:39 root console :0 Sun Jun 17 14:03 - down (9+04:36)

-t Anzeigen, wann die Systemzeit zuletzt mit dem Befehl date geändert wurde.

-u Anzeigen, wie lange an einem Terminal keine Eingabe mehr durch den Benutzer erfolgte und wie die PID der Anmeldeshell des Benutzers lautet.

Option Bedeutung

Tabelle 3.4: Optionen des Befehls who (Forts.)

Page 12: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

78

Die erste Spalte zeigt die Benutzernamen oder die Reboot-Information und die zweite wie-derum die Bezeichnung des Geräts, an dem sich der Benutzer angemeldet hat. Die dritteSpalte enthält den Rechnernamen, von dem sich der jeweilige Benutzer angemeldet hat (0steht für lokal). Die vierte und fünfte Spalte informieren über Datum und Uhrzeit derAnmeldung. Die letzte Spalte zeigt an, wie lange ein Benutzer angemeldet war.

Der Befehl erhält seine Informationen aus der Datei /var/adm/wtmpx.

Mit dem Argument reboot werden nur die Zeiten der Systemstarts angezeigt:

$ last rebootreboot system boot Sat Jul 7 15:23 reboot system boot Sun Jul 1 11:24 reboot system boot Sat Jun 30 17:58 reboot system boot Tue Jun 26 19:04

Der Befehl kennt folgende Optionen:

Der Befehl finger

Der Befehl gibt Informationen zu einem Benutzer aus und kann für lokale und Remote-Abfragen von Benutzerkennungen verwendet werden.

$ fingerLogin Name TTY Idle When Whereroot Superuser console Mon 15:25 (:0)her Ute Hertzog pts/3 Mon 16:23 (:0)olli Oliver Dorsch pts/5 41 Mon 13:45 (:0)

Die erste Spalte enthält den Benutzernamen, die zweite Spalte weitergehende Informa-tionen zum Benutzer, die dem Kommentarfeld der Datei /etc/passwd entnommen wer-den. Die nächste Spalte informiert über das Gerät, an dem der Benutzer angemeldet ist. Inder vierten Spalte steht die Zeit in Minuten, seit der der Benutzer keine Aktionen mehrdurchgeführt hat. Die fünfte Spalte zeigt an, wann er sich angemeldet hat, und die letzteSpalte enthält den Namen des Systems, von dem aus der Benutzer sich angemeldet hat.

Option Bedeutung

-a Den Rechnernamen in der letzten Spalte anzeigen.

-f dateiname Die Datei dateiname statt der Datei /var/adm/wtmpx verwenden.

-n nummer Die Anzahl der angezeigten Einträge begrenzen.

Tabelle 3.5: Optionen des Befehls last

Page 13: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

79

Systeminformationsbefehle

Die Ausgabe des Befehls kann über die Datei /etc/default/finger gesteuertwerden. Zur Ausführung des Befehls muss der Daemon fingerd aktiv sein.

Es ist auch möglich, gezielt Informationen zu einzelnen Benutzerkonten abzurufen,indem der Benutzername als Argument verwendet wird:

$ finger herLogin name: herDirectory: /export/home/her Shell: /bin/bashOn since July 7 09:47:38 on pts/3 from :0No unread mailNo Plan.

Bei einem Benutzer eines Remote-Systems geben Sie den Benutzernamen gemeinsam mitdem Rechnernamen in folgender Form ein: benutzername@rechnername. Wenn Sie ausSicherheitsgründen vermeiden möchten, dass der Befehl auf einem Rechner im Netz aus-geführt werden kann, dann müssen Sie in der Datei /etc/inetd.conf den Start des Dae-mons fingerd deaktivieren.

Wenn der Benutzer in seinem Homeverzeichnis eine ASCII-Datei mit dem Namen .planoder .project angelegt hat, wird der Inhalt dieser Datei auch angezeigt.

Einige Optionen des Befehls sind:

Der Befehl tty

Dieser Befehl gibt den Terminal- bzw. Leitungsnamen des angeschlossenen Terminals aus.

$ tty/dev/pts/3

Option Bedeutung

-b Die Ausgabe des Homeverzeichnisses und der Shell des Benutzers unterdrücken.

-f Die Ausgabe der Überschriftszeile unterdrücken.

-h Die Ausgabe der Datei .project unterdrücken.

-p Die Ausgabe der Datei .plan unterdrücken.

-s Kurzausgabe.

-w Die Ausgabe des ausführlichen Namens unterdrücken.

Tabelle 3.6: Optionen des Befehls finger

Page 14: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

80

3.5 Befehle für die Verzeichnisverwaltung

Der Befehl mkdir

Mit diesem Befehl erzeugen Sie neue Verzeichnisse:

$ mkdir /project

Mit Hilfe der Option -m können Sie dem neu angelegten Verzeichnis die gewünschtenZugriffsrechte zuweisen.

Zugriffsrechte steuern, wer welche Befehle mit einer Datei oder einem Ver-zeichnis durchführen darf. Sie werden an Tag 6 ausführlich behandelt.

Die Option -p ermöglicht es Ihnen, Verzeichnisse rekursiv zu erzeugen:

$ mkdir -p /project/kunde1/auftrag200 /project/kunde1/auftrag300

Mit diesem Befehl werden sowohl die Unterverzeichnisse auftrag200 und auftrag300 alsauch das Verzeichnis kunde1 angelegt.

Ein neu angelegtes Verzeichnis hat immer automatisch zwei Unterverzeichnisse: die Ver-zeichnisse . (das für das aktuelle Verzeichnis steht) und .. (das für das übergeordnete Ver-zeichnis steht).

Der Befehl rmdir

Mit diesem Befehl können Sie ein leeres Verzeichnis löschen:

$ rmdir /project

Ist das Verzeichnis nicht leer, wird der Befehl nicht ausgeführt und Sie erhalten eine ent-sprechende Fehlermeldung:

rmdir: directory "/project": Directory not empty

Verzeichnisse, die nicht leer sind, können Sie mit dem Befehl rm löschen (vgl.Abschnitt 3.6).

Page 15: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

81

Befehle für die Verzeichnisverwaltung

Der Befehl ls

Dieser Befehl listet den Inhalt von Verzeichnissen auf. Wenn Sie kein Argument verwen-den, wird der Inhalt des aktuellen Verzeichnisses angezeigt:

$ ls -ltotal 8-rw-r----- 1 root other 146 Jul 8 11:28 bericht-rw-r--r-- 1 root other 65 Jul 7 20:27 obst-rw-r--r-- 1 root other 63 Jul 8 11:29 obst1drwxr-xr-x 2 root other 512 Jul 8 11:28 schulung

Die Option -l bewirkt ein ausführliches Auflisten des Verzeichnisinhalts mit folgendenInformationen:

� Das erste Zeichen der ersten Spalte gibt den Dateityp aus:

� - bedeutet, dass es sich um eine normale Datei handelt: entweder eine ASCII-Textdatei, eine Applikationsdatei oder eine binäre Datei.

� d bedeutet, dass es sich um ein Verzeichnis handelt.

� l bedeutet, dass es sich um einen symbolischen Link handelt (vgl. Abschnitt 3.9).

� b bedeutet, dass es sich um eine blockorientierte Gerätedatei handelt.

� c bedeutet, dass es sich um eine zeichenorientierte Gerätedatei handelt.

� p bedeutet, dass es sich um eine spezielle Named Pipe-Datei (FIFO) der Interpro-zesskommunikation handelt.

� s bedeutet, dass es sich um eine Socket-Datei für die Prozesse handelt.

� D bedeutet, dass es sich um eine Door-Datei (Verweisdatei) für die Kommunika-tion handelt.

Block- und zeichenorientierte Gerätedateien werden an Tag 11 ausführlichbeschrieben. Dateien zur Interprozesskommunikation werden an Tag 9 behan-delt.

� Der restliche Teil der ersten Spalte enthält die Zugriffsberechtigungen. Diese werdenan Tag 6 ausführlich behandelt.

� Die dritte Spalte enthält den so genannten Link Counter. Dieser gibt bei Dateien dieAnzahl der Hard Links (vgl. Abschnitt 3.9) und bei Verzeichnissen die Anzahl derUnterverzeichnisse zurück.

� Die vierte Spalte enthält den Besitzer der Datei.

� Die fünfte Spalte gibt die Gruppe an, die Rechte an der Datei hat.

Page 16: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

82

� Die sechste Spalte enthält die Dateigröße in Bytes. Eine Datei belegt immer mindes-tens zwei Blöcke zu 512 Byte auf der Festplatte, auch wenn ihre tatsächlich angezeigteGröße kleiner ist, wie zum Beispiel bei der Datei obst. Die erste Ausgabe total 8 desBefehls ls -l zeigt die Anzahl der durch den Verzeichnisinhalt belegten Festplatten-blöcke (zu 512 Byte) an (vgl. Tag 10).

Gerätedateien zeigen statt einer Größe in Byte zwei Zahlen an: die Major undMinor Device Number (vgl. Tag 10).

� Die nächsten Spalten beinhalten das Datum und die Uhrzeit der Erstellung bzw. derletzten Änderung der Datei oder des Verzeichnisses. Wenn die Datei älter als ein hal-bes Jahr ist, wird statt der Uhrzeit die Jahreszahl ausgegeben.

� Die letzte Spalte enthält den Namen der Datei oder des Verzeichnisses.

Unter Unix wird alles als Datei betrachtet. Verzeichnisse, Gerätedateien, sym-bolische Links sind nur Sonderformen von Dateien. Selbst Prozesse werden imVerzeichnis /proc als Verzeichnisse oder Dateien verwaltet (vgl. Tag 9).

Weitere wichtige Optionen des Befehls ls sind:

Option Bedeutung

-a Auch versteckte (mit einem Punkt beginnende) Dateien anzeigen.

-C Mehrspaltige Ausgabe.

-c Letzte Veränderung des Inode-Eintrags anzeigen (gemeinsam mit Option l).

-d Ausgabe des Inhalts von Unterverzeichnissen unterdrücken.

-F Kennung für den Dateityp hinter dem Dateinamen ausgeben: / steht für Verzeich-nis, * für ausführbare Dateien, @ für symbolische Links, | für Pipe-Dateien, > für Door-Dateien und = für Socket-Dateien.

-i Inode-Nummer anzeigen.

-R Den Inhalt von Unterverzeichnissen rekursiv anzeigen.

-t Sortierreihenfolge verändern: nicht alphabetisch sortieren, sondern nach Ände-rungsdatum.

-u Datum des letzten Zugriffs auf die Datei anzeigen, statt des Änderungsdatums (gemeinsam mit Option l).

Tabelle 3.7: Optionen des Befehls ls

Page 17: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

83

Befehle für die Datei- und Verzeichnisverwaltung

Ein Inode enthält sämtliche Informationen zu einer Datei oder einem Ver-zeichnis. Inodes werden an Tag 10 ausführlich erläutert.

Der Befehl cd

Mit diesem Befehl können Sie in ein anderes Verzeichnis wechseln. Im nachfolgendenBeispiel wird in das Verzeichnis /etc gewechselt:

$ cd /etc

Wenn Sie den Befehl ohne Argument verwenden, wechseln Sie in Ihr Homeverzeichnis.Wenn Sie als root angemeldet sind, wechseln Sie in das Verzeichnis /.

Mit dem Befehl

$ cd ..

wechseln Sie in das darüber liegende Verzeichnis.

Sie können als Argument des Befehls entweder einen relativen oder einen absoluten Pfad-namen verwenden. Der relative Pfadname geht von dem Verzeichnis aus, in dem Sie sichim Moment befinden. Im nachfolgenden Beispiel wechseln Sie mit einer relativen Pfadan-gabe vom Verzeichnis /export/home/her/berichte in das Verzeichnis /export/home/her/grafik:

$ cd ../grafik

Alternativ können Sie auch mit der absoluten Pfadangabe in das Verzeichnis wechseln,wobei der absolute Pfad in diesem Fall mehr Schreibaufwand erfordert:

$ cd /export/home/her/grafik

Der absolute Pfad beginnt immer ab dem Wurzelverzeichnis / und ist völlig unabhängigvon der aktuellen Position im Verzeichnisbaum.

Ein absoluter Pfad beginnt immer, ein relativer Pfad niemals mit dem Schräg-strich /, der für das Wurzelverzeichnis root steht.

3.6 Befehle für die Datei- und Verzeichnisverwaltung

Die nachfolgenden Befehle können sowohl für Dateien als auch für Verzeichnisse verwen-det werden.

Page 18: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

84

Der Befehl rm

Mit diesem Befehl löschen Sie Dateien oder Verzeichnisse. Im folgenden Beispiel werdenmehrere Dateien mit diesem Befehl gelöscht:

$ rm prot1 prot2 prot3

Der Befehl löscht die Dateien normalerweise sofort ohne Rückfrage. UnterSolaris ist es nicht möglich, einen Löschvorgang wieder rückgängig zu machen.In diesem Fall könnten Sie nur noch auf die letzte Datensicherung zurückgrei-fen (vgl. Tag 14).

Sie können den Befehl auch interaktiv starten, dann werden Sie vor dem Löschen nocheinmal gefragt, ob Sie sicher sind:

$ rm -i prot2000rm: remove prot2000 (yes/no)? y

Mit diesem Befehl lassen sich auch Verzeichnisse löschen, die nicht leer sind. Dazu ver-wenden Sie die Option -r:

$ rm -r bericht

Der gefährlichste Unix-Befehl überhaupt ist der Befehl rm -rf *, denn er löschtrekursiv alles ab der Stelle im Verzeichnisbaum, an der Sie sich gerade befin-den. Die Option -f bedeutet, dass auch schreibgeschützte Dateien ohne zusätz-liche Bestätigung gelöscht werden sollen. Bevor Sie einen solchen Befehlabsetzen, sollten Sie zumindest zuvor mit dem Befehl pwd überprüfen, in wel-chem Verzeichnis Sie sich befinden.

Der Befehl cp

Mit diesem Befehl kopieren Sie Dateien und Verzeichnisse. Im nachfolgenden Beispielwird die Datei prot1 auf die Datei prot1000 kopiert:

$ cp prot1 prot1000

Der Befehl überschreibt die Datei prot1000, wenn sie bereits existiert.

Die Option -p kopiert auch die Zugriffsrechte und den Besitzer usw. über die Informa-tionsdaten einer bereits bestehenden Datei.

Page 19: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

85

Befehle für die Datei- und Verzeichnisverwaltung

Normalerweise werden die Informationsdaten beim Kopieren entsprechend dem kopieren-den Benutzer gesetzt. Das heißt, er wird der Besitzer, seine primäre Gruppe (vgl. Tag 8)erhält Gruppenbesitz und das Erstellungsdatum ist das aktuelle Datum.

Sie können den Befehl auch interaktiv starten, dann werden Sie vor dem Überschreibennoch einmal gefragt, ob Sie sicher sind:

$ cp -i prot1 prot1000rm: overwrite prot1000 (yes/no)? y

Der Befehl wird auch dazu verwendet, ganze Verzeichnisbäume zu kopieren. Dazu ver-wenden Sie die Option -r:

$ cp -r bericht bericht2001

Ist das Verzeichnis bereits vorhanden, wird das Verzeichnis bericht unterhalb des Ver-zeichnisses bericht2001 angelegt. Ansonsten wird das Verzeichnis bericht2001 mit demInhalt des Verzeichnisses bericht erzeugt.

Sie können auch mehrere Dateien in ein Verzeichnis kopieren:

$ cp prot1 prot1000 bericht2001

In diesem Fall muss das Verzeichnis bericht2001 bereits existieren.

Es ist allerdings nicht möglich, mehrere Dateien in eine Datei zu kopieren.Dazu sollten Sie den Befehl cat verwenden (vgl. Abschnitt 3.7).

Der Befehl mv

Mit diesem Befehl können Sie Dateien und Verzeichnisse umbenennen und/oder ver-schieben. Im nachfolgenden Beispiel wird eine Datei umbenannt:

$ mv prot1 prot1111

Der Befehl überschreibt die Datei prot1111, wenn sie bereits existiert.

Sie können den Befehl auch interaktiv starten. Dann werden Sie vor dem Überschreibennoch einmal gefragt, ob Sie sicher sind:

$ mv -i prot1 prot1111rm: overwrite prot1111 (yes/no)? y

Page 20: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

86

Sie können den Befehl auch verwenden, um eine Datei oder ein Verzeichnis zu verschieben:

$ mv prot1111 bericht

Hier wurde die Datei prot1111 in das Verzeichnis bericht verschoben. Mit Hilfe diesesBefehls lassen sich auch ganze Verzeichnisbäume umbenennen:

$ mv bericht protokolle

Es ist auch möglich, gleichzeitig zu verschieben und umzubenennen:

$ mv protokolle/prot1111 prot1

Die Datei prot1111 im Verzeichnis protokolle wird ins aktuelle Verzeichnis verschobenund wieder prot1 genannt.

3.7 Befehle für die Dateiverwaltung

Dateien anzeigen und bearbeiten

Der Befehl cat

Mit diesem Befehl können Sie sich den Inhalt von kleinen Dateien anzeigen lassen. ZurAnzeige von großen Dateien ist er nicht geeignet, da der Befehl die Datei komplett bis zumEnde ausgibt:

$ cat prot1000

Eine wichtige Einsatzmöglichkeit des Befehls ist das Aneinanderketten von Dateien:

$ cat prot1 prot2 prot3 > protgesamt

Hier werden die Dateien prot1, prot2 und prot3 auf die Datei protgesamt kopiert.

Der Befehl more

Dieser Befehl listet den Inhalt von Dateien bildschirmweise auf:

$ more prot1000Protokoll der Besprechung vom 4.7.2001Anwesende:.....---More---(15%)

Page 21: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

87

Befehle für die Dateiverwaltung

Sie haben die Möglichkeit, den Befehl mit Hilfe von internen Befehlen zu steuern. DieTabelle führt die wichtigsten internen Befehle auf:

Ab Solaris 9 können Sie statt des Befehls more auch die Befehle less oder pg ver-wenden, die ebenfalls bildschirmweise blättern, sich allerdings bezüglich ihrerinternen Befehle etwas unterscheiden.

Der Befehl head

Dieser Befehl gibt standardmäßig die ersten zehn Zeilen einer Datei aus. Sie können dieAnzahl der auszugebenden Zeilen steuern, indem Sie diese als Option eingeben. Hier wer-den die ersten zwölf Zeilen ausgegeben:

$ head -12 prot1000

Der Befehl tail

Dieser Befehl gibt standardmäßig die letzten zehn Zeilen einer Datei aus. Sie können dieAnzahl der auszugebenden Zeilen steuern, indem Sie diese als Option eingeben. Hier wer-den die letzten sieben Zeilen ausgegeben:

$ tail -7 prot1000

Mit Hilfe der Option -f lassen sich Protokolldateien, deren neue Einträge amEnde eingefügt werden, sehr gut überwachen. Der Befehl endet mit dieserOption nicht am Dateiende, sondern wartet auf weitere angehängte Zeilen, dieer dann anzeigt.

Eingabe Funktion

(____) Eine Bildschirmseite weiterblättern.

(b) Eine Bildschirmseite zurückblättern.

(¢) Eine Zeile weiterblättern.

(?) oder (h) Hilfe anzeigen.

(q) Den Befehl beenden.

seitenzahl Anzahl von Seiten (seitenzahl) weiterblättern.

/suchbegriff Nach Suchbegriff suchen und die dazugehörige Seite anzeigen.

Tabelle 3.8: Interne Befehle des Befehls more

Page 22: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

88

Der Befehl vi

Dieser Befehl ist ein sehr mächtiger Texteditor. Er steht auf jedem Unix-System zur Verfü-gung. An dieser Stelle sollen nur kurz die wichtigsten Funktionen des vi erläutert werden,da eine ausführliche Erklärung den Umfang des Buchs sprengen würde.

Natürlich gibt es unzählige Texteditoren unter Unix, wie zum Beispiel emacs,joe elvis oder den CDE-Editor dtpad. Allerdings stehen diese in der Regel aufalten Solaris-Systemen oder im Single-User-Modus nicht zur Verfügung.

Der Texteditor vi kennt drei Betriebsmodi:

� Befehlsmodus

� Eingabemodus

� Befehlszeilenmodus

Der Befehl wird folgendermaßen gestartet:

$ vi protokoll_mai

Wenn Sie beim Aufruf keinen Dateinamen angeben, müssen Sie der neu ange-legten Datei vor dem Speichern einen Namen zuweisen.

Standardmäßig befinden Sie sich jetzt im Befehlsmodus. Mit den nachfolgenden Befehlenwechseln Sie in den Eingabemodus und können dann Text erfassen. Wenn Sie die Taste(Esc) drücken, gelangen Sie wieder in den Befehlsmodus.

Abbildung 3.1: Die Betriebsmodi des vi

Befehlsmodus

Return Escape

Befehlszeilenmodus Eingabemodus

: / ? i a o

Page 23: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

89

Befehle für die Dateiverwaltung

Die wichtigsten Befehle zum Hinzufügen von Text sind:

Die wichtigsten Befehle zum Löschen von Text sind:

Die wichtigsten Befehle zum Bewegen im Text sind:

Befehl Funktion

a Hinter dem Cursor einfügen.

A Am Zeilenende einfügen.

i Vor dem Cursor einfügen.

I Am Zeilenanfang einfügen.

Tabelle 3.9: Befehle, um Text hinzuzufügen

Befehl Funktion

x Lösche ein Zeichen (fünf Zeichen löschen: 5x).

dw Lösche ein Wort.

dd Lösche eine Zeile (12 Zeilen löschen: 12dd).

D Lösche bis zum Zeilenende.

d0 Lösche bis zum Zeilenanfang.

dG Lösche bis zum Dateiende.

Tabelle 3.10: Befehle, um Text zu löschen

Befehl Funktion

j Den Cursor nach unten bewegen.

k Den Cursor nach oben bewegen.

h Den Cursor nach links bewegen.

l Den Cursor nach rechts bewegen.

0 An den Zeilenanfang bewegen.

Tabelle 3.11: Befehle, um sich im Text zu bewegen

Page 24: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

90

Die wichtigsten Befehle, um Text zu kopieren und einzufügen, sind:

Die wichtigsten Befehle zum Ändern und Suchen von Text:

$ Ans Zeilenende bewegen.

G Sich ans Dateiende bewegen.

w Ein Wort vorwärts gehen.

b Ein Wort zurück gehen.

Befehl Funktion

Y In einen Textpuffer schreiben.

3Y Drei Zeilen in den Puffer schreiben.

p Unterhalb des Cursors einfügen.

P Oberhalb des Cursors einfügen.

O Eine Zeile oberhalb des Cursors einfügen.

o Eine Zeile unterhalb des Cursors einfügen.

Tabelle 3.12: Befehle, um Text zu kopieren und einzufügen

Befehl Funktion

cw Ein Wort ändern.

4cw Vier Worte ändern.

C Eine Zeile ändern.

r Ein Zeichen ersetzen.

R Eine Zeile überschreiben.

u Letzte Änderung rückgängig machen.

. Letzte Änderung wiederholen.

Tabelle 3.13: Befehle, um Text zu ändern und zu suchen

Befehl Funktion

Tabelle 3.11: Befehle, um sich im Text zu bewegen (Forts.)

Page 25: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

91

Befehle für die Dateiverwaltung

Die wichtigsten Befehle, um Text zu speichern und zu laden, sind:

Sehr viele Einstellungen können die Arbeit mit dem vi erleichtern:

n Letzte Suche wiederholen.

N Letzte Suche in umgekehrter Richtung wiederholen.

/ausdruck Vorwärts nach ausdruck suchen.

?ausdruck Rückwärts nach ausdruck suchen.

Befehl Funktion

:w Speichern.

:w datei Speichern unter dem Namen datei.

:w! datei Speichern unter dem Namen datei erzwingen.

:wq Speichern und beenden (entspricht der Eingabe ZZ)

:q Beenden, ohne zu speichern.

:q! Beenden, ohne zu speichern, erzwingen.

:e! Aktuelle Datei neu laden.

:e datei Die Datei datei zum Editieren laden.

Tabelle 3.14: Befehle, um Text zu speichern und zu laden

Befehl Funktion

:set nu Zeilennummern anzeigen.

:set nonu Keine Zeilennummern anzeigen.

:set all Alle Einstellungen anzeigen.

:set list Unsichtbare Zeichen anzeigen.

:set tabstop=4 Die Tabulatorweite auf vier Zeichen setzen.

Tabelle 3.15: Die wichtigsten Einstellungen des vi

Befehl Funktion

Tabelle 3.13: Befehle, um Text zu ändern und zu suchen (Forts.)

Page 26: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

92

Um die Einstellungen dauerhaft zu erhalten, müssen diese im Homeverzeich-nis in eine Datei mit der Bezeichnung .exrc eingegeben werden. Diese Dateiwird beim Aufruf des vi gelesen, sofern sie vorhanden ist.

Mit Dateien arbeiten

Der Befehl touch

Mit diesem Befehl können neue leere Dateien erzeugt oder das letzte Änderungs- oderZugriffsdatum von bestehenden Dateien geändert werden.

Unter Solaris werden sowohl das Erstellungs- bzw. das letzte Änderungsdatumals auch das Zugriffsdatum mitprotokolliert. Das Erstellungs- bzw. letzte Ände-rungsdatum erhalten Sie mit dem Befehl ls -l, während der Befehl ls -lu dasletzte Zugriffsdatum ausgibt. Das Zugriffsdatum wird geändert, wenn auf eineDatei oder ein Verzeichnis zugegriffen wurde, ohne dass eine Änderungerfolgte. Das ist zum Beispiel der Fall, wenn eine Datei mit dem Befehl moreangezeigt wird.

Das nachfolgende Beispiel zeigt, wie das Änderungsdatum einer Datei manipuliert wird:

$ touch -m 03030101 prot1000$ ls -l prot1000-rw-r--r-- 1 root other 65 Mar 3 01:01 prot1000

Das Datum wird in folgender Form eingegeben:

[[CC]YY]MMDDhhmm [.SS]

Die Zeiteinheiten haben folgende Bedeutung:

� C = Jahrhundert

� Y = Jahr

� M = Monat

:set wm=7 Die Zeilen um sieben Leerzeichen vom rechten Rand einrücken.

:set autoindent

Automatische Einrückung aktivieren.

Befehl Funktion

Tabelle 3.15: Die wichtigsten Einstellungen des vi (Forts.)

Page 27: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

93

Befehle für die Dateiverwaltung

� D = Tag

� h = Stunde

� m = Minute

� S = Sekunde

Der Befehl kennt folgende Optionen:

Der Befehl which

Dieser Befehl zeigt an, in welchem Pfad sich ein Befehl befindet:

$ which ls/usr/bin/ls

Zur Suche wird die Variable PATH verwendet. Variablen werden in Tag 7 aus-führlich behandelt.

Der Befehl erkennt auch definierte Aliase (vgl. Tag 7):

$ which llll: aliased to ls -al

Wenn sich ein Befehl nicht in einem der Pfade befindet, die in der Variablen PATH ent-halten sind, erhalten Sie eine entsprechende Meldung:

$ no lx in /usr/sbin /usr/bin /usr/dt/bin usr/openwin/bin

Option Bedeutung

-a Änderung des Datums des letzten Zugriffs.

-c Änderung nur bei bereits vorhandenen Dateien.

-m Änderung des Datums der letzten Änderung.

-r Änderung des Datums mit Hilfe einer Referenzdatei.

-t Angabe des Änderungszeitpunkts.

Tabelle 3.16: Optionen des Befehls touch

Page 28: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

94

Der Befehl file

Dieser Befehl versucht, den Typ einer Datei zu ermitteln, indem der oberste Teil einerDatei ausgewertet wird.

$ file *poem: English textgedicht: ascii textsammlung: directorytestdatei: empty fileprot10: symbolic linkprog99: ELF 32-bit MSB executable SPARC Version 1, statically linked, stripped

Das Ergebnis des Befehls stimmt nicht immer, da nur ein Teil der Datei ausge-wertet wird.

Die Informationen zur Auswertungen der Dateien sind in der Datei /etc/magichinterlegt.

Der Befehl kennt folgende Optionen:

Der Befehl wc

Dieser Befehl zählt Zeilen, Worte, Zeichen und Bytes in einer Datei:

$ wc prot1000 17 39 108 prot1000

In dieser Ausgabe werden die Zeilen, Worte und Bytes für die Datei prot1000 angezeigt.

Option Bedeutung

-c Überprüfung der Datei magic auf Konsistenz.

-m Verwendung einer anderen Datei als die Datei magic.

Tabelle 3.17: Optionen des Befehls file

Page 29: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

95

Befehle für die Dateiverwaltung

Der Befehl kennt folgende Optionen:

Der Befehl diff

Dieser Befehl vergleicht den Inhalt von zwei Dateien und gibt alle unterschiedlichen Zei-len aus:

$ diff obst obst13a4> pfirsich7d7< mandarinen

Zuerst wird die Nummer der abweichenden Zeilen und dann deren Inhalt angezeigt. Indiesem Beispiel weicht die vierte Zeile der zweiten Datei mit dem Eintrag pfirsich von derersten Datei ab und die erste Datei hat in der siebten Zeile den abweichenden Eintragmandarinen.

Der Befehl cmp

Dieser Befehl vergleicht zwei Dateien und bricht an der ersten Stelle ab, an der sich dieseunterscheiden.

$ cmp obst obst1obst obst1 differ: char 21, line 4

Mit der Option -l werden auch die Stelle, an der sich die Dateien unterscheiden, und dieunterschiedlichen Zeichen im Oktalformat ausgegeben.

Der Befehl od

Der Befehl od konvertiert Daten in andere Darstellungsformen, zum Beispiel in die hexa-dezimale Darstellung:

Option Bedeutung

-c Anzahl der Bytes ausgeben.

-l Anzahl der Zeilen ausgeben.

-m Anzahl der Zeichen ausgeben.

-w Anzahl der Worte ausgeben.

Tabelle 3.18: Optionen des Befehls wc

Page 30: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

96

$ od -t cx1 obst0000000 f e i g e \n z i t r o n e \n b i 66 65 69 67 65 0a 7a 69 74 72 6f 6e 65 0a 62 690000020 r n e \n m e l o n e \n a p f e l 72 6e 65 0a 6d 65 6c 6f 6e 65 0a 61 70 66 65 6c0000040 \n t r a u b e n \n m a n d a r i 0a 74 72 61 75 62 65 6e 0a 6d 61 6e 64 61 72 690000060 n e n \n k i w i s \n m a n g o \n 6e 65 6e 0a 6b 69 77 69 73 0a 6d 61 6e 67 6f 0a0000100 \n 0a0000101

Die Option -t kennt folgende Einstellungen:

� c = normales Zeichen oder a = named character

� f = Fließkommazahl

� d = Dezimalzahl mit Vorzeichen oder u = Dezimalzahl ohne Vorzeichen

� o = Oktalzahl oder x = Hexadezimalzahl

Zuletzt kann noch die Anzahl Bytes angegeben werden, aus denen sich die einzelnenKomponenten zusammensetzen.

3.8 Suchbefehle

Der Befehl find

Mit Hilfe dieses Befehls können Sie eine Datei im Verzeichnisbaum suchen, wobei sichbestimmte Suchkriterien festlegen lassen. Der Befehl führt eine rekursive Suche durchund gibt die gefundenen Dateien am Bildschirm aus. Die Befehlssyntax lautet:

$ find suchpfad -suchkriterium/en [aktion(en)]

Der Suchpfad kann ein relativer oder absoluter Pfad sein, die Suchkriterien sollen dieSuche eingrenzen und die Aktionen werden mit den gefundenen Dateien ausgeführt.

Wenn Sie die Suche im Verzeichnis / starten, dauert sie möglicherweise rechtlang, da sie im Wurzelverzeichnis beginnt und sämtliche Verzeichnisse durch-sucht. Ein solcher Befehl kann auch die Systemleistung stark in Anspruch nehmen.

Page 31: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

97

Suchbefehle

Die Suchkriterien sind normalerweise über eine UND-Verknüpfung miteinan-der verbunden. Wenn Sie eine ODER-Verknüpfung verwenden möchten,dann geben Sie die Option -o zwischen den beiden Suchkriterien ein, die Siemit ODER verbinden möchten.

Im nachfolgenden Beispiel wird im Homeverzeichnis und in den darunter liegenden Ver-zeichnissen nach einer Datei mit dem Namen fa.txt gesucht und die gesuchte Datei inLangform ausgegeben:

$ find ~ -name fa.txt -ls661149 1 -rw-r—r-- 1 her buha 189 Jul 5 15:34 /export/home/her/behoerden/text/fa.txt

Das Zeichen ~ ist ein Platzhalter für das Homeverzeichnis (vgl. Tag 7).

Es gibt eine ganze Reihe von Suchkriterien, die verwendet werden können:

Suchkriterium Bedeutung

-name datei Nach einem bestimmten Dateinamen suchen.

-type typ Nach einem bestimmten Dateityp suchen; möglich ist: f für eine normale Datei, d für ein Verzeichnis, l für einen symbolischen Link, c für eine zei-chen- und b für eine blockorientierte Gerätedatei, p für eine Named Pipe-Datei und s für eine Socket-Datei.

-user benutzer Nach einem bestimmten Benutzer suchen.

-nouser Nach Dateien ohne Benutzer suchen.

-group gruppe Nach einer bestimmten Gruppe suchen.

-nogroup Nach Dateien ohne Gruppe suchen.

-perm rechte Nach bestimmten Berechtigungen suchen.

-size [+/-]i Nach einer bestimmten Größe suchen. i steht für einen 512-Byte-Block. Bei Verwendung des Pluszeichens wird nach Dateien gesucht, die größer sind, bei einem Minuszeichen nach Dateien, die kleiner sind. Ohne Minus- oder Pluszeichen wird nach Dateien gesucht, die genau i Blöcke groß sind. Soll nach einer Größe in Byte gesucht werden, muss hinter der Größe ein c für die Byte-Angabe stehen.

Tabelle 3.19: Die wichtigsten Suchkriterien des Befehls find

Page 32: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

98

Die Aktionen des Befehls sind:

-atime [+/-]i Nach einem bestimmten Zugriffsdatum in i Tagen suchen. Bei Verwen-dung des Pluszeichens wird nach Dateien gesucht, auf die vor mehr als i zuletzt zugegriffen wurde, bei einem Minuszeichen nach Dateien, auf die vor weniger als i Tagen zuletzt zugegriffen wurde. Wird kein Minus- oder Pluszeichen verwendet, wird nach Dateien gesucht, auf die zuletzt vor genau i Tagen zugegriffen wurde.

-mtime [+/-]i Nach einem bestimmten Änderungsdatum in i Tagen suchen. Mit einem Pluszeichen wird nach Dateien gesucht, die vor mehr als i zuletzt geändert wurden, mit einem Minuszeichen nach Dateien, die vor weniger als i Tagen zuletzt geändert wurden. Wird kein Minus- oder Pluszeichen ver-wendet, wird nach Dateien gesucht, die zuletzt vor genau i Tagen geändert wurden.

-ctime [+/-]i Nach einem bestimmten Erstellungsdatum in i Tagen suchen. Wenn das Pluszeichen verwendet wird, wird nach Dateien gesucht, die vor mehr als i erstellt wurden, bei einem Minuszeichen nach Dateien, die vor weniger als i Tagen erstellt wurden. Wird kein Minus- oder Pluszeichen verwendet, wird nach Dateien gesucht, die vor genau i Tagen erstellt wurden.

-newer datei Nach Dateien suchen, die neuer sind als die angegebene Datei.

-inum inodenr Nach bestimmten Inode-Nummern suchen.

-mount Nur im angegebenen Dateisystem suchen.

-depth Zuerst in den Unterverzeichnissen suchen.

-follow Den symbolischen Links folgen.

-fstype typ Nur in bestimmten Dateisystemtypen suchen.

-links i Nur nach Dateien mit einer Anzahl i von Links suchen.

Aktion Bedeutung

-print Die gefundenen Dateien ausgeben. Dies ist die standardmäßige Aktion, die nicht unbedingt eingegeben werden muss.

-ls Die gefundenen Dateien in Langform ausgeben.

Tabelle 3.20: Die Aktionen des Befehls find

Suchkriterium Bedeutung

Tabelle 3.19: Die wichtigsten Suchkriterien des Befehls find (Forts.)

Page 33: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

99

Suchbefehle

Im nachfolgenden Beispiel wird ab dem aktuellen Verzeichnis nach allen normalenDateien der Benutzer her und olli gesucht, die zuletzt vor weniger als sieben Tagen geän-dert wurden. Anschließend werden diese ausgegeben:

$ find . \( -user her -o -user olli \) -type f -mtime -7 -print/export/home/her/brief-lg.txt/export/home/her/mond.jpg/export/home/olli/dokument1

Bei mehreren Auswahlkriterien, die mit der Option -o verknüpft werden, müssen die umge-benden Klammern mit Hilfe des Backslash maskiert werden (vgl. Tag 7).

Im nachfolgenden Beispiel wird ab dem Wurzelverzeichnis nach Dateien mit dem Namencore gesucht und die gefundenen Dateien werden sofort ohne Rückfrage gelöscht:

$ find / -name core -exec rm {} \;

Der Befehl grep

Dieser Befehl durchsucht Dateien nach Suchmustern. Im Gegensatz zum Befehl findkann er nicht rekursiv suchen. Die Syntax des Befehls lautet:

$ grep [-Option(en)] suchmuster datei(en)

Im folgenden Beispiel wird nach dem Suchmuster Vielfalt in der Datei prot1000 gesucht.Die gefundene Zeile wird mit Zeilennummer ausgegeben.

$ grep -n Vielfalt prot100019:eine grosse Vielfalt an verschiedenen Produkten bietet gerade

-exec befehl {} \; Den angegebenen Befehl für jede gefundene Datei ausführen. Dabei wird jeder gefundene Dateiname in die geschweiften Klammern übergeben. Wenn Sie einen Befehl zum Löschen der gefundenen Dateien verwenden, werden Ihnen die Dateien nicht mehr angezeigt, sondern sofort gelöscht, wenn sie mit den Suchkriterien übereinstimmen!

-ok befehl {} \; Den angegebenen Befehl für jede gefundene Datei ausführen. Sie werden allerdings bei bestimmten Befehlen, wie zum Beispiel dem Löschen, gefragt, ob Sie die jeweils gefundene Datei wirklich löschen wollen.

Aktion Bedeutung

Tabelle 3.20: Die Aktionen des Befehls find (Forts.)

Page 34: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

100

Der Befehl kennt folgende Optionen:

Es gibt zwei weitere Versionen des Befehls unter Solaris: fgrep und egrep. DerBefehl fgrep kennt keine regulären Ausdrücke (siehe nächster Abschnitt), wäh-rend egrep weitere reguläre Ausdrücke kennt.

Da der Befehl grep nicht rekursiv arbeitet, muss er mit dem Befehl find kombiniert wer-den, wenn sich die Datei mit dem Suchmuster im Verzeichnisbaum unterhalb des aktuel-len Verzeichnisses befindet. Im nachfolgenden Beispiel werden im Verzeichnis /etc undin den darunter liegenden Verzeichnissen Dateien gesucht, die das Suchmuster PASSREQenthalten:

$ find /etc -type f -exec grep -n PASSREQ {} /dev/null \;

Da der Befehl grep normalerweise keine Dateinamen ausgibt, wenn er nur eine Dateidurchsucht, wird ihm parallel die leere Datei /dev/null zum Durchsuchen »aufgezwun-gen«. Auf diese Weise erhalten Sie auch die Dateinamen mit den Fundstellen.

Reguläre Ausdrücke (regular expressions)

Der Befehl grep lässt sich über reguläre Ausdrücke steuern, die im Suchmuster verwendetwerden. Im nachfolgenden Beispiel werden alle Dateien des Verzeichnisses prog_sprachennach einem Suchmuster durchsucht, das objektorientiert lautet und am Zeilenanfang steht:

$ grep -in '^objektorientiert' ~/prog_sprachen/*51:Objektorientierte Programmiersprachen71:objektorientierte Sprachen haben bestimmte Merkmale, wie zum 331:Objektorientiert Programmieren

Option Bedeutung

-b Nummer des Plattenblocks ausgeben, in dem das Suchmuster steht.

-c Anzahl der Zeilen ausgeben, die das Suchmuster enthalten.

-i Groß- und Kleinschreibung ignorieren.

-n Zeilennummer ausgeben, die das Suchmuster enthält.

-v Umgekehrt suchen: nur Zeilen ausgeben, die das Suchmuster nicht enthalten.

Tabelle 3.21: Die Optionen des Befehls grep

Page 35: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

101

Links

Zu den wichtigsten regulären Ausdrücken gehören:

Außer den Befehlen grep und egrep verwenden auch die Befehle vi und sedreguläre Ausdrücke.

3.9 Links

Links sind Verweise auf Dateien und gegebenenfalls auf Verzeichnisse. Durch die Vergabevon Links ist es möglich, von verschiedenen Stellen im Verzeichnisbaum aus auf dieselbeDatei oder dasselbe Verzeichnis zuzugreifen, ohne eine redundante Kopie zu erstellen, die

Ausdruck Beispiel Bedeutung

. M...e Der Punkt steht für genau ein beliebiges Zeichen. Die Fundstellen für das Suchmuster im Beispiel könnten also Masse, Messe, Mette, Motte, Matte, Mitte, Miete usw. lauten.

* Mat.* Das vorangegangene Zeichen kann kein einziges Mal, einmal oder beliebig oft im Suchmuster vorkommen. Die Fundstellen für das Suchmuster im Beispiel könnten also Math, Matt, Matte, Mathema-tik, Mat usw. lauten.

[ ] M[oaei]tte Die eckigen Klammern stehen für genau ein beliebiges Zeichen, das im Auswahlbereich der eckigen Klammern enthalten sein muss. Die Fundstellen für das Suchmuster im Beispiel müssen also Matte, Motte, Mette und Mitte lauten.

[^ ] M.[es].e Die Zeichen des Auswahlbereichs in den eckigen Klammern, die wiederum für genau ein beliebiges Zeichen stehen, dürfen nicht vor-kommen. Die Fundstellen für das Suchmuster im Beispiel könnten also Mette, Motte, Matte, Mitte, usw., aber nicht Masse, Messe, Miete usw. lauten.

^ ^Masse Die gefundene Zeile muss am Zeilenanfang das Suchmuster enthal-ten. Die Fundstellen für das Suchmuster im Beispiel müssen also am Anfang einer Zeile gesucht werden.

$ Masse$ Die gefundene Zeile muss am Zeilenende das Suchmuster enthal-ten. Die Fundstellen für das Suchmuster im Beispiel müssen also am Ende einer Zeile gesucht werden.

Tabelle 3.22: Reguläre Ausdrücke

Page 36: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

102

außerdem nochmals denselben Speicherplatz verbraucht. Links sind auch eine Möglich-keit, die Originaldatei vor versehentlichem Löschen durch den Benutzer zu schützen,indem diese an einer Stelle steht, die dem Benutzer nicht zugänglich ist.

Hard Links

Ein Hard Link vergibt einer Datei einen zweiten Namen, wobei diese nicht kopiert wird,sondern einfach ein weiterer logischer Verweis auf einen vorhandenen Dateieintragerzeugt wird. Die logischen Dateinamen von Hard Links verweisen immer auf denselbenEintrag in der Inode-Tabelle (vgl. Tag 10). Einen Hard Link erzeugen Sie mit folgendemBefehl:

$ ln prot1000 prot1000a$ ls -l prot*$ -rw-r--r-- 2 root other 65 May 3 10:31 prot1000$ -rw-r--r-- 2 root other 65 May 3 10:31 prot1000a

Die Einträge, die der Befehl ls -l für die beiden Dateien ausgibt, sind absolut identisch,bis auf den logischen Dateinamen. Da beide Dateinamen dieselbe Inode-Nummer haben,verweisen sie auch auf dieselben Dateiinformationen. Die zweite Spalte der Ausgabe ent-hält den so genannten Link Counter, der pro Hard Link um 1 erhöht wird.

Existieren für eine Datei Hard Links, so ist es nicht mehr möglich, den ursprünglichenVerweis auf die Originaldatei zu erkennen. Alle logischen Dateinamen verweisen einfachauf denselben Inode-Eintrag. Wenn Sie einen Hard Link löschen, wird die Zahl des LinkCounters herabgesetzt, bis nur noch ein einziger Dateinamen mit dem Link Counter 1übrig ist. Wenn Sie diesen löschen, entspricht dies dem Löschen einer normalen Datei:Dateieintrag und -name werden entfernt.

Ein Hard Link kann nur innerhalb derselben Partition zugewiesen werden, da für jede Par-tition die Inode-Nummern und die Inode-Tabelle (vgl. Tag 10) separat verwaltet werden.Daher ist es auch nicht möglich, den Befehl mv für einen Hard Link über Partitionen hin-weg auszuführen. Eine weitere Einschränkung ist, dass Hard Links nicht für Verzeichnisseangelegt werden können.

Symbolische Links

Ein symbolischer Link ist eine Datei, die als Daten nur den Namen und den Pfad der Ori-ginaldatei speichert, auf die sie verweist. Ein symbolischer Link hat im Gegensatz zumHard Link auch einen eigenen Inode-Eintrag. Einen symbolischen Link können Sie wiefolgt erzeugen:

Page 37: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

103

Links

$ ln -s prot1000 prot1000s$ ls -l prot*$ -rw--r—r-- 1 root other 65 May 3 10:31 prot1000$ lrwxrwxrxw 1 root other 65 May 27 12:52 prot1000s à prot1000

Wenn Sie einen Befehl für den symbolischen Link absetzen, wird in Wirklichkeit die Ori-ginaldatei verwendet. Sie können symbolische Links nicht nur über Partitionen hinweg,sondern auch für Verzeichnisse verwenden. Wenn Sie den Befehl cp oder chmod ausführen,kopieren bzw. verändern Sie die Rechte für die Originaldatei, nicht für den Link. DieBefehle ls, rm und mv zeigen, löschen und verschieben hingegen den symbolischen Link,nicht die Originaldatei.

Wenn Sie einen symbolischen Link löschen, hat dies keine Auswirkungen auf die Original-datei. Wenn Sie die Originaldatei löschen, zeigt der Link ins Leere.

Bei einem symbolischen Link haben Sie nur pro forma alle Rechte. Tatsächlichgelten die Rechte der Originaldatei, wenn Sie auf die Datei eine Operation aus-führen möchten.

Die folgende Tabelle enthält die wichtigsten Unterschiede zwischen Hard Links und sym-bolischen Links.

Merkmal Hard Link Symbolischer Link

Partitions-übergreifend

nein ja

Inode-Eintrag wie Originaldatei eigener Inode-Eintrag

Link Counter wird erhöht bleibt 1

Originaldatei nicht mehr erkennbar bleibt erkennbar

Quelldatei muss existieren muss nicht existieren (Verweis erfolgt ins Leere)

Linkdatei darf nicht existieren wird überschrieben, wenn sie existiert

Eigene Datenblöcke nein ja, mit Pfad-/Dateinamen der Originaldatei

Anwendbar auf nur normale Dateien auf normale Dateien, Verzeichnisse und Gerätedateien

Wesen anderer Name für gleiche Datei

eigene Datei, die als Verweis dient

Tabelle 3.23: Vergleich Hard Links und symbolische Links

Page 38: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

Wichtige Solaris-Befehle

104

3.10 Zusammenfassung

In diesem Tag haben Sie grundlegende Unix-Befehle kennen gelernt. Mit Hilfe dieserBefehle lassen sich diverse System- und Benutzerinformationen abrufen. Außerdem kön-nen Sie nun Dateien und Verzeichnisse anzeigen, anlegen, kopieren, verschieben undlöschen. Sie haben gelernt, mit welchen Befehlen Sie Dateien vergleichen und bearbeitenund wie Sie nach Dateien oder deren Inhalt suchen. Sie können nun symbolische oderHard Links erzeugen und erkennen.

3.11 F&A

F Ich versuche, mit dem Befehl cp mehrere Dateien in eine neue Datei zu kopieren. Ist dasmöglich?

A Nein, dieser Befehl kann nur eine Datei auf eine andere, mehrere Dateien in einVerzeichnis oder ein Verzeichnis auf ein Verzeichnis kopieren. Verwenden Sie indiesem Fall den Befehl cat.

F Kann ich mit dem Befehl rmdir einen Teil meines Verzeichnisbaums (bestehend aus wei-teren Unterverzeichnissen und Dateien, die ich nicht mehr benötige) im Unterverzeichnis/export/home/otto/test löschen?

A Nein, dieser Befehl kann nur ein leeres Verzeichnis löschen. Verwenden Sie indiesem Fall den Befehl rm -r. Vergewissern Sie sich aber zuvor mit Hilfe desBefehls pwd, ob Sie sich im richtigen Verzeichnis befinden.

F Ich soll einen Link anlegen, bin mir aber nicht sicher, ob ich einen symbolischen odereinen Hard Link verwenden soll. Was soll ich tun?

A Es kommt darauf an, ob der Link für ein Verzeichnis oder eine Datei angelegt wer-den soll. Ein Hard Link kann nur für eine Datei angelegt werden. Außerdem spieltes eine Rolle, ob der Link innerhalb derselben Partition angelegt werden soll: EinHard Link lässt sich nicht partitionsübergreifend erzeugen. In diesen Fällen könnenSie nur einen symbolischen Link verwenden. Ansonsten ist ein Hard Link schneller,da er einen direkten Zugriff auf den Inode-Eintrag bietet, ohne zunächst einenanderen Inode-Eintrag – wie beim symbolischen Link – auslesen zu müssen.

Page 39: Wichtige Solaris- Befehle - bücher.de · Wichtige Solaris-Befehle 70 3.3 Hilfebefehle Der Befehl man Mit dem Befehl man erhalten Sie eine Online-Hilfe, die so genannten Manual Pages

105

Übungen

3.12 Übungen

1. Melden Sie sich unter einer einfachen Benutzerkennung am System an (also nicht alsroot). Legen Sie mit dem Befehl touch eine leere Datei mit dem Datum 3.1.01 an undsuchen Sie dann mit dem Befehl find nach allen Dateien in Ihrem System, die vonIhnen als einfacher Benutzer erzeugt wurden, älter als 4 Wochen und leer sind. DieDatei muss dabei auf jeden Fall angezeigt werden.

2. Zählen Sie mit Hilfe der Befehle cat und wc, wie viele Benutzer in Ihrem System ange-legt wurden. Verwenden Sie dazu die Datei /etc/passwd.

3. Erzeugen Sie mit dem Befehl mkdir rekursiv einen Verzeichnisbaum unterhalb IhresHomeverzeichnisses: Direkt unter dem Homeverzeichnis soll das Verzeichnis X, dar-unter das Verzeichnis Y, darunter das Verzeichnis Z und im Verzeichnis Z sollen dieVerzeichnisse Z1 und Z2 angelegt werden. Verwenden Sie dazu eine einzige Befehls-zeile.

4. Verschieben Sie die Unterverzeichnisse Z1 und Z2 mit dem Befehl mv in das Verzeich-nis Y.

5. Suchen Sie im Verzeichnis /etc rekursiv nach allen Dateien, die das SuchmusterPATH enthalten, und lassen Sie sowohl die Zeilennummern als auch die Dateinamendabei ausgeben.