Kami memiliki dua jalur. Yang pertama adalah direktori, kedua direktori atau file.
/a/b/c
dan /a/d/e.txt
Jalur relatif dari jalur pertama ke kedua adalah:
../../d/e.txt
Bagaimana cara menghitungnya di terminal Linux? Bagi mereka yang bertanya "Apa itu kasus penggunaan?" Orang bisa menggunakan ini — misalnya — untuk membuat banyak symlink relatif.
linux
command-line
shell
path
techraf
sumber
sumber
Jawaban:
Dengan asumsi GNU coreutils:
Untuk symlink,
ln
baru-baru ini mempelajari--relative
opsi.Untuk yang lainnya,
realpath
mendukung opsi--relative-to=
dan--relative-base=
.sumber
Bagi saya, jawaban ini (yang menggunakan oneliner python) berfungsi sempurna.
Diuji berhasil di linux (Kubuntu 14.04) dan di Mac OSX, perlu Python 2.6.
sumber
Untuk tidak bergantung pada
realpath
yang tidak tersedia secara konsisten dan meminimalkan ketergantungan, saya datang dengan ini (menggunakan sedikit bantuan dari jawaban ini ):Menumbuhkan subkulit untuk menemukan bagian umum dari kedua jalur. Mungkin Anda menyukainya - bekerja untuk saya.
sumber