Передача файлов между ПК с помощью команд nc и pv в Linux

Передача файлов между ПК с помощью команд nc и pv в Linux

Утилита nc — универсальный инструмент командной строки Linux, предназначенный для сетевого взаимодействия и устранения неполадок в сети. Эта команда также позволяет передавать файлы между компьютерами.

В этой статье мы покажем, как скопировать файл с одного ПК на другой с помощью команд nc и pv.

Содержание:

  1. Установка nc и pv в Linux
  2. Настройка сетевых портов в Linux
  3. Передача файла между двумя компьютерами
    1. Отправка данных с Ubuntu Linux
    2. Получение файла на CentOS Linux
  4. Выводы

Установка nc и pv в Linux

Инструменты nc и pv доступны для установки из стандартных репозиториев большинства популярных дистрибутивов Linux. Поэтому для их инсталляции достаточно выполнить одну из следующих команд.

Для Debian / Ubuntu:

 

install ubuntu

Для RHEL / CentOS:

 

install centos

Читайте также: 10 примеров команды scp для передачи файлов по SSH в Linux.

Настройка сетевых портов в Linux

Для передачи файлов через сеть может потребоваться открыть порты на хостах отправителе и получателе. Мы будем отправлять файл с Ubuntu на CentOS Linux через порт 5555. Поэтому разрешим доступ к этому сетевому порту на обоих узлах с помощью следующих команд.

Для Debian / Ubuntu:

 

Для RHEL / CentOS:

Передача файла между двумя компьютерами

В качестве примера скопируем большой текстовый файл largefile.txt в ОС Ubuntu Linux и отправим его на компьютер под управлением CentOS Linux.

Важно: лучше не использовать инструмент nc для передачи данных через публичные сети, поскольку утилита не применяет никаких способов аутентификации. Поэтому злоумышленники могут легко перехватить данные в незащищенных сетях.

Отправка данных с Ubuntu Linux

Чтобы отправить документ largefile.txt, выполним в терминале:

 

send from ubuntu

Давайте детальнее разберем использованную команду:

  • pv — утилита для отслеживания прогресса передачи данных;
  • largefile.txt — название / путь к файлу, который нужно отправить;
  • | — символ конвейера, который позволяет передать вывод одной команды в качестве входных данных для другой;
  • -l — параметр, указывающий утилите nc работать в режиме прослушивания, то есть ожидать входящего подключения;
  • -p — опция, которая позволяет задать сетевой порт для передачи файла.

Получение файла на CentOS Linux

Чтобы получить файл на хосте с CentOS Linux, запустим следующую команду:

 

get file on centos

Здесь:

  • nc 192.168.59.131 5555 — часть команды, которая инициирует соединение с хостом с указанным IP-адресом (192.168.59.131) на указанном порте (5555);
  • > largefile.txt — часть команды, которая перенаправляет вывод pv в текстовый файл largefile.txt.

Читайте также: Как настроить SSH-доступ по ключу в Linux.

На скриншоте выше видно, что после выполнения предыдущей команды начался процесс передачи данных. Эта же информация отображается и на хосте-отправителе.

transferring file on ubuntu

Когда операция копирования файла завершится, на хосте-получателе нажмите Ctrl + c. А затем используйте команду ls, чтобы убедиться, что файл был успешно получен:

 

confirm file on centos

Выводы

Теперь Вы знаете, как отправить файл на удаленную машину с помощью утилиты nc, а также отслеживать процесс выполнения этой операции с помощью pv. Надеемся, что эта статья была полезной для Вас!

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню