Rolf Leggewie <[EMAIL PROTECTED]> writes:
> Hm.  Warum aber wechselt dann "cd .." nach /usr/src/ und nicht nach
> /mnt/hdc1/src/?  

cd .. wird auf der Shell-ebene implementiert. Es wird so
interpretiert, das im aktuellen Pfad eine Ebene nach oben gegangen
wird. Wenn der aktuelle Pfad also /usr/src/linux ist, wird einfach das
letzte weggelassen. Das ist ja auch das, was man �blicherweise haben
will.

mit ls .. ist das was anderes. '..' ist n�mlich ein hard-link auf das
Parent-Verzeichnis, in diesem Fall also auf /mnt/hdc1/src. ls '..'
listet das Verzeichnis '..'. 

Letzteres Verhalten ist z.Bsp. dann *sehr* wichtig, wenn in dem
Verzeichnis weitere relative Links auftauchen. Beispiel:

  /usr/src/linux -> /mnt/hdc1/src/linux-1.2.3
  /mnt/hdc1/src/lionux-1.2.3/test -> ../../../hdc3/foo/bar/test

Eine Referenz auf /usr/src/linux/test referenziert dann
/mnt/hdc3/foo/bar/test. Wenn er die '..' allerdings relativ zum
aktuellen Pfad interpretieren w�rde, w�rde er versuchen auf
/foo/bar/test zuzugreifen, was es wahrscheinlich nicht
gibt. Stattdessen werden die '..' einfach als hardlink gelesen, das
funktioniert dann immer.

Bin mal �ber dieses Problem in einem meiner eigenen Skripte gestolpert
... hoffe, das ist so verst�ndlich und korrekt :-)

Stefan.

Attachment: pgpKQsl0nIxUt.pgp
Description: PGP signature

Antwort per Email an