Home · Kontakt · Impressum
contents index previous up next
Next: 3.2.2 Erstellen und Löschen Up: 3.2 Erste Befehle Previous: 3.2 Erste Befehle

Unterabschnitte


3.2.1 Anzeigen des Verzeichnisinhalts

Was ist denn in diesem Heimatverzeichnis an Dateien vorhanden? Auch hierfür müssen Sie einen Befehl eingeben. Das Kommando ls zeigt Ihnen den Inhalt des Verzeichnis an.

ole@defiant:~> ls
Documents  public_html

Zwei Dateien liegen bei einem frisch eingerichteten Benutzer bei SuSE 8.0 im Heimatverzeichnis. Haben Sie auf der graphischen Oberfläche schon gearbeitet, so können hier noch mehr Dateien liegen.

3.2.1.1 Ausführliche Informationen

Die Informationen, die der Befehl ls gibt, sind sehr spärlich. Wir können aber dem Kommando ls sagen, daß es mehr Informationen ausgeben soll. Dies erfolgt über eine Option. Andere Namen dafür sind Schalter oder Attribut. Die Option für eine ausführliche Ansicht heißt -l. Das Minus vor dem Buchstaben l (wie ``long'') zeigt an, daß es sich um eine Option handelt.

ole@defiant:~> ls -l
insgesamt 8
drwxr-xr-x    2 ole    users        4096 Sep 25 12:25 Documents
drwxr-xr-x    2 ole    users        4096 Sep 25 12:25 public_html

Wenn Sie sich nun die Ausgabe anschauen, dann wird Ihnen sicherlich nicht die Bedeutung jeder dieser Spalten klar sein. Schauen wir uns dazu die Ausgabe noch einmal genauer an.

Typ und Rechte Links Besitzer Gruppe Größe Änderungsdatum Name
drwxr-xr-x 2 ole users 4096 Sep 25 12:25 Documents
drwxr-xr-x 2 ole users 4096 Sep 25 12:25 public_html

3.2.1.1.1 Typ und Rechte

Die in dieser Spalte stehende Kombination aus Buchstaben und Minus-Zeichen gibt Auskunft über den Dateityp und die Rechte, die für diese Datei gelten. Das erste Zeichen steht für den Dateityp. Das d in dem Beispiel steht für ein Verzeichnis. Würde ein Minuszeichen dort stehen, dann handelt es sich um eine normale Datei. Die Tabelle unten zeigt ihnen die anderen möglichen Typen. Auf die Bedeutung der einzelnen Typen möchte ich hier nicht eingehen.

Zeichen Bedeutung
- gewöhnliche Datei
d Verzeichnis (directory)
c zeichenorientierte Gerätedatei (character device)
b blockorientierte Gerätedatei (block device)
p FIFO-Pipeline(named pipe)
l symbolischer Link (symbolic link)
s Netzwerksocket (socket)

Die restlichen neun Zeichen geben in Gruppen zu jeweils drei Zeichen die Rechte auf die Datei an. Dabei steht das r für ``Lesen'' (read), das w für ``Schreiben'' (write) und das x für ``Ausführen'' (execute). Die ersten drei Zeichen geben die Rechte für den Besitzer der Datei an. Die zweiten drei Zeichen geben Auskunft über die Rechte der Gruppe, die dieser Datei zugeordnet wurde und die letzten drei Zeichen geben dann an, was der Rest der Welt mit dieser Datei darf.

3.2.1.1.2 Links

Im Gegensatz zu Windows kann eine Datei bei Linux mehrere Namen besitzen. Bei Verzeichnissen sind das mindestens zwei. Einmal der Name selbst und dann im Verzeichnis die Datei mit dem Namen ``.''. Eine Datei wird erst dann gelöscht, wenn auch der letzte Name, bzw. Hardlink, wie die Dateinamen auch genannt werden, entfernt wurde.

3.2.1.1.3 Besitzer

Hier wird der Besitzer der Datei angegeben. Wenn ein Benutzer eine neue Datei anlegt, wird er automatisch der Besitzer der Datei.

3.2.1.1.4 Gruppe

Jeder Datei wird eine Gruppe von Benutzern zugeteilt, die extra Rechte bekommen können. Ist ein Benutzer in dieser Gruppe, so gelten die Rechte der Gruppe für ihn, wenn er nicht gerade der Besitzer der Datei ist.

3.2.1.1.5 Größe

Die Größe der Datei wird in dieser Spalte in Byte angegeben.

3.2.1.1.6 Änderungsdatum

Normalerweise zeigt der Befehl ls an dieser Stelle das Datum der letzten Änderung der Datei an. Durch bestimmte Attribute kann der Befehl auch dazu bewegt werden das Datum der Erstellung oder das Datum des letzten Zugriffs anzuzeigen.

3.2.1.1.7 Name

Hier steht der Name der Datei. Die Sortierung der aufgelisteten Dateien erfolgt lexikalisch. Beachten Sie dabei, daß die Shell zwischen Groß- und Kleinschreibung unterscheidet und die Großbuchstaben vor den Kleinbuchstaben einsortiert werden.

3.2.1.2 Versteckte Dateien

Wie Sie oben gesehen haben, enthält das Heimatverzeichnis scheinbar nur zwei Dateien bzw. Verzeichnisse. Das dem nicht so ist, zeigt der Einsatz der Option -a.

ole@defiant:~> ls
Documents  public_html
ole@defiant:~> ls -a
.           .Xresources    .emacs   .profile   .xim               .xtalkrc
..          .bash_history  .exrc    .urlview   .xinitrc           Documents
.Xdefaults  .bashrc        .kermrc  .xcoralrc  .xserverrc.secure  public_html
.Xmodmap    .dvipsrc       .muttrc  .xemacs    .xsession

Anstatt zwei werden nun 23 Dateien angezeigt. Diese neu angezeigten Dateien bezeichnet man als Versteckte Dateien. Sie werden bei normalen Dateioperationen nicht berücksichtigt. Diese versteckten Dateien finden Sie auch in anderen Betriebssystemen. Dort wird durch ein Attribut der Datei angezeigt, ob eine Datei versteckt ist oder nicht. Wenn Sie sich die Liste der Dateien im obigen Beispiel noch einmal genau anschauen, finden Sie recht schnell die Gemeinsamkeit der versteckten Dateien heraus.

Dateien, deren Name mit einem Punkt beginnt, bezeichnet man als Versteckte Dateien. Sie werden bei normalen Dateioperationen nicht berücksichtigt.

Eine besondere Bedeutung haben die Dateien `.' und `..'. Sie sind Bestandteil des Verzeichnisses. Der Name `.' ist ein weiterer Link für das Verzeichnis in dem sich diese Datei befindet. Dagegen verweist der Name .. auf das Elternverzeichnis des aktuellen Verzeichnis. Wenn Sie das obige Beispiel als Grundlage nehmen, so ist . gleichzusetzen mit /home/ole und .. mit /home.

Zwei Optionen können auch miteinander kombiniert werden. Eine ausführliche Liste aller Dateien bekommen Sie durch die Kombination der Optionen -l und -a.

ole@defiant:~> ls -a -l
insgesamt 92
drwxr-xr-x    5 ole    users        4096 Sep 25 12:25 .
drwxr-xr-x    9 root   root         4096 Sep 25 12:25 ..
-rw-r--r--    1 ole    users        5742 Sep 25 12:25 .Xdefaults
-rw-r--r--    1 ole    users        1305 Sep 25 12:25 .Xmodmap
lrwxrwxrwx    1 root   root           10 Sep 25 12:25 .Xresources -> .Xdefaults
-rw-------    1 ole    users           0 Sep 25 12:25 .bash_history
-rw-r--r--    1 ole    users        1691 Sep 25 12:25 .bashrc
-rw-r--r--    1 ole    users         208 Sep 25 12:25 .dvipsrc
-rw-r--r--    1 ole    users        1637 Sep 25 12:25 .emacs
-rw-r--r--    1 ole    users        1124 Sep 25 12:25 .exrc
-rw-r--r--    1 ole    users         164 Sep 25 12:25 .kermrc
-rw-r--r--    1 ole    users        2286 Sep 25 12:25 .muttrc
-rw-r--r--    1 ole    users         952 Sep 25 12:25 .profile
-rw-r--r--    1 ole    users         311 Sep 25 12:25 .urlview
-rw-r--r--    1 ole    users        7913 Sep 25 12:25 .xcoralrc
drwxr-xr-x    2 ole    users        4096 Sep 25 12:25 .xemacs
-rw-r--r--    1 ole    users        3407 Sep 25 12:25 .xim
-rwxr-xr-x    1 ole    users        2324 Sep 25 12:25 .xinitrc
-rw-r--r--    1 ole    users        1101 Sep 25 12:25 .xserverrc.secure
-rwxr-xr-x    1 ole    users        2804 Sep 25 12:25 .xsession
-rw-r--r--    1 ole    users         119 Sep 25 12:25 .xtalkrc
drwxr-xr-x    2 ole    users        4096 Sep 25 12:25 Documents
drwxr-xr-x    2 ole    users        4096 Sep 25 12:25 public_html

Wer es kürzer mag, kann die Buchstaben auch zusammenziehen. Dabei ist es völlig egal, ob Sie -al oder -la schreiben.

ole@defiant:~> ls -al
insgesamt 92
drwxr-xr-x    5 ole    users        4096 Sep 25 12:25 .
drwxr-xr-x    9 root   root         4096 Sep 25 12:25 ..
-rw-r--r--    1 ole    users        5742 Sep 25 12:25 .Xdefaults
-rw-r--r--    1 ole    users        1305 Sep 25 12:25 .Xmodmap
...

3.2.1.3 Parameter und Jokerzeichen

Der ls Befehl kann nicht nur den Inhalt des aktuellen Verzeichnis anzeigen. Wenn Sie z. B. den Inhalt des Verzeichnis Documents sehen wollen, geben Sie folgendes an.

ole@defiant:~> ls -al Documents
insgesamt 12
drwxr-xr-x    2 ole    users        4096 Sep 25 12:25 .
drwxr-xr-x    5 ole    users        4096 Sep 25 12:25 ..
-rw-r--r--    1 ole    users        1106 Sep 25 12:25 .directory

Der Name des Verzeichnis Documents bezeichnet man als Parameter des Befehls ls. Die Angabe des Verzeichnisnamens erfolgte hier relativ zum Arbeitsverzeichnis. Um das Elternverzeichnis des Arbeitsverzeichnis anzuzeigen können wir den Dateinamen .. verwenden.

ole@defiant:~> ls ..
conny  lost+found  ole  perl  vnc  walter  willi

Um zur Wurzel zu gelangen müssen Sie sogar noch ein Verzeichnis weiter im Verzeichnisbaum hochgehen.

ole@defiant:~> ls ../..
bin   cdrom  dvd  floppy  lib         media  opt     proc  sbin  usr  windows
boot  dev    etc  home    lost+found  mnt    pcmcia  root  tmp   var

Sie können die Verzeichnisse auch direkt adressieren, wenn Sie den Verzeichnisnamen mit einem Slash / beginnen lassen. Jetzt wird nämlich nicht vom aktuellen Arbeitsverzeichnis aus gesehen, sondern von der Dateiwurzel.

ole@defiant:~> ls /
bin   cdrom  dvd  floppy  lib         media  opt     proc  sbin  usr  windows
boot  dev    etc  home    lost+found  mnt    pcmcia  root  tmp   var
ole@defiant:~> ls /home
conny  lost+found  ole  perl  vnc  walter  willi
ole@defiant:~> ls /home/ole
Documents  public_html

Neben den Verzeichnissen können Sie auch eine Auswahl unter den Dateien treffen, die Sie sich anzeigen lassen wollen. Hilfreich sind dabei die sogenannten Jokerzeichen oder Wildcards.

Dazu schauen Sie sich doch mal das Verzeichnis /etc an, in dem sich die Konfigurationsdateien des Linux-Systems befinden.

ole@defiant:~> ls /etc
DIR_COLORS            inittab               php.ini
HOSTNAME              inputrc               pnm2ppa.conf
Muttrc                insserv.conf          powerd.conf
SuSE-release          ioctl.save            ppp
...

Es werden sehr viele Dateien angezeigt. Sie können die Anzahl der angezeigten Dateien verringern, wenn Sie andere Kriterien für die Auswahl stellen. So könnten Sie sich nur die Dateien anzeigen lassen, die mit dem Buchstaben ``a'' beginnen.

ole@defiant:~> ls /etc/a*
/etc/a2ps-site.cfg  /etc/aliases       /etc/at.deny
/etc/a2ps.cfg       /etc/aliases.db    /etc/auto.master
/etc/adjtime        /etc/asound.state  /etc/auto.misc

/etc/alsa.d:
emu10k1  sbawe

Der Asterisk ``*'' steht für eine beliebige Anzahl beliebiger Zeichen und das Fragezeichen ``?'' steht für ein beliebiges Zeichen. Auffällig an dem Beispiel oben ist, daß nicht nur der Name des Verzeichnis angegeben wird, sondern auch der Inhalt. Dies ist eine der Eigenschaften von ls. Ist ein Verzeichnis ein Ziel, dann wird der Inhalt des Verzeichnis angezeigt. Mit der Option -d kann dies unterbunden werden.

ole@defiant:~> ls -d /etc/a*
/etc/a2ps-site.cfg  /etc/aliases     /etc/asound.state  /etc/auto.misc
/etc/a2ps.cfg       /etc/aliases.db  /etc/at.deny
/etc/adjtime        /etc/alsa.d      /etc/auto.master
ole@defiant:~> ls -ld
drwxr-xr-x    5 ole    users        4096 Sep 25 12:25 .

Dies wirkt, wie Sie oben sehen, auch beim aktuellen Arbeitsverzeichnis. Es wird nur die Information über das aktuelle Verzeichnis angezeigt und nicht über die enthaltenen Dateien.


3.2.1.4 Inodes

Wie schon oben erwähnt, kann eine Datei mehrere Namen (Links) besitzen. Dies wird dadurch ermöglicht, daß die Benennung der Daten im System über eine sogenannte Inode-Nummer erfolgt. Als Inode bezeichnet man den Platz, an dem die Informationen über die Datei gespeichert werden. Das Betriebssystem merkt sich also nicht den Namen der Datei sondern die Inode-Nummer. Die Namen sind nur für uns ``dumme'' Benutzer, die sich mehr unter dem Namen ``amaretti.rezept.txt'' vorstellen können, als unter einer Inode-Nummer ``45312''. Die Verzeichnisse sind im Prinzip nichts anderes als Tabellen, die den Zusammenhang zwischen Dateinamen und der Inode-Nummer herstellen.

Die Inode-Nummer können sie sich mit ls unter Verwendung der Option -i anzeigen lassen.

ole@defiant:~> ls -i
   1095 Documents     1097 public_html
ole@defiant:~> ls -i /home
   1074 conny         31873 ole    112382 vnc      286867 willi
     11 lost+found   223209 perl   207194 walter


3.2.1.5 Hilfe

Es gibt noch viel mehr Optionen für ls, als die ich Ihnen gerade vorgestellt habe. Um eine kurze Übersicht über die Funktion und vorhandenen Optionen eines Befehls zu erhalten, können Sie den Shellbefehl mit der Option --help aufrufen. Mit dem doppelten Minuszeichen wird bei der letzten Option dem Befehl signalisiert, daß es sich nicht um die einzelnen Optionen -h, -e, -l und -p handelt, sondern um eine Option mit dem langen Namen help.

ole@defiant:~> ls --help
Benutzung: ls [OPTION]... [DATEI]...
Auflistung von Informationen der DATEIen (Standardvorgabe ist das momentane
Verzeichnis). Alphabetisches Sortieren der Einträge, falls weder -cftuSUX
noch --sort angegeben.

  -a, --all                  Einträge, die mit . beginnen, nicht verstecken.
  -A, --almost-all           Keine Anzeige implizierter . und ..
  -b, --escape               Ausgabe octaler Repräsentation für nicht-druck-
...

Natürlich ist der Hilfetext etwas länger als die Konsolenhöhe. Auf der Konsole können Sie ohne Probleme scrollen (wenn es nicht mehr als 1000 Zeilen sind). Damit die Anzeige nicht durchscrollt, sondern seitenweise anzeigt, können Sie einen sogenannten Pager benutzen. Ein solcher Pager ist der Befehl more. Sie leiten einfach die Ausgabe des Befehls mit dem Zeichen | an den Pager weiter.

ole@defiant:~> ls --help | more
ole@defiant:~> ls /etc | more
ole@defiant:~> ls -l / | more
ole@defiant:~> ls /dev | more

Mit der Leertaste blättern Sie die Seiten des Pagers more durch. Erreicht der Pager das Ende des Textes bzw. der Ausgabe, so beendet er sich automatisch.

3.2.1.6 Zusammenfassung

Der Befehl ls zeigt die in den Verzeichnissen enthaltenen Dateien an. Mit Optionen kann man die Art und Weise beeinflussen, wie Befehle funktionieren. Die Parameter geben an, womit gearbeitet werden soll.

Die Optionen -aldi sollten sie sich für den Befehl ls merken.

-a Zeigt auch die versteckten Dateien an (-all)
-l Zeigt ausführliche Liste zu den Dateien an (long)
-d Zeigt Verzeichnis anstatt Inhalt an (-directory )
-i Zeigt Inodes an (-inode)
--help Zeigt die Hilfe für den Befehl an


contents index previous up next
Next: 3.2.2 Erstellen und Löschen Up: 3.2 Erste Befehle Previous: 3.2 Erste Befehle
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang