Ana Sayfa » *nix » Advanced Copy – CP Komutu ve Progress Bar

Advanced Copy – CP Komutu ve Progress Bar


BerbatKötüİdare EderGüzelHarika (Henüz Puan Verilmedi. Oy kullanarak siz de katkı yapabilirsiniz.)
Loading...

http://mylinuxbook.com/advanced-copy-cp-command/ adresinde cp ve mv komutunun, kopyalama ya da taşıma işlemine ait gidişatı gösteren bir progress bar'a sahip 'li bir versiyonu var. Aşağıda örnek bir çıktısı olan araç özellikle büyük dosya ve dizin kopyalama işlerinde durumu, ekstra bir araç ya da komuta ihtiyaç duymadan takip edebilmek açısından epey kullanışlı.

1469 files copied so far...                          130.2 MiB / 298.7 MiB
[|||||||||||||||||||||||||||||------------------------------------] 43.6 %
Copying at  23.4 MiB/s (about 0h 0m 31s remaining)
BigFolder/automation/delegates/class-list.jpeg         1.5 MiB /   2.0 MiB
[|||||||||||||||||||||||||||||||||||||||||||||||------------------] 75.0 %

Aşağıda advanced-copy'nin nasıl kurulup kullanılabileceği ile ilgili notlar mevcut.

İlgili aracın pre-compiled versiyonu bulunuyor; yani edip paketi açmak yeterli oluyor. Fakat geliştiricisinin önerdiği şekilde kaynak koddan derlemek uyumluluk açısından daha iyi olacaktır.

Aslında kaynak koddan derlemek, GNU coreutils source paketindeki cp ve mv'ye geçip yeniden derlemekten ibaret. Bu şekilde sistemde kurulu bulunan default cp ve mv'nin yanı sıra progress bar özelliği olan ikinci cp ve mv binary'lerine sahip oluyorsunuz.

6.4 bir sistemde derleme ve kurulum adımları şu şekilde.

Compile işlemini non-root bir kullanıcı ile yapmamız gerekiyor ancak öncelikli olarak (özellikle minimal kurulmuş bir 'unuz varsa,) root kullanıcısı üzerinden gerekli paketleri kuralım:

$ su root -c " install gcc "

Ardından gnu.org'dan coreutils kaynak kodlarını indirip paketi açıyoruz. (Şu an itibari ile son sürüm coreutils 8.21'dir. Yeni sürüm olup olmadığını kontrol etmenizi öneririm.)

$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.21.tar.xz
$ tar xvJf coreutils-8.21.tar.xz

Sonrasında da coreutils dizinine geçip patch'i ediyoruz: (Aynı şekilde patch'in yeni sürümü olup olmadığını da kontrol edin.)

$ cd coreutils-8.21
$ wget http://zwicke.org/web/advcopy/advcpmv-0.5-8.21.patch

ve patch'i geçip derleme ve make işlemini yapıyoruz:

$ patch -p1 -i advcpmv-0.5-8.21.patch
$ ./configure
$ make

Bu şekilde patch'li cp ve mv binary'leri src/ dizininin altında oluşturulur.
Son olarak ilgili binary'leri sistemdeki orjinal cp ve mv ile karışmasın diye isimleri acp ve amv olacak şekilde daha jenerik bir yere kopyalayalım:

 $ su root -c "cp src/cp /usr/local/bin/acp; cp src/mv /usr/local/bin/amv"

Ayrıca, default olarak progress bar ile çalıştırılacak şekilde birer de alias ekleyelim:

$ echo "alias acp='/usr/local/bin/acp -g'" >> ~/.bashrc
$ echo "alias amv='/usr/local/bin/amv -g'" >> ~/.bashrc
$ source ~/.bashrc

Daha detaylı bilgi için http://beatex.org/web/advancedcopy.html adresine göz atabilirsiniz.

Visited 679 times, 1 visit(s) today
Kategoriler: *nix,ipucu |

Bu yazılar da ilginizi çekebilir:


- Bash History’sine Tarih ve Saat Bilgisi Eklemek
- MySQL Replication durumunu bir script ile check etmek
- Update: openSSL 1.0 TSA Özelliği – 5651’a Uygun Log İmzalamak
- iotop İle Disk Aktivitesini Görüntülemek | I/O Monitoring
- SU Error – su: not running setuid

Yorumlar


  1. fadike | (Ekim 20th, 2013 9:19 pm)

    Çok yararlı bir bilgi, terminalden korkmayanların başucu bir komut olacak. Teşekkürler.

    [Cevapla]

  2. kenan | (Ekim 21st, 2013 10:51 am)

    Progress bar ve yarida kalan dosyalarda kaldigi yerden devam etme ozelliklerini cURL de desteklemekte. cURL ile kopyalama islemi yapmak icin :

    http://www.omnigia.com/news/content/resuming-file-copy-operation

    adersine bakabilirsiniz.
    Yalniz birden fazla dosyayi destekleyip desteklemedigini tam olarak bilemiyorum.

    [Cevapla]

Trackbacks

Yorumda bulunun.