Ubuntu 18.04'te iki farklı konuma sahip bir klasör


10

Aynı klasöre Ubuntu'mdaki iki farklı konumda sahip olmak istiyorum. Birindeki bir şeyi güncellersem, diğer konumda da güncellenmesi gerekir.

Bunu nasıl yapabilirim?


8
Bu 2 konumun fiziksel olması gerekiyor mu (2x yer kaplıyor gibi) veya bağlantı olabilir mi?
Rinzwind

19
A symbolic link, gereksiniminiz için en basit çözümdür ve süper kullanıcı ayrıcalıklarına bağlı değildir. man lndaha fazla bilgi için.
doneal24

Yanıtlar:


16

Bağlama bağlantılarını kullanın .

Var olan bir dizininizin olduğunu varsayalım /home/pandey/originalve her ikisinde de yaptığınız her şeyin diğerinde de otomatik olarak yapılması için onu yansıtmak istediğinizi varsayalım /home/pandey/mirror.

Bu, iki dizin arasında herhangi bir senkronizasyon veya kopyalama gerektirmez. Bir bağlama bağlaması , orijinal dizinin yalnızca başka bir görünümüdür ve birinde gerçekleşenler diğerinde de olur.

  1. (Kullanıcı olarak) yeni dizini oluşturun /home/pandey/mirror:

    mkdir /home/pandey/mirror
    
  2. bağlama-montaj yeni oluşturulan yola orijinal dizin. Bu, root erişimi gerektirir:

    sudo mount --bind /home/pandey/original /home/pandey/mirror
    
  3. Zevk almak.

Bunu geri almak için basitçe

sudo umount /home/pandey/mirror
rmdir /home/pandey/mirror

Ayrıca bu soruya ve bağlama bağları hakkında stackexchange üzerindeki olağanüstü kendi kendine yanıtına bakın .


3
+1, Kesinlikle bu yol önerdiğimden daha hızlı;
Codito ergo toplamı

13
Would'd cd /home/pandey; ln -s original mirroraynı etkiyi ve sudo haklarını gerektirmez?
doneal24

19
Evet, neden basit bir sym bağlantısı için klasik bir kullanım örneği gibi görünse de insanların bu dolambaçlı çözümleri neden sunduğunu merak ediyorum. Avantajı nedir? Gördüğüm kadarıyla, referans verilen soruda listelenen avantajların hiçbiri burada geçerli görünmüyor.
Voo

5
@ doneal24 Kabul ediyorum: sembolik bağlantı pratik bir bakış açısından aynı etkiye sahiptir ve temel sistem değişiklikleri ve yönetici ayrıcalıkları gerektirmez.
vanadium

2
Bağlama bağlantılarındaki bağlantılı soru, olası kullanım durumlarının güzel bir listesine sahiptir. Bir dizine başka bir adlandırılmış yola ihtiyaç duymak bunlardan biri değildir.
Dubu

44

Yorumlarda belirtildiği gibi, ancak doğru bir cevap olarak değil:

Çoğu durumda, sembolik bir bağlantı en kolay çözümdür.

Bunları komut satırında ( parametre lnile komutu kullanarak) kolayca oluşturabilirsiniz -s. Bunları bir GUI kullanarak da kolayca oluşturabilirsiniz: Çoğu dosya tarayıcısı (nautilus, ...), bir değiştirici tuşunu (CTRL + ÜST KRKT) basılı tutarak sürükleyip bırakma (bir dosyayı taşımak gibi) kullanarak sembolik bir bağlantı oluşturmanıza olanak tanır.

Komut satırı kullanımı için örnek:

$ mkdir first_dir
$ ln -s ./first_dir ./second_dir
$ ls 
first_dir  second_dir

$ touch ./first_dir/test_1
$ touch ./second_dir/test_2

$ ls ./first_dir 
test_1  test_2

$ ls ./second_dir
test_1  test_2

2

Bunu bir crontab işi ayarlayarak yapabilirsiniz:

  • Terminalinizi açın ve yazın crontab -e
  • iVim düzenleyicinizin ekleme modunu etkinleştirmek için tuşuna basın .

Orada yapılmasını istediğiniz komutu girebilirsiniz, böylece klasörün tüm dosyalarını başka bir klasöre kopyalayabilirsiniz. Örneğin, tüm dosyaları kopyalamak istiyorsanız /home/user/folder_nameiçin /home/user/publicsize bu komutu eklemek gerekir crontabdosyası:

rsync /home/user/folder_name -r /home/user/public

Bu, tüm dosyaları istenen aralıkta kopyalar. Tüm dosyaları her gün 21: 30'da kopyalamak istiyorsanız, düzenlemeniz şöyle olmalıdır:

 30 21 * * *  rsync /home/user/folder_name -r /home/user/public

Hakkında daha fazla bilgi için crontab görünüm burada veya kullanım man crontab.


Bağlanma bağlarını @PerlDuck olarak kullanırım, verilen kolay ve bakımı kolay bir yol. Birden fazla konuma bir klasör senkronize ederseniz ve ilk klasördeki dosyalar çok büyük veya çok sayıda olursa, bu durum makinenizde her türlü performans sorununa yol açabileceğinden cronjobs kullanmam. Şirketim Dropbox / Drive davranışını taklit etmek için bu yaklaşımı kullanıyor ve şimdi bazıları GB boyutunda olan çok sayıda dosyaya ulaştığımıza göre, çözüm artık ölçeklenmiyor.
değiştirilemez

2
Bu iki dizin, bir değil.
öfke
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.