Linux'ta Bir Dosyayı Birden Çok Dizine Kopyalama


Linux öğrenirken, yeni başlayanların basit bir görevi gerçekleştirmek için birden fazla komut yazmaya devam etmesi her zaman bir normdur. Bu, özellikle terminali kullanmaya yeni alışmaya başladığınızda anlaşılabilir bir durumdur.

Ancak, Linux konusunda uzman bir kullanıcı olmayı sabırsızlıkla beklediğinizde, benim "kısayol komutları" olarak adlandıracağım şeyi öğrenmek, zaman kaybetme eğilimlerini önemli ölçüde azaltabilir.

Bu yazıda, Linux'ta bir dosyayı birden fazla dizine kopyalamanın tek komut kullanarak kolay bir yolunu açıklayacağız.

Linux'ta cp komutu dosyaları bir dizinden diğerine kopyalamak için kullanılır, onu kullanmanın en kolay sözdizimi aşağıdaki gibidir:

cp [options….] source(s) destination

Alternatif olarak, Linux'ta büyük dosyaları/klasörleri kopyalarken bir ilerleme çubuğu gösteren gelişmiş kopyalama komutunu da kullanabilirsiniz.

Aşağıdaki komutları göz önünde bulundurun, normalde aynı dosyayı iki ayrı dizine kopyalamak için iki farklı komutu aşağıdaki gibi yazarsınız:

cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test
cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp

Belirli bir dosyayı beş veya daha fazla dizine kopyalamak istediğinizi varsayarsak, bu, beş veya daha fazla cp komutu yazmanız gerektiği anlamına mı gelir?

Bu sorunu ortadan kaldırmak için, pipe, xargs komutu olan echo komutunu aşağıdaki biçimdeki cp komutuyla birlikte kullanabilirsiniz:

echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh

Yukarıdaki formda, dizinlere (dir1,dir2,dir3…..dirN) giden yollar yankılanır ve xargs komutuna girdi olarak aktarılır; burada:

  1. -n 1 – xargs'a komut satırı başına en fazla bir argüman kullanmasını ve cp komutuna göndermesini söyler.
  2. cp – bir dosyayı kopyalamak için kullanılır.
  3. -v – ayrıntılı modun kopyalama işleminin ayrıntılarını göstermesini sağlar.

Yararlı ve gelişmiş kullanım bilgileri bulmak için cp, echo ve xargs komutlarının kılavuz sayfalarını okumayı deneyin:

man cp
man echo
man xargs

Hepsi bu kadar, konu ile ilgili sorularınızı veya geri bildirimlerinizi aşağıdaki yorum formunu kullanarak bize iletebilirsiniz. Ayrıca (cp, mv, dd, tar, vb.) ilerlemesini izlemeye yardımcı olan ilerleme komutu hakkında da bilgi edinmek isteyebilirsiniz. Şu anda Linux'ta çalışan komutlar.