웹사이트 검색

nc 및 pv 명령을 사용하여 두 컴퓨터 간에 파일을 전송하는 방법


안녕하세요, Linux 독자 여러분, Linux 팁과 요령 시리즈의 또 다른 훌륭한 기사를 가져왔습니다. 이번에는 여러분이 꼭 알아야 할 덜 알려진 두 가지 Linux 유틸리티를 사용하겠습니다.

이 문서에서는 nc(네트워킹 유틸리티) 및 pv(파이프 뷰어를 사용하여 두 Linux 컴퓨터 간에 파일을 전송하는 방법을 설명합니다. Strong>) 명령에 대해 설명하겠습니다. 더 진행하기 전에 이 두 명령이 무엇인지 설명하겠습니다.

ncNetcat을 의미하며 "Swiss Army Knife"는 네트워크 디버깅 및 조사에 사용되는 네트워킹 도구이며 또한 사용된다는 점을 자주 지적합니다. TCP 또는 UDP, 포트 스캐닝, 파일 전송 등을 사용하여 네트워크 연결을 생성합니다. 거의 모든 종류의 네트워크 연결을 생성할 수 있고 다양한 내장 기능이 있기 때문에 신뢰할 수 있는 백엔드로 만들어졌으며 특별히 프로그램과 스크립트에 사용됩니다.

간단히 말해서 pv 파이프 뷰어는 파이프라인을 통해 전송되는 데이터의 진행 상황을 모니터링하기 위한 터미널 기반 도구입니다. 이를 통해 사용자는 진행률 표시줄을 통해 데이터 진행 상황을 볼 수 있으며 경과 시간, 완료율, 현재 처리량을 표시할 수 있습니다. 속도, 전송된 총 데이터 및 프로세스를 완료하는 데 예상되는 시간입니다.

pv(파이프 뷰어) 명령을 사용하여 데이터 진행 상황을 모니터링하는 방법

이제 더 나아가서 두 명령을 결합하여 두 Linux 컴퓨터 간에 파일을 전송하는 방법을 살펴보겠습니다. 이 기사에서는 다음과 같이 두 대의 Linux 컴퓨터를 사용합니다.

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

참고: netcat은 로그인이나 인증을 사용하지 않으므로 공공 네트워크를 통해 데이터를 보내고 받는 데 사용하지 않는 것이 좋습니다. , 유일한 요구 사항은 클라이언트 IP 및 수신 포트 번호이며 네트워크를 통해 전송되는 데이터는 보안되지 않으므로 항상 고급 Linux 사용자를 위해 예약되어 있으며 보호된 로컬 네트워크에서 사용하는 것이 선호됩니다.

데이터 보안이 더 중요한 상황에서는 항상 SSH를 통해 rsync를 사용하거나 SSH를 통해 scp를 사용하세요.

이제 ncpv 명령의 아주 쉬운 예부터 시작해 보겠습니다. 하지만 그 전에 해당 배포 패키지 관리자를 사용하여 설치하지 않을 경우 두 유틸리티를 모두 시스템에 설치해야 합니다. 제안된 도구:

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]

두 Linux 시스템 간에 파일을 전송하는 방법은 무엇입니까?

네트워크를 통해 컴퓨터 A에서 BCentOS-7-x86_64-DVD-1503.iso라는 하나의 대용량 파일을 전송한다고 가정해 보겠습니다. , TCP 네트워크를 통해 파일을 전송하는 데 사용되는 네트워크 유틸리티인 nc, 데이터 진행 상황을 모니터링하는 pvtar를 사용하여 이를 달성하는 가장 빠른 방법입니다. 전송 속도를 향상시키기 위해 데이터를 압축하는 유틸리티입니다.

Linux 머신 A의 경우

먼저 IP 주소 192.168.0.4를 사용하여 'A' 머신에 로그인하고 다음 명령을 실행합니다.

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

위 명령에 사용된 옵션을 설명하겠습니다.

  1. tar -zcf=tar는 아카이브 파일을 압축/압축 해제하는 데 사용되는 테이프 아카이브 유틸리티이며 -c 인수는 새 .tar 아카이브 파일 -f 를 생성합니다. 은 gzip을 통해 아카이브 파일 유형을 지정하고 -z 필터 아카이브를 지정합니다.
  2. CentOS-7-x86_64-DVD-1503.iso=네트워크를 통해 보낼 파일 이름을 지정하세요. 파일 이름이거나 디렉터리 경로일 수 있습니다.
  3. pv=데이터 진행 상황을 모니터링하는 파이프 뷰어.
  4. nc -l -p 5555 -q 5=TCP를 통해 데이터를 보내고 받는 데 사용되는 네트워킹 도구 및 들어오는 연결을 수신하는 데 사용되는 인수 -l, - p 555는 사용할 소스 포트를 지정하고 -q 5는 몇 초 동안 기다린 후 종료됩니다.

Linux 머신 B의 경우

이제 IP 주소 192.168.0.7을 사용하여 'B' 머신에 로그인하고 다음 명령을 실행하세요.

nc 192.168.1.4 5555 | pv | tar -zxf -

이제 파일이 B 컴퓨터로 전송되고 작업이 얼마나 빨리 수행되었는지 확인할 수 있습니다. nc(아직 다루지 않았지만 곧 설명할 예정) 및 pv(이미 여기에서 자세한 내용을 다뤘습니다) 명령에 대한 유용한 사용법이 많이 있습니다. , 혹시 예시를 아시는 분은 댓글로 알려주세요!