mevcut dizine symlink


12

Bağlamak için uygun bir yolu var mı /home/user/app/publiciçin /home/user/public_htmlhedef zaten var olduğu gerçeğini göz önünde bulundurarak,?

Eğer yaparsam ln -s /home/user/app/public /home/user/public_html, sonunda olur /home/user/public_html/public.

Sanırım eylemi tersine çevirmek de mümkün olurdu ln -s /home/user/public_html /home/user/app/public, ancak /home/user/app/public/public_htmlsonuç olarak nasıl önleneceğinden emin değilim .

Yanıtlar:


13

Lemme sorununuzu doğru şekilde anlıyor

Kaynağınız /home/user/public_htmlve sanırım orada dosyalar var. Ve bu dizine doğrudan bağlantı yapmak istiyorsunuz /home/user/app/public. Bu şekilde, böyle bir şey yapabilir ls /home/user/app/publicve üzerinde bulunan dosyaları görebilirsiniz /home/user/public_html.

Bu doğruysa, kaynağınız /home/user/public_htmlve hedef doğrudur /home/user/app/public. Doğru komut şudur:

ln -s /home/user/public_html /home/user/app/public

/home/user/app/publicKomutu girmek için geçerli bir dizin veya dosya olmadığından emin olun .


3
Bu eski bir şey, ancak kullanıcı tam olarak tarif ettiğiniz şeyi nasıl yapacağınızı sordu, ancak, / home / user / app / public'in zaten mevcut olması durumunda (tam olarak sizin Cevap). Bu nedenle, IMHO, kullanıcı zaten var olan bir hedefle nasıl başa çıkılacağını tam olarak bilmek istediğinden orijinal soruya cevap vermez (yani, symlink'i oluşturmadan önce silmeyle nasıl geçersiz kılınır).
jotadepicas

Deneyin -T seçeneği :)
Milkmannetje

2

Sorunuzu doğru anlarsam, mevcut hedeflerle nasıl başa çıkacağınızı bilmek istersiniz. Bu durumda, iki olası senaryo vardır.

1) mevcut hedef bir dosyadır. Bu durumda, "-f" ile sembolik bağlantı oluşturulmasını zorlayabilirsiniz

2) mevcut hedef bir dizindir. Bu durumda, o zaman ln komutunu uygulamanıza bağlıdır. Bu olabilir yerine dediğiniz gibi bunları çoğaltarak, rehberler düzgün ele alınması nedenleri arasında sembolik bir link mevcut "-n" argüman var.

Referans: /unix/207294/create-symlink-overwrite-if-one-exists


Acaba neden yorum yapmadan downvote: stackoverflow.com/help/privileges/vote-down
jotadepicas
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.