Yumuşak veya sembolik bir link nasıl oluşturulur?


Yanıtlar:


666

Bakın man ln.

/usr/bin/barOrijinal dosyaya referans veren bir sembolik bağlantı oluşturmak için şunu /opt/fookullanın:

ln -s /opt/foo /usr/bin/bar

Yukarıdaki komutu root olarak (örneğin ile sudo) uygulamanız gerekir .


Ben kullanıyorum: sudo ln –s /etc/apache2/sites-available/redmine /etc/apache2/sites-enabled/000-redminealma hatası:ln: target '/etc/apache2/sites-enabled/000-redmine' is not a directory
Raj ...

1
Ubuntu belgelerinde "Varsayılan olarak, -symbolic ile sembolik linkler olan sert bağlantılar oluşturur" yazıyor. Yukarıdaki çözüm OP'nin istediği gibi sembolik bir bağlantı oluşturacak mı?
Tanay

4
Ben olsa César, dosyalarında / opt ve / usr / bin dizinlerini koymak yerine sembolik bir bağlantı kuracaktı.
aksilik

4
@mishap ilgilendiğim kadarıyla haklı. Öteki yol bu.
Daniel Szmulewicz

2
Kevinmicke, açıklamanızın ardından nihayet cevabın açıklamasının komuttan ters sırayla belirtildiğini anladı ve beynimin (ve diğerlerinin) geri okuduğunu söyledi
Andrew


21

'P4v' çalıştırılabilir dosyası / opt / bin / p4v konumundaysa, basitçe çalıştırabilirsiniz:

sudo ln -s /opt/bin/p4v /usr/bin/p4v
sudo chmod ugo+x /usr/bin/p4v

Yolunuza / opt / bin (ya da çalıştırılabilir olduğu her yerde) yolunu eklemek daha iyi olur:

echo "export PATH=\$PATH:/opt/bin" >> ~/.profile
reset

~/.profileayarı için daha iyi olurdu $PATH.
Lekensteyn

/etc/environmentPATH sistemini tamamen değiştirmek için düzenleme yapabilirsiniz .
Michał Šrajer

4

Bununla yazılımın yerini kontrol et.

which application-name #replace for the application you are looking for

Örneğin

which skype

çıktı bu olacak.

/usr/bin/skype 

Yumuşak bağlantıyı oluşturmak için. örneğin skypemasaüstünüzde yumuşak bir bağlantı oluşturmak istiyorsunuz.

ln -s /usr/bin/skype ~/Desktop/

Hakkında daha fazla bilgi için ln.

man ln

veya

ln --help

2
ln -s -n ./TargetDirectory ./Nickname

Not, bu her iki düğüm de aynı ağacın altındaysa çalışır. Göreceli gösterimi kullanabilirsiniz

  • -s komutu onu sembolik bir bağ yapar
  • -n, klasör tipi bir sembolik bağlantı oluşturmayı mümkün kılar

Askubuntu.com'a hoş geldiniz. Bu durumda, $bir komut satırı istemi belirtmek bir stil seçimidir ve bir problem olması muhtemel değildir. Ancak, koddan başka bir kod bloğunda bulunan şeyleri ve çıktısını karıştırmanın karışıklığa neden olabileceğini unutmayın.
J. Starnes

1

Bu şablon benim için yukarıdaki cevaplardan daha yararlı oldu. Muhtemelen daha doğru değil, sadece daha az şaşkın:

ln -s <path/to/real/file-or-folder> <symlink path>

Sadece parçaları yerine <>'s


0

Eğer söylüyorsa target is not a folder, klasör adlarında boşluk olduğu anlamına gelir, örneğin: New Folderboşluk vardır

Yolu düzenlemeniz \ve yollardaki her boşluktan sonra bir ters eğik çizgi eklemeniz gerekir.

Örneğin:

ln -s /opt/bin /usr/var/New\ Folder

3
Bu OP'nin sorusuna bir cevap değil. Lütfen yorum eklemek için yeterli itibarınız olana kadar bekleyin.
derHugo

0

Ben bunu halka olmak istediğiniz yere gidin ve sonra kullanarak bağlantı oluşturmak için daha kolay olduğunu bulduk sudo ln -s /path/to/source/fileyapmaktan daha, ln -s target source.

Yani sizin durumda ne yapardım cd /usr/bino zaman sudo ln -s /opt/bin/pv4. Benim durumumda diğer yol çalışmıyordu.

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.