Membuat symlink dari satu folder ke folder lain dengan nama yang berbeda?

81

Saya memiliki dua folder, salah satunya adalah root server web saya. Saya ingin menautkannya ke folder proyek saya sehingga saya bisa selalu memperbaharui informasi dengan Git.

Jika saya mencoba melakukan ini:

ln -s /home/user/project  /var/www/html

Sistem membuat folder yang disebut proyek dalam folder html, dan menautkannya. Apakah ada cara untuk menautkannya sehingga direktori 'html' menunjuk ke isi proyek ? Apakah mereka harus memiliki nama yang sama?

Catatan : Saya juga perlu menautkan beberapa file tersembunyi. Bisakah saya menggunakan ini ln?

pengguna991710
sumber

Jawaban:

109

Dari man ln:

Secara default, setiap tujuan (nama tautan baru) seharusnya belum ada.

Karena Anda sudah memiliki direktori yang bernama html, tautan tersebut akan dibuat di dalam /var/www/htmlmemiliki nama target yaitu project.

Jika Anda ingin memiliki symlink yang /var/www/htmlmenunjuk ke /home/user/projectmaka Anda tidak harus memiliki direktori yang htmlada sebelumnya. Jadi, Anda seharusnya hanya memiliki /var/wwwdan kemudian menjalankan yang berikut ini akan membuat symlink yang diinginkan (jangan lakukan ini kecuali Anda yakin):

ln -s /home/user/project /var/www/html

Berikut ini sebuah contoh:

$ pwd
/home/user/test/askubuntu

$ ls -l
total 4
drwxrwxr-x 2 user user 4096 Mar 25 00:16 foo

$ ln -s /home/user/test/bar /home/user/test/askubuntu/foo

$ ls -l
total 4
drwxrwxr-x 2 user user 4096 Mar 25 00:17 foo

$ cd foo/
$ ls -l
total 0
lrwxrwxrwx 1 user user 25 Mar 25 00:17 bar -> /home/user/test/bar

$ cd ..
$ rm -r foo/

$ ls -l
total 0

$ ln -s /home/user/test/bar /home/user/test/askubuntu/foo

$ ls -l
total 0
lrwxrwxrwx 1 user user 25 Mar 25 00:18 foo -> /home/user/test/bar

Dan ya, Anda dapat membuat symlink file tersembunyi.

heemayl
sumber
13
Saya mencoba ini tetapi symlink yang dihasilkan adalah file dan bukan direktori
Alex
1
@Alex softlink muncul seperti file tetapi hasilnya adalah berperilaku seperti folder yang ditunjuk.
Chanoch
5
Juga perhatikan bahwa direktori sumber tidak boleh jalur relatif harus absolut sehingga ln -s ./ /var/www/htmltidak akan berfungsi
Diego Andrés Díaz Espinoza
0

Pastikan direktori html tidak dibuat di bawah /var/www/.

Perintahnya adalah: ln -s -T /home/user/project /var/www/html

Jivak Dhadse
sumber