1.7 Crashkurs: einfacher Umgang mit der Kommandozeile
Wahrscheinlich wird der ein oder andere im Umgang mit der Kommandozeile der Shell schon geübt sein. Trotzdem will ich hier einen kleinen »Crashkurs« zur Verwendung der Kommandozeile einer Shell geben – natürlich auf das Nötigste beschränkt. Viele dieser Kommandos werden im Laufe der Kapitel immer wieder zu Demonstrationszwecken verwendet. Noch mehr Kommandos und eventuell auch mehr zu den möglichen (wichtigsten) Optionen finden Sie in der »Linux-UNIX-Kommandoreferenz« am Ende des Buchs. Ich beschränke mich im Crashkurs nur auf die grundlegenden Befehle und das Arbeiten mit Dateien und Verzeichnissen.
1.7.1 Grundlegende Befehle
Um überhaupt einen Befehl auszuführen, muss nach dessen Eingabe die (ENTER)-Taste gedrückt werden. Danach wird das Linux-UNIX-System veranlassen, dass der Befehl das ausführt, was er eben tun soll.
Wer ist eingeloggt und wer bin ich – who und whoami
Wollen Sie wissen, wer alles auf dem System eingeloggt ist, dann kann der Befehl who (engl. wer) verwendet werden.
you@host > who
rot tty2 Jan 30 14:14
tot :0 Jan 30 15:02 (console)
you tty1 Jan 30 11:14
Hier sind die User »rot«, »tot« und »you« eingeloggt. Neben der Benutzererkennung werden hierbei auch die Nummern der »tty« angezeigt. »tty1« und »tty2« sind beides echte Terminals ohne grafische Oberfläche. Hingegen scheint der User »tot« mit einer grafischen Oberfläche verbunden zu sein. Des Weiteren finden Sie hier das Datum und die Uhrzeit des Logins.
Wollen Sie wissen, wer davon Sie sind, dann können Sie das mit whoami (engl. wer bin ich) abfragen (vielleicht sind Sie ja irgendwie an Root-Rechte gekommen).
you@host > whoami
you
you@host > su
Password: ********
# whoami
root
Die Ausgabe von Zeichen – echo
Den Befehl echo werden Sie noch öfters einsetzen. Mit echo können Sie alles ausgeben, was hinter dem Befehl in der Eingabezeile folgt. Hört sich zunächst recht trivial an, aber in der Praxis (bspw. bei der Ausgabe von Shellscripts, der Ausgabe von Shell-Variablen oder zu Debugging-Zwecke etc.) ist dieser Befehl unverzichtbar.
you@host > echo Hallo
Hallo
you@host > echo Mehrere Worte ausgeben
Mehrere Worte ausgeben
you@host > echo
you@host > echo Mehrere Leerzeichen werden ignoriert
Mehrere Leerzeichen werden ignoriert
you@host > echo $SHELL
/bin/bash
Sicherlich ist Ihnen dabei auch aufgefallen, dass echo mehrere Leerzeichen zwischen den einzelnen Wörtern ignoriert. Das liegt daran, dass bei Linux/UNIX die Leerzeichen lediglich dazu dienen, mehrere Worte voneinander zu trennen – weil eben nur die Worte von Bedeutung sind. Werden mehr Leerzeichen oder Tabulatoren (siehe IFS) als Teil eines Befehls oder einer Befehlskette verwendet, werden diese grundsätzlich ignoriert. Wollen Sie dennoch mit echo mehrere Leerzeichen ausgeben, so können Sie den Text auch zwischen doppelte Anführungsstriche stellen:
you@host > echo "jetzt geht es auch mit mehreren Leerzeichen"
jetzt geht es auch mit mehreren Leerzeichen
1.7.2 Der Umgang mit Dateien
Der Umgang mit Dateien wird dank einfacher Möglichkeiten unter Linux/UNIX zum Kinderspiel. Hier finden Sie die wichtigsten Befehle, die im Verlauf des Kapitels zum Einsatz kommen.
Datei(en) auflisten – ls
Der Befehl ls (Abkürzung für list = auflisten) ist wohl der am häufigsten benutzte Befehl in einer Shell überhaupt. Damit können Sie die Dateien auflisten, die sich in einem Verzeichnis befinden.
you@host > ls
bin Documents GNUstep new_dir public_html
Desktop Dokumente Mail OpenOffice.org1.1 Shellbuch
Sicherlich fällt Ihnen hierbei auf, dass ls neben gewöhnlichen Dateien auch Inhaltsverzeichnisse und Spezialdateien (Gerätedateien) mit ausgibt. Darauf möchte ich ein paar Seiten später näher eingehen.
Inhalt einer Datei ausgeben – cat
Mit dem Befehl cat (Abkürzung für catenate = verketten, aneinander reihen) können Sie den Inhalt einer Datei ausgeben lassen. Als Argument übergibt man dem Befehl den Namen der Datei, deren Inhalt man lesen möchte.
you@host > cat beispiel.txt
Dieser Text steht in der Textdatei "beispiel.txt"
Beenden kann man diese Eingabe mit Strg+D
you@host > cat >> beispiel.txt
Dieser Text wird ans Ende von "beispiel.txt" geschrieben.
you@host > cat beispiel.txt
Dieser Text steht in der Textdatei "beispiel.txt"
Beenden kann man diese Eingabe mit Strg+D
Dieser Text wird ans Ende von "beispiel.txt" geschrieben.
Im Beispiel konnten Sie sehen, dass cat für mehr als nur das Ausgeben von Dateien verwendet werden kann. Hier wurde zum Beispiel mit dem Ausgabeumlenkungszeichen >> der von Ihnen darauf folgend eingegebene Text an die Datei beispiel.txt gehängt. Beenden können Sie die Eingabe über die Standardeingabe mit EOF (End Of File), die zugehörige Tastenkombination ist (Strg)+(D). Mehr zur Ein-/Ausgabeumleitung erfahren Sie in Abschnitt 1.10.
Zeilen, Worte und Zeichen zählen – wc
Mit dem Kommando wc (Abkürzung für word count = Wörter zählen) können Sie die Anzahl der Zeilen, Worte und Zeichen einer Datei zählen.
you@host > wc beispiel.txt
3 22 150 beispiel.txt
you@host > wc -l beispiel.txt
3 beispiel.txt
you@host > wc -w beispiel.txt
22 beispiel.txt
you@host > wc -c beispiel.txt
150 beispiel.txt
Geben Sie – wie im ersten Beispiel – wc nur mit dem Dateinamen als Argument an, werden Ihnen drei Zahlen ausgegeben. Die Bedeutung dieser drei Zahlen ist, der Reihe nach: die Anzahl der Zeilen, die Anzahl der Wörter und die Anzahl von Zeichen. Natürlich können Sie mit einer Angabe der entsprechenden Option auch einzeln die Anzahl von Zeilen (–l = line), Worten (–w = words) und Zeichen (–c = character) einer Datei ermitteln.
Hinweis Fast jeder Linux-UNIX-Befehl bietet Ihnen solche speziellen Optionen an. Das Format ist generell immer gleich, gefolgt von einem Minuszeichen folgt die gewünschte Option. Wollen Sie bspw. wissen, was Ihnen der ein oder andere Befehl noch so für Optionen bietet, dann hilft häufig ein Aufruf des Befehls gefolgt von der Option --help aus. Mehr Details zu einzelnen Optionen eines Kommandos finden Sie in der Linux-UNIX-Kommandoreferenz (siehe Kapitel 14) und natürlich auf den man-Pages. Die Verwendung der man-Pages wird ebenfalls in der Kommandoreferenz erläutert.
|
Datei(en) kopieren – cp
Dateien kopieren können Sie mit dem Kommando cp (Abkürzung für copy = kopieren). Als erstes Argument übergeben Sie diesem Befehl den Namen der Datei (Quelldatei), die kopiert werden soll. Das zweite Argument ist dann der Name der Kopie (Zieldatei), die Sie erstellen wollen.
you@host > cp beispiel.txt kopie_beispiel.txt
you@host > ls *.txt
beispiel.txt kopie_beispiel.txt
Beachten Sie allerdings, wenn Sie hier als zweites Argument (im Beispiel kopie_beispiel.txt) den Namen einer bereits vorhandenen Datei verwenden, dass diese gnadenlos überschrieben wird.
Datei(en) umbenennen oder verschieben – mv
Eine Datei können Sie mit dem Kommando mv (Abkürzung für move = bewegen) umbenennen oder, sofern als Ziel ein anderes Verzeichnis angegeben wird, verschieben. Die Argumente entsprechen dabei demselben Prinzip wie beim Kommando cp. Das erste Argument ist der Name der Datei, die umbenannt oder verschoben werden soll, und das zweite Argument ist entweder der neue Name der Datei oder – wenn gewünscht – das Verzeichnis, wohin mv die Datei schieben soll.
you@host > ls
beispiel.txt kopie_beispiel.txt
you@host > mv kopie_beispiel.txt beispiel.bak
you@host > ls
beispiel.bak beispiel.txt
you@host > mv beispiel.bak /home/tot/ein_ordner
you@host > ls
beispiel.txt
you@host > ls /home/tot/ein_ordner
beispiel.bak
Wie beim cp-Befehl wird mit mv der als zweites Argument angegebene Name bzw. das Ziel überschrieben, sofern ein gleicher Name bereits existiert.
Datei(en) löschen – rm
Wollen Sie eine Datei aus Ihrem System entfernen, hilft Ihnen der Befehl rm (Abkürzung für remove = entfernen). Als Argument von rm geben Sie die Datei an, die Sie löschen wollen. Natürlich dürfen hierbei auch mehrere Dateien auf einmal angegeben werden.
you@host > rm datei.txt
you@host > rm datei1.txt datei2.txt datei3.txt datei4.txt
you@host > rm beispiel.txt /home/tot/ein_ordner/beispiel.bak
Leere Datei erzeugen – touch
Mit diesem Befehl können Sie eine oder mehrere Dateien als Argument mit der Größe 0 anlegen. Sofern eine Datei mit diesem Namen existiert, ändert touch nur das Datum der letzten Änderung – lässt aber den Inhalt der Datei in Ruhe. Ich verwende den Befehl gern zu Demonstrationszwecken im Buch, wenn ich mal schnell mehrere Dateien auf einmal erzeugen will und damit ohne großen Aufwand das ein oder andere Szenario darstellen kann.
you@host > touch datei1.txt
you@host > ls *.txt
datei1.txt
you@host > touch datei2.txt datei3.txt datei4.txt
you@host > ls *.txt
datei1.txt datei2.txt datei3.txt datei4.txt
1.7.3 Der Umgang mit Verzeichnissen
Neben dem Umgang mit Dateien gehören der Umgang und das Verständnis von Verzeichnissen ebenso zu den grundlegenden Arbeiten. Daher hier die wichtigsten Befehle und Begriffe dazu.
Verzeichnishierarchien und Home
In jedem Linux-UNIX-System finden Sie sich nach dem Einloggen (oder beim Starten einer »xterm«) automatisch im Heim-Inhaltsverzeichnis (home) wieder. Geht man bspw. davon aus, dass Ihr Heim-Inhaltsverzeichnis »you« lautet und dass dieses Verzeichnis ein Unterverzeichnis des Verzeichnisses /home ist (was gewöhnlich der Fall ist), dann lautet Ihr Heimverzeichnis /home/you. Die Rede ist von einem Verzeichnisbaum, an dessen Spitze sich immer ein / befindet – das Wurzelinhaltsverzeichnis (Root-Verzeichnis, nicht zu verwechseln mit dem Benutzer root). Hierbei gibt es keine Laufwerksangaben, wie dies Windows-typisch der Fall ist. Das oberste Hauptverzeichnis geben Sie hier immer mit einem / an, welches Sie auch gern mit ls ausgeben lassen können.
you@host > ls /
bin dev home media opt root srv tmp var
boot etc lib mnt proc sbin sys usr windows
So veranlassen Sie, dass ls den Inhalt vom Wurzelverzeichnis in alphabetischer Reihenfolge (hier von oben nach unten; dann von links nach rechts) ausgibt. Will man an dieser Stelle wissen, wo man sich gerade befindet (das aktuelle Arbeitsverzeichnis, also das Verzeichnis, welches ls ohne sonstige Angaben ausgeben würde), kann man den Befehl pwd (Abkürzung für print working director = gib das Arbeitsverzeichnis aus) verwenden.
you@host > pwd
/home/you
Geben Sie also einen Pfadnamen beginnend mit einem Schrägstrich ( / ) an, wird versucht, eine Datei oder ein Verzeichnis vom Wurzelverzeichnis aus zu erreichen. Man spricht dabei von einer vollständigen oder absoluten Pfadangabe. Die weiteren Verzeichnisse, die Sie zur Datei oder zum Verzeichnis benötigen, werden mit einem / ohne Zwischenraum getrennt.
you@host > cat /home/you/Dokumente/brief.txt
Hier wird die Datei brief.txt, welche sich im Verzeichnis /home/tot/Dokumente befindet, ausgegeben. Befindet sich diese Datei allerdings in Ihrem Heimverzeichnis (in der Annahme, es lautet hier /home/you), dann müssen Sie keine vollständige Pfadangabe vom Wurzelverzeichnis aus vornehmen. Hier würde auch eine relative Pfadangabe genügen. Als »relativ« wird hier der Pfad vom aktuellen Arbeitsverzeichnis aus bezeichnet.
you@host > pwd
/home/you
you@host > cat Dokumente/brief.txt
Was hier angegeben wurde, wird auch als vollständige Dateiangabe bezeichnet, weil hier die Datei brief.txt direkt mitsamt Pfad (relativ zum aktuellen Arbeitsverzeichnis) angesprochen wird. Gibt man hingegen nur /home/you/Dokumente an, dann spricht man von einem (vollständigen) Pfadnamen.
Früher oder später werden Sie in Ihrem Inhaltsverzeichnis auch mal auf die Punkte . und .. stoßen. Die (doppelten) Punkte .. repräsentieren immer das Inhaltsverzeichnis, das eine Ebene höher liegt. Befinden Sie sich also nach dem Einloggen im Verzeichnis /home/you, bezieht sich .. auf das Inhaltsverzeichnis von you. So können Sie bspw. beim Wechseln des Verzeichnisses jederzeit mit Angabe von .. in das nächsthöhere Verzeichnis der Hierarchie wechseln. Selbst das höchste Verzeichnis, die Wurzel /, besitzt solche Einträge, nur dass es sich beim Wurzelverzeichnis um einen Eintrag auf sich selbst handelt – höher geht es eben nicht mehr.
you@host > pwd
/home/you
you@host > ls ..
you
you@host > ls /..
bin dev home media opt root srv tmp var
boot etc lib mnt proc sbin sys usr windows
Der einfache Punkt hingegen verweist immer auf das aktuelle Inhaltsverzeichnis. So sind bspw. folgende Angaben absolut gleichwertig:
you@host > ls
you@host > ls ./
In Tabelle 1.1 finden Sie eine Zusammenfassung der Begriffe, die in Bezug auf Verzeichnisse wichtig sind.
Tabelle 1.1
Wichtige Begriffe im Zusammenhang mit Verzeichnissen
Begriff
|
Bedeutung
|
Wurzelverzeichnis / (engl. root)
|
Höchstes Verzeichnis im Verzeichnisbaum
|
Aktuelles Arbeitsverzeichnis
|
Das Verzeichnis, in dem Sie sich im Augenblick befinden
|
Vollständige Pfadangabe
|
Ein Pfadname beginnend mit / (Wurzel); alle anderen Verzeichnisse werden ebenfalls mit einem / getrennt.
|
Relative Pfadangabe
|
Der Pfad ist relativ zum aktuellen Arbeitsverzeichnis; hierbei wird kein voranstehendes / verwendet.
|
Vollständiger Dateiname
|
Pfadangabe inklusive Angabe zur entsprechenden Datei (bspw. /home/you/Dokumente/brief.txt)
|
Vollständiger Pfadname
|
Pfadangabe zu einem Verzeichnis, in dem sich die entsprechende Datei befindet (bspw. /home/you/Dokumente)
|
.. (zwei Punkte)
|
Verweisen auf ein Inhaltsverzeichnis, das sich eine Ebene höher befindet
|
. (ein Punkt)
|
Verweist auf das aktuelle Inhaltsverzeichnis
|
Inhaltsverzeichnis wechseln – cd
Das Wechseln von einem Inhaltsverzeichnis können Sie mit dem Befehl cd (Abkürzung für change directory = wechsle Verzeichnis) ausführen. Als Argument übergeben Sie diesem Befehl das Inhaltsverzeichnis, in das Sie wechseln wollen.
you@host > pwd
/home/you
you@host > cd Dokumente
you@host > pwd
/home/you/Dokumente
you@host > ls
Beispiele FAQ.tmd Liesmich.tmd
you@host > cd ..
you@host > pwd
/home/you
you@host > cd ../..
you@host > pwd
/
you@host > cd /home/you
you@host > pwd
/home/you
you@host > cd /
you@host > pwd
/
you@host > cd
you@host > pwd
/home/you
Mit den vorherigen Erläuterungen sollte Ihnen dieses Beispiel keine Probleme mehr bereiten. Einzig der Sonderfall sollte erwähnt werden, die Funktion cd. Verwenden Sie cd allein, so gelangen Sie immer in das Heim-Inhaltsverzeichnis zurück, egal wo Sie sich gerade befinden.
Ein Inhaltsverzeichnis erstellen – mkdir
Ein neues Inhaltsverzeichnis können Sie mit dem Befehl mkdir (Abkürzung make directory = erzeuge Verzeichnis) anlegen. Als Argument erwartet dieser Befehl den Namen des neu zu erzeugenden Verzeichnisses. Ohne Angabe eines Pfadnamens als Argument wird das neue Verzeichnis im aktuellen Arbeitsverzeichnis angelegt.
you@host > mkdir Ordner1
you@host > pwd
/home/you
you@host > cd Ordner1
you@host > pwd
/home/you/Ordner1
tyou@host > cd ..
you@host > pwd
/home/you
Ein Verzeichnis löschen – rmdir
Ein Verzeichnis können Sie mit dem Befehl rmdir (Abkürzung für remove directory = lösche Verzeichnis) wieder löschen. Um aber ein Verzeichnis wirklich löschen zu dürfen, muss dieses leer sein. Das heißt, im Verzeichnis darf sich außer den Einträgen . und .. nichts mehr befinden. Die Verwendung von rmdir entspricht der von mkdir, nur dass Sie als Argument das Verzeichnis angeben, das gelöscht werden soll.
you@host > cd Ordner1
you@host > touch testfile.dat
you@host > cd ..
you@host > rmdir Ordner1
rmdir: Ordner1: Das Verzeichnis ist nicht leer
Um also alle Dateien in einem Verzeichnis zu löschen, haben Sie ja bereits das Kommando rm kennen gelernt. Mit einer Datei ist das kein großer Aufwand, doch befinden sich in einem Verzeichnis mehrere Dateien, bietet Ihnen rm die Option –r zum rekursiven Löschen an.
you@host > rm -r Ordner1
Dank dieser Option werden alle gewünschten Verzeichnisse und die darin enthaltenen Dateien gelöscht, inklusive aller darin enthaltenen Unterverzeichnisse.
1.7.4 Datei- und Verzeichnisnamen
Bei der Verwendung von Datei- bzw. Verzeichnisnamen ist Linux/UNIX sehr flexibel. Hierbei ist fast alles erlaubt, dennoch gibt es auch einige Zeichen, die man in einem Dateinamen besser weglässt.
|
Länge – bei modernen Dateisystemen kann rein theoretisch eine Länge von 256 bis teilweise 1024 Zeichen verwendet werden. Natürlich ist diese Länge immer abhängig vom Dateisystem. |
|
Sonderzeichen – als Sonderzeichen können Sie im Dateinamen . , – _ und % ohne Bedenken einsetzen. Die Verwendung von Leerzeichen und des Schrägstrichs / ist zwar auch erlaubt, aber kann Probleme verursachen – daher sei von einer Verwendung dieser Zeichen im Dateinamen abgeraten. Ebenso sieht dies mit einigen anderen Sonderzeichen wie bspw. # oder * aus. Je nachdem, an welcher Position solche Sonderzeichen verwendet werden, könnten diese von der Shell falsch interpretiert werden. |
|
Dateierweiterung – hier ist alles erlaubt, Sie können die wildesten Erweiterungsorgien feiern. Trotzdem sollten Sie nicht die üblichen Verdächtigen hierzu missbrauchen. Es macht recht wenig Sinn, eine reine Textdatei mit der Endung ».mp3« oder ein binäres Programm mit ».exe« zu versehen ;-). |
|
Nationales – gerade die vielen nationalen Sonderzeichen im Dateinamen, wie hierzulande Umlaute, können beim Wechsel auf andere Systeme erhebliche Probleme bereiten. Deshalb sollte man wenn möglich besser die Finger davon lassen. |
1.7.5 Gerätenamen
Bisher haben Sie die Dateitypen der normalen Dateien und der (Datei-)Verzeichnisse kennen gelernt. Es gibt allerdings noch eine dritte Dateiart, die Gerätedateien (auch Spezialdateien genannt). Mit den Gerätedateien (device files) können Programme unter Verwendung des Kernels auf die Hardwarekomponenten im System zugreifen. Natürlich sind das keine Dateien, wie Sie sie eigentlich kennen, aber aus der Sicht der Programme werden diese wie gewöhnliche Dateien behandelt. Man kann daraus lesen, etwas dorthin schreiben oder sie auch für spezielle Zwecke benutzen – eben alles, was Sie mit einer Datei auch machen können (und noch mehr). Gerätedateien bieten Ihnen eine einfache Methode, um auf Systemressourcen wie bspw. den Bildschirm, den Drucker, das Diskettenlaufwerk oder die Soundkarte zuzugreifen, ohne dass Sie wissen müssen, wie dieses Gerät eigentlich funktioniert.
Auf Linux-UNIX-Systemen finden Sie die Gerätedateien fast immer im Verzeichnis /dev. Hier finden Sie zu jedem Gerät einen entsprechenden Eintrag. /dev/ttyS0 steht bspw. für die erste serielle Schnittstelle, /dev/hda1 ist die erste Partition der ersten IDE-Festplatte. Neben echten Geräten in der Gerätedatei gibt es auch so genannte Pseudo-Gerätedateien im /dev-Verzeichnis, wie beispielsweise den bekanntesten Vertreter /dev/null, das häufig als Datengrab verwendet wird (dazu später mehr).
Beim Verwenden von Gerätedateinamen in Ihren Shellscripts sollten Sie allerdings Vorsicht walten lassen und wenn möglich diese Eingabe dem Anwender überlassen (etwa mit einer Konfigurationsdatei). Der Grund ist hierbei, dass viele Linux-UNIX-Systeme unterschiedliche Gerätenamen verwenden.
Hinweis Natürlich ließe sich hierzu noch viel mehr schreiben – daher sei bei Bedarf mein Buch »Linux-Unix-Programmierung« empfohlen, das Sie auch online auf der Webseite www.pronix.de vorfinden. Hier werden die Gerätedateien in einem extra Kapitel etwas umfangreicher behandelt.
|
1.7.6 Dateiattribute
Nachdem Sie jetzt wissen, dass Linux/UNIX zwischen mehreren Dateiarten, insgesamt sechs, unterscheidet – nicht erwähnt wurden hierbei die Sockets, Pipes (named Pipes und FIFOs) und die Links (Softlinks bzw. Hardlinks) –, sollten Sie sich auf jeden Fall noch mit den Dateiattributen auseinander setzen. Gerade als angehender oder bereits leibhaftiger Administrator hat man häufig mit unautorisierten Zugriffen auf bestimmte Dateien, Verzeichnisse oder Gerätedateien zu tun. Auch in Ihren Shellscripts werden Sie das eine oder andere Mal die Dateiattribute auswerten müssen und entsprechend darauf reagieren wollen.
Am einfachsten erhalten Sie solche Informationen mit dem Befehl ls und der Option –l (für long). So gelangen Sie an eine recht üppige Zahl von Informationen zu den einzelnen Dateien und Verzeichnissen.
you@host > ls -l
-rw-r--r-- 1 you users 9689 2003–12–04 15:53 datei.dat
Hinweis Beachten Sie, dass die Ausgabe unter verschiedenen Betriebssystemen abweichen kann.
|
Hier nun zu den einzelnen Bedeutungen der Ausgabe von ls –l, aufgelistet von links nach rechts.
Dateiart (Dateityp)
Ganz links, beim ersten Zeichen (hier befindet sich ein Minuszeichen –) wird die Dateiart angegeben. Folgende Angaben können sich hier befinden (siehe Tabelle 1.2).
Tabelle 1.2
Mögliche Angaben für die Dateiart (Dateityp)
Zeichen
|
Bedeutung (Dateiart)
|
–
|
Normale Datei
|
d
|
Verzeichnis (d = directory)
|
p
|
Named Pipe; steht für eine Art Pufferungsdatei, eine Pipe-Datei.
|
c
|
(c = character oriented) steht für eine zeichenorientierte Gerätedatei.
|
b
|
(b = block oriented) steht für eine blockorientierte Gerätedatei.
|
s
|
(s = socket) steht für ein Socket (genauer einen UNIX-Domainsocket).
|
l
|
Symbolische Links
|
Zugriffsrechte
Die nächsten neun Zeichen, die Zugriffsrechte, sind in drei Dreiergruppen (rwx) aufgeteilt, von links nach rechts: Eigentümer, Gruppe und allen anderen. In Tabelle 1.3 finden Sie die einzelnen Bedeutungen.
Tabelle 1.3
Zugriffsrechte des Eigentümers, der Gruppe und aller anderen
Darstellung in ls
|
Bedeutung
|
[r––––––––]
|
read (user; Leserecht für Eigentümer)
|
[–w–––––––]
|
write (user; Schreibrecht für Eigentümer)
|
[––x––––––]
|
execute (user; Ausführrecht für Eigentümer)
|
[rwx––––––]
|
read, write, execute (user; Lese-, Schreib-, Ausführungsrecht für Eigentümer)
|
[–––r–––––]
|
read (group; Leserecht für Gruppe)
|
[––––w––––]
|
write (group; Schreibrecht für Gruppe)
|
[–––––x–––]
|
execute (group; Ausführungsrecht für Gruppe)
|
[–––rwx–––]
|
read, write, execute (group; Lese-, Schreib-, Ausführungsrecht für Gruppe)
|
[––––––r––]
|
read (other; Leserecht für alle anderen Benutzer)
|
[–––––––w–]
|
write (other; Schreibrecht für alle anderen Benutzer)
|
[––––––––x]
|
execute (other; Ausführungsrecht für alle anderen Benutzer)
|
[––––––rwx]
|
read, write, execute (other; Lese-, Schreib-, Ausführungsrecht für alle anderen Benutzer)
|
Sind bspw. die Rechte rw–r––r–– für eine Datei gesetzt, so bedeutet dies, dass der Eigentümer (rw–) der Datei diese sowohl lesen (r) als auch beschreiben (w) darf, nicht aber ausführen (hierzu fehlt ein x). Die Mitglieder in der Gruppe (r––) und alle anderen (r––) hingegen dürfen diese Datei nur lesen.
Der Rest
Als Nächstes finden Sie die Verweise auf die Datei. Damit ist die Anzahl der Links (Referenzen) gemeint, die für diese Datei existieren. In diesem Fall gibt es keine Verweise auf die Datei, da hier die »1« steht. Jetzt kommt der Benutzername des Dateibesitzers (hier »you«), gefolgt vom Namen der Gruppe (hier »users«), welcher vom Eigentümer der Datei festgelegt wird. Die nächsten Werte entsprechen der Länge der Datei in Bytes (hier 9689 Bytes) und dem Datum der letzten Änderung der Datei mitsamt Uhrzeit (2003–12–04 15:53). Am Ende finden Sie den Namen der Datei wieder (hier datei.dat).
Hinweis Trotz dieser kleinen Einführung konnten viele grundlegende Dinge von Linux/UNIX nicht behandelt werden. Sollten Sie mit diesem Buch tatsächlich Ihre ersten Erfahrungen mit Linux/UNIX sammeln, so wäre die Hinzuziehung zusätzlicher Literatur sinnvoll.
|
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.
|