mv bu dosyaya bir sembolik bağlantı vermeden bir dosya


24

mvBir dosyanın bu dosyaya sembolik bir bağlantıyı kesmesiyle mümkün mü ? Buna ilk cevabım hayır ve hamlenin hemen ardından bağlantıları değiştirmek için senaryo tabanlı bir çözüm üzerinde çalışıyorum, ancak başkalarının bu soruna nasıl yaklaştığını merak ediyordum. Sembolik bağlantıların yolları ve adları önceden bilinir, bu nedenle teoride tek yapmam gereken:

  1. bağlantının hedefini almak
  2. hedef mv
  3. yeni hedefe giden bağlantıyı yeniden oluştur
  4. yeni hedefe yeni bir bağlantı oluştur (şimdilik hala tutmak istediğim orijinal bağlantıdan farklı)

Daha sonraki bir tarihte:

  1. eski bağlantıyı sil

1-4 bir bash betiğinde kapsüllenecek, ancak kimsenin daha zarif bir yaklaşımı olup olmadığını veya farkında olmadığım bir yerleşik veya komutu bilen var mı merak ediyorum.


2
Sabit bağlantılarda bu sorun yoktur. Yine de başka sakıncaları var. :-)
Stéphane Gimenez

3
Evet, dosyalar çeşitli dosya sistemlerinde olduğu için sabit bağlantıları kullanamazsınız.
gabe.

2
Ayrıca: bir dizine bağlantı kuramıyorum.
sampablokuper

Yanıtlar:


8

Doğru yoldasın, tarif ettiğin diziden daha kolay bir yol olduğunu sanmıyorum.

Adım 3 ve 4 biraz kafa karıştırıcıdır. Eğer mevcut isimleri tekrar hedeflemek isterseniz, aynı ismi koruyarak ln -fmevcut dosyaların üzerine yazmak için kullanabilirsiniz . Bağlantılarınızın adının da yeni hedef adını yansıtacak şekilde değişmesini istiyorsanız, sıralamanız doğrudur.


1
Evet, o kısmı tekrar okudum ve şimdi kendimi de karıştırdım. Bunu ayarlayacağım böylece daha mantıklı. Teşekkürler.
gabe.

Ln -f kullanımı konusunda biraz kafam karıştı, ancak yayınlanan @fred betiğinin nasıl çalıştığını açıklamaya yardımcı olabileceğini düşünüyorum. Man sayfası şaşırtıcı bir şekilde pek yardımcı olmadı.
gabe.

@gabe. Cevabımın orjinal versiyonu doğru çıktı -s -f, fakat onu değiştirirken, " -syanlış " düştü : yanlış! Wikipedia'dan : 'ln' seçeneği olmayan zor bir bağlantı oluşturur, 'ln -f' zor bir bağlantıyı zorlar ... bu yüzden soru için teşekkürler, bu benim için gerçekten bir sözdizimi olduğunu doğruladı. şeyler ... ln -s -f
Gerektirir

4

Durumunuz için:

# change target of a symbolic link
# -------------
# ln -s, --symbolic    make symbolic links instead of hard links
# ln -f, --force       remove existing destination files
#
# Setup: make junk.link to  file junk
  echo hello > ~/junk
  ln -s ~/junk ~/junk.link;  cat ~/junk.link
#
# move file and point the link to it.
  org="$(readlink ~/junk.link)"
  new="$org".moved
  mv "$org" "$new"
  ln -s -f "$new" "$new".link  # '-s' for a soft link

Not: Bir bağlantı zinciri varsa, daha karmaşık olacaktır.
Peter.O

0

Bir sonraki problemim var. "Suru ++" adında çok iyi bir ikon teması buldum

Suru ++ 20 [Resmen hatasız ve 11 DE uyumlu]

Ancak bu ikon teması svg olarak tüm görsellerden yapılmıştır. Şimdi Fluxbox'ta kullanmak ve menü girişleri oluşturmak istediğiniz ama bu sadece ben indirmek png ikon görüntü ile mümkündür usta svg biçimindeki tüm simgeler vardır içini ve evet ben her biri için üretmek hepsi olur png komut satırı svg dönüştürebilirsiniz 16x16, 24x24 piksel gibi bir klasör boyutu. Ancak bu klasörlerde bir svg dosyasına sembolik bağ vardır:

uzantıları svg png olarak değiştirmek istediğim sembolik bağlantıların içinde

Tüm sembolik bağlantıların içinde svg uzantısını png olarak değiştirmenin bir yolu varsa, ikon teması Fluxbox menüsünde ve Dosya Yöneticilerinde iyi çalışır. Xubuntu'da ancak ispanyolca kullanarak bu ikon teması hakkında bir fikir edindim

Tanrı kutsasın

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.