Farklı isimlerle bir klasörden diğerine sembolik bağlantı oluşturma?


81

Biri web sunucusu köküm olan iki klasörüm var. Git'le ilgili her şeyi güncel tutabilmek için onu proje klasörüme bağlamak istiyorum.

Bunu yapmaya çalışırsam:

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

Sistem , html klasörü içerisinde project adlı bir klasör oluşturur ve buna bağlar. 'Html' dizini projenin içeriğine işaret edecek şekilde bağlamanın bir yolu var mı ? Aynı isimde mi olmak zorundalar?

Not : Birkaç gizli dosyayı da birbirine bağlamalıyım. Bunu kullanarak yapabilir miyim ln?

Yanıtlar:


109

Kimden man ln:

Varsayılan olarak, her hedef (yeni bağlantının adı) önceden bulunmamalıdır.

Önceden adlandırılmış bir dizininiz htmlolduğundan, link /var/www/html, hedefin yani adına sahip olacak şekilde yaratılacaktır project.

Eğer /var/www/htmlişaret eden bir bağlantıya sahip olmak istiyorsanız, önceden /home/user/projectdizinde bulunmamalısınız html. Yani, sadece sahip olmalı /var/wwwve sonra aşağıdakileri çalıştırmak istediğiniz bağlantıyı oluşturacaktır (emin olmadığınız sürece bunu yapmayın):

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

İşte bir örnek:

$ 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

Ve evet, gizli dosyaların sembolik linklerini oluşturabilirsiniz.


13
Bunu denedim ama sonuçta ortaya çıkan sembolik dosya bir
Alex

1
@Alex softlink bir dosya gibi görünür fakat sonuç işaret ettiği klasör gibi davranmasıdır.
Chanoch

5
Ayrıca kaynak dizinin göreceli yolun mutlaka olmaması gerektiğine dikkat edin, bu yüzden ln -s ./ /var/www/htmlişe yaramayacağına dikkat edin
Diego Andrés Díaz Espinoza

0

HTML dizininin altında oluşturulmadığından emin olun /var/www/.

Öyleyse komut: ln -s -T /home/user/project /var/www/html

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.