Saya memiliki symlink
~/link -> ~/a/really/long/path
Kapan saya melakukannya
cd ~/link
cd ..
itu membawaku ke
~
tapi saya ingin pergi ke
~/a/really/long
Apakah ada cara untuk melakukan ini?
Saya menggunakan bash.
bash
cd-command
Xodarap
sumber
sumber
cd ~/a/really/long/path
kemudiancd ..
menempatkan Anda~
pada saat ini? Saya tidak bisa mereproduksi itu.~/a/really/long/path
kemudian cd ke yang kemudian ke..
. Anda harus kembali lagi ~ (dengan asumsi di situlah Anda memulai).Jawaban:
Direktori track Bash (dan juga ksh, zsh, dan bahkan ash) berubah sehingga
cd /foo/bar && cd ..
selalu membawa Anda ke/foo
meskipunbar
ada symlink. Berikan-P
opsi untukcd
mengabaikan perubahan yang terlacak dan ikuti struktur direktori "fisik":Lihat
help cd
atauman builtins
untuk dokumentasi tentang bash builtincd
. Jika Anda benar-benar tidak menyukai fitur pelacakan direktori, Anda dapat mematikannya denganset -P
di bash (set -o no_chase_link
in zsh).sumber
-P
atau-o physical
sudah ditetapkan?Anda juga dapat menggunakan readlink untuk menemukan jalur fisik ke direktori ini, lalu pergi satu direktori lebih tinggi:
sumber
Salah satu metode yang bisa Anda gunakan adalah menggunakan alias alih-alih symlink untuk membawa Anda ke ~ / a / really / long / path. Itulah metode yang saya gunakan, sejak itu saya cukup mengetik perintah surat sederhana 1/2 / et cetera alih-alih cd symlink
sumber