Symlinks ve Göreli Yollarla Gariplik


1

Birisi lütfen bunu bana açıklayabilir mi? Bunun nasıl kurulduğunu ve neden böyle davrandığını anlamakta güçlük çekiyorum.

Nerede görmek istedim zshedilir aslında kullandığım bir makinede yüklü. Bu yüzden lssembolik bağlantının nerede olduğunu buldum.

$ ls -l /bin/zsh
lrwxrwxrwx   1 root     root          14 Dec  1  2011 /bin/zsh -> ../sfw/bin/zsh*

Bunu gördüğümde, "Tamam, bağlantı linki göreceli bir yol kullanıyor. Önemli değil." Diye düşündüm.

Ancak cddoğrudan göreceli yolun işaret ettiği yerde ne olması gerektiğine doğrudan çalışırsam , şunu alıyorum:

$ cd /bin/sfw/bin
cd: no such file or directory: /bin/sfw/bin

Ancak, eğer özellikle yazın bu

$ cd ../sfw/bin

/binçalışma dizini ne zaman , o zaman işe yarıyor. Ve sonra şunu da anladım:

$ pwd
/usr/sfw/bin

Burada neler oluyor?

Yanıtlar:


2

/binMuhtemelen /usr/binsisteminizde bir bağlantı . Bu doğruysa, o zaman:

/bin/../sfw/bin/zsh

aslında aynı olurdu

/usr/bin/../sfw/bin/zsh

bu azalır

/usr/sfw/bin/zsh

Bu zshaslında yaşadığı yer. Ne denedin ki, hangisiydi

/bin/sfw/bin

gerçekte sistemde görebileceğiniz hiçbir yola karşılık gelmez. Göreli bir yol çözmek için doğru bir şekilde ( ../sfw/bin/zshyani göreceli yolu için baz (oluşturur mutlak yol yol verilen) /bin) olarak bir araya birleştirmek için /bin/+ ../sfw/bin/zsh/bin/../sfw/bin/zsh.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.