Nc ve pv Komutlarını Kullanarak İki Bilgisayar Arasında Dosya Aktarımı


Merhaba Linux okuyucuları, size Linux İpuçları ve Püf Noktaları serimizden bir başka harika makale getiriyorum, bu sefer bilmeniz gereken daha az bilinen iki Linux yardımcı programını kullanacağız.

Bu makale, nc (ağ oluşturma yardımcı programı) ve pv (pipe viewer) kullanarak iki Linux bilgisayar arasında nasıl dosya aktardığınızı açıklayacaktır. Strong>) komutları, daha ileri gitmeden önce bu iki komutun ne olduğunu açıklayayım.

nc, Netcat anlamına gelir ve genellikle "İsviçre Çakısı"nın ağda hata ayıklama ve araştırma için kullanılan bir ağ oluşturma aracı olduğu ve ayrıca kullanıldığı belirtilir. TCP veya UDP kullanarak ağ bağlantıları oluşturmak, bağlantı noktası taramak, dosya aktarımı ve daha fazlasını yapmak için. Güvenilir bir arka uç olarak yaratılmıştır ve neredeyse her türlü ağ bağlantısını oluşturabildiğinden ve bir dizi yerleşik özelliğe sahip olduğundan programlarda ve komut dosyalarında özel olarak kullanılır.

Kısaca pv Pipe Viewer, bir boru hattı üzerinden gönderilen verilerin ilerlemesini izlemek için kullanılan terminal tabanlı bir araçtır; kullanıcıya, ilerleme çubuğuyla verilerin ilerlemesini görme olanağı tanır, geçen süreyi, tamamlanan yüzdeyi, mevcut verimi gösterir. oranı, aktarılan toplam veri ve işlemi tamamlamak için Tahmini Süre.

pv (Pipe Viewer) Komutunu Kullanarak Verilerin İlerlemesini İzleme

Şimdi biraz daha ilerleyelim ve iki Linux bilgisayar arasında dosya aktarımı için her iki komutu nasıl birleştirebileceğimizi görelim. Bu makalenin amacı doğrultusunda aşağıdaki iki Linux makinesini kullanacağız:

Machine A with IP : 192.168.0.4
Machine B with IP : 192.168.0.7

Not: Herkese açık ağ üzerinden veri göndermek ve almak için netcat'i kullanmamanızı önemle tavsiye ederim, çünkü herhangi bir oturum açma veya kimlik doğrulama kullanmaz Tek gereksinim istemci IP'si ve dinleme port numarasıdır ve ağ üzerinden gönderilen veriler güvenli değildir, bu nedenle her zaman ileri düzey Linux kullanıcılarına ayrılmış ve korumalı yerel ağda kullanılması tercih edilmiştir.

Veri güvenliğinin daha önemli olduğu durumlarda her zaman SSH üzerinden rsync veya SSH üzerinden scp kullanın.

Şimdi nc ve pv komutlarının gerçekten kolay bir örneğiyle başlayalım, ancak bunu yapmadan önce, ilgili dağıtım paketi yöneticinizi kullanarak yüklemediyseniz her iki yardımcı programın da sisteme yüklenmesi gerekir. önerildiği gibi araç:

yum install netcat pv        [On RedHat based systems]
dnf install netcat pv        [On Fedora 22+ versions]
apt-get install netcat pv    [On Debian and its derivatives]

İki Linux Makinesi Arasında Dosya Aktarımı Nasıl Yapılır?

Ağ üzerinden A bilgisayarından B'ye CentOS-7-x86_64-DVD-1503.iso adlı büyük bir dosyayı göndermek istediğinizi varsayalım. Bunu başarmanın en hızlı yolu, dosyaları TCP ağı üzerinden göndermek için kullanılan bir ağ yardımcı programı olan nc'yi, verilerin ilerlemesini izlemek için pv'yi ve tar'ı kullanmaktır. Aktarım hızını artırmak için verileri sıkıştırmaya yönelik yardımcı program.

Linux Makinesi A'da

Öncelikle ‘A’ makinesine 192.168.0.4 IP adresiyle giriş yapın ve aşağıdaki komutu çalıştırın.

tar -zcf - CentOS-7-x86_64-DVD-1503.iso | pv | nc -l -p 5555 -q 5

Yukarıdaki komutta kullanılan seçenekleri açıklayayım:

  1. tar -zcf=tar, arşiv dosyalarını ve bağımsız değişkenleri sıkıştırmak/açmak için kullanılan bir teyp arşivi yardımcı programıdır -c yeni bir .tar arşiv dosyası oluşturur, -f Strong> arşiv dosyasının türünü belirtin ve -z arşivi gzip aracılığıyla filtreleyin.
  2. CentOS-7-x86_64-DVD-1503.iso=Ağ üzerinden gönderilecek dosya adını belirtin; dosya veya bir dizine giden yol olabilir.
  3. pv=Verilerin ilerleyişini izlemek için Kanal Görüntüleyici.
  4. nc -l -p 5555 -q 5=TCP üzerinden veri göndermek ve almak için kullanılan ağ oluşturma aracı ve gelen bağlantıyı dinlemek için kullanılan -l bağımsız değişkenleri, - p 555 kullanılacak kaynak bağlantı noktasını belirtir ve -q 5 saniye sayısını bekler ve sonra çıkar.

Linux Makinesi B'de

Şimdi 'B' makinesinde 192.168.0.7 IP adresiyle oturum açın ve aşağıdaki komutu çalıştırın.

nc 192.168.1.4 5555 | pv | tar -zxf -

İşte bu, dosya B bilgisayarına aktarılır ve işlemin ne kadar hızlı gerçekleştiğini görebileceksiniz. nc (henüz değinmedik ama yakında bunun hakkında yazacağız) ve pv (burada bununla ilgili ayrıntılı bir makaleyi zaten ele almıştık) komutlarının tonlarca başka harika kullanımı daha var , bildiğiniz bir örnek varsa lütfen yorum yoluyla bize bildirin!