Buat tautan simbolik direktori di Ubuntu [ditutup]


247

Di bawah ini adalah kode saya untuk membuat symlink direktori:

sudo ln -s /usr/local/nginx/conf/ /etc/nginx

Saya sudah membuat direktori /etc/nginx. Saya hanya ingin isi direktori sumber ( /usr/local/nginx/conf/) berada di isi direktori target ( /etc/nginx). Tetapi ketika saya menjalankan kode, /etc/nginxberisi direktori yang disebut conf, bukan isiconf . Direktori itu berisi konten yang saya inginkan, tetapi di lokasi yang salah.

Mengapa ia meletakkan direktori di folder target, alih-alih hanya meletakkan konten direktori di folder target?


Anda juga dapat menggunakan File (browser file default). Klik kanan pada folder yang ingin Anda tautkan> opsi "Buat Tautan". Ini akan membuat folder tertaut yang dapat Anda pindahkan dan ganti namanya sesuai kebutuhan.
John Linhart

4
Gunakan bind mountfitur linux . contoh
gkiko

Jawaban:



30

Itulah yang lndidokumentasikan untuk dilakukan ketika target sudah ada dan merupakan direktori. Jika Anda ingin /etc/nginxuntuk menjadi symlink daripada mengandung symlink, Anda sebaiknya tidak membuat sebagai direktori pertama!


51
Jawaban Anda hanya masuk akal dalam konteks pembaca yang sudah mengetahui jawabannya. Tidak ada gunanya bagi siapa pun yang mengajukan pertanyaan
Ricardo Saporta

1
Dapatkah saya benar-benar membuat symlink ke root perangkat USB yang terpasang (sehingga saya tidak dapat menghapus folder ini terlebih dahulu)?
Grigory Kornilov

1
@GrigoryKornilov Anda dapat membuat symlink ke apa pun yang Anda inginkan, termasuk sesuatu yang tidak ada. Pertanyaan ini bukan tentang tempat symlink dibuat (bukan ke mana ia menunjuk ke). Pathname tertentu dalam sistem file adalah file biasa atau direktori atau symlink (atau soket atau pipa atau perangkat). Tidak boleh lebih dari satu hal pada saat yang bersamaan (yaitu Anda tidak dapat memiliki lebih dari satu file berbeda dengan nama yang persis sama).
Celada

10

Dalam skrip berguna sesuatu seperti ini:

if [ ! -d /etc/nginx ]; then ln -s /usr/local/nginx/conf/ /etc/nginx > /dev/null 2>&1; fi

itu mencegah sebelum membuat kembali symlink loop "buruk" setelah menjalankan kembali skrip


1
Luar biasa! Ini solusi tepat. tidak perlu membuat direktori jika sudah ada. Ini adalah tweak yang sangat bagus untuk tautan keras dan menenggelamkannya di lubang hitam (/ dev / null)
Cosmo Arun
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.