Saya perlu symlink yang menyelesaikan relatif terhadap direktori itu ditempatkan. Perintah apa yang digunakan untuk membuat hal seperti itu?
linux
command-line
symbolic-link
Jeremiah Rose
sumber
sumber
ln -s ../some/other/file /some/dir/linkname
ln -s ./file linkname
karena.
merujuk ke direktori saat ini.ln -s somedir/original-dir link-name
tidak bekerja. Itu membuat direktori dengan namalink-name
yang berisi tautan yang tidak valid. Perintah yang berfungsi adalahln -sr somedir/original-dir link-name
Versi terbaru dari GNU coreutils ln (> = 8.16) mendukung opsi
--relative
(atau-r
) yang berarti Anda dapat memanggilln -s
dengan jalur 2 absolut atau relatif (terkait dengan direktori kerja Anda) dan akan mengetahui jalur relatif yang benar yang harus ditulis ke symlink.sumber
-r
pilihan adalah membantu ketika Anda cross-compiling dan perlu path absolut pada membangun host tetapi path relatif pada target.ln -r -s targetfile myalias
dapat membantu Anda memperbaikinyaYang perlu Anda pahami pada dasarnya adalah bahwa symlink lebih seperti file teks daripada seperti entri direktori yang berisi file. Jadi jika kamu
maka itu sangat mirip dengan
Sistem tidak peduli jika
/file/../poo
ada sama sekali, itu hanya sepotong teks yang dimasukkan ke dalam symlink. Ketika sesuatu mencoba membuka symlink, saat itulah sistem mencoba untuk menyelesaikannya.Jika Anda menggunakan shell dengan penyelesaian nama file, fitur ini dapat membingungkan hal-hal dengan memungkinkan Anda untuk melengkapi nama file relatif ke direktori kerja Anda saat ini, bahkan jika Anda kemudian menggunakannya sebagai target symlink di sepenuhnya direktori lain.
sumber
<
mengubah bagaimana sistem dialokasikan memori. Tentu saja tidak ada file yang disebutkan<
dalam direktori itu, itu hanya cara murah untuk membuat hal seperti file yang sangat kecil yang memiliki beberapa properti menarik di atas file teks biasa pada platform tertentu.Tautan relatif sulit bagi saya di OS X, yaitu
keduanya tidak berfungsi (ada sesuatu yang dibuat tetapi itu bukan direktori). Saya membuat tautan yang diinginkan dengan menggunakan jalur absolut .
sumber
ln -s Dropbox/git/codyhess/bin ~/bin
Saya hanya ingin menjelaskan lebih lanjut cara membuat symlink menggunakan jalur relatif (dengan contoh terperinci).
Seperti yang disebutkan Ignacio Vazquez-Abrams dalam komentar, Anda harus menentukan lokasi file / folder relatif ke tempat symlink akan dibuat, bukan relatif terhadap direktori Anda saat ini.
CONTOH
Anda berada di
/usr/share/nginx/html/_src/learn
Anda akan membuat symlinkcoding
di/usr/share/nginx/html
Buat symlink relatif (teori):
Buat symlink relatif aktual:
Informasi lebih lanjut (contoh yang sama)
sumber