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