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.