웹사이트 검색

Pv - Linux에서 [복사/백업/압축] 데이터 진행률 표시


Linux 시스템에서 백업을 만들고 대용량 파일을 복사/이동할 때 진행 중인 작업의 진행 상황을 모니터링할 수 있습니다. 많은 터미널 도구에는 명령이 파이프에서 실행될 때 진행률 정보를 볼 수 있는 기능이 없습니다.

이 기사에서는 pvPipe Viewer라는 중요한 Linux/Unix 명령을 살펴보겠습니다.

Pv는 파이프를 통해 전송되는 데이터의 진행 상황을 모니터링할 수 있는 터미널 기반 도구입니다. pv 명령을 사용하면 다음 정보가 시각적으로 표시됩니다.

  • 경과된 시간입니다.
  • 완료율에는 진행률 표시줄이 포함됩니다.
  • 현재 처리량 비율을 표시합니다.
  • 전송된 총 데이터입니다.
  • 및 ETA(예상 시간).

Linux에 pv 명령을 설치하는 방법은 무엇입니까?

pv 명령은 대부분의 Linux 배포판에 기본적으로 설치되어 있지 않으므로 아래 단계에 따라 설치할 수 있습니다.

RHEL 기반 Linux에 pv 설치

먼저 EPEL 저장소를 켜고 다음 yum 또는 dnf 명령을 실행하여 설치해야 합니다.

yum install pv
OR
dnf install pv          

Debian 기반 Linux에 pv 설치

sudo apt-get install pv

다른 Linux 배포판에 pv 설치

sudo emerge -a pv        [On Gentoo Linux]
sudo apk add pv          [On Alpine Linux]
sudo pacman -S pv        [On Arch Linux]
sudo zypper install pv   [On OpenSUSE]    

Linux에서 pv 명령을 어떻게 사용합니까?

pv는 진행 중인 작업의 진행 상황을 모니터링하는 기능이 부족한 다른 프로그램과 함께 주로 사용됩니다. 적절한 옵션을 사용하여 두 프로세스 사이의 파이프라인에 배치하여 사용할 수 있습니다.

pv의 표준 입력은 표준 출력으로 전달되고 진행률(출력)은 표준 오류에 인쇄됩니다. 이는 Linux의 cat 명령과 유사한 동작을 갖습니다.

pv 명령의 구문은 다음과 같습니다.

pv file
pv options file
pv file > filename.out
pv options | command > filename.out
comand1 | pv | command2 

pv와 함께 사용되는 옵션은 디스플레이 스위치, 출력 수정자일반 옵션의 세 가지 범주로 나뉩니다.

Pv 디스플레이 수정자 옵션

일부 옵션은 표시 수정자 아래에 있습니다.

  • 표시줄을 켜려면 -p 옵션을 사용하세요.
  • 경과 시간을 보려면 --timer 옵션을 사용하세요.
  • 작업이 완료되기까지 걸리는 시간을 추측하는 ETA 타이머를 켜려면 --eta 옵션을 사용하세요. 추측은 이전 전송 속도와 총 데이터 크기를 기반으로 합니다.
  • 속도 카운터를 켜려면 --rate 옵션을 사용하세요.
  • 지금까지 전송된 총 데이터 양을 표시하려면 --bytes 옵션을 사용하세요.
  • 시각적 표시 대신 정수 백분율의 진행 정보를 표시하려면 -n 옵션을 사용하십시오. 이는 대화 상자에 진행 상황을 표시하기 위해 대화 상자 명령과 함께 pv를 사용할 때 유용할 수 있습니다.

Pv 디스플레이 수정자 옵션

일부 옵션은 출력 수정자 아래에 있습니다.

  • 진행 정보를 표시하기 전에 첫 번째 바이트가 전송될 때까지 기다리려면 --wait 옵션을 사용하십시오.
  • 백분율과 ETA를 계산할 때 전송될 총 데이터 양이 SIZE바이트라고 가정하려면 --size SIZE 옵션을 사용하세요.
  • 업데이트 간격(초)을 지정하려면 --interval SECONDS 옵션을 사용하세요.
  • 작업을 강제하려면 --force 옵션을 사용하세요. 이 옵션은 표준 오류가 터미널이 아닐 때 pv가 시각적 개체를 표시하도록 강제합니다.
  • 일반 옵션은 사용 정보를 표시하는 --help와 버전 정보를 표시하는 –version입니다.

Linux의 예가 포함된 Pv 명령

1. 옵션이 포함되지 않은 경우 pv 명령은 기본 -p, -t, -e, -r-b 옵션.

예를 들어 opensuse.vdi 파일을 /tmp/opensuse.vdi에 복사하려면 이 명령을 실행하고 스크린캐스트에서 진행률 표시줄을 확인하세요.

pv opensuse.vdi > /tmp/opensuse.vdi

2. /var/log/syslog 파일에서 zip 파일을 만들려면 다음 명령을 실행하세요.

pv /var/log/syslog | zip > syslog.zip

3. 진행률 표시줄만 표시하면서 /etc/hosts 파일의 줄 수, 단어 및 바이트 수를 계산하려면 아래 명령을 실행하세요.

pv -p /etc/hosts | wc

4. tar 유틸리티를 사용하여 백업 파일 생성 진행 상황을 모니터링합니다.

tar -czf - ./Downloads/ | (pv -p --timer --rate --bytes > backup.tgz)

5. 이 예에서는 dd 명령을 사용하여 USB 플래시 드라이브에 ISO 파일을 씁니다.

dd if=debian-10.11.0-amd64-DVD-1.iso | pv | dd of=/dev/sda bs=4M

6. pvdialog 터미널 기반 도구를 함께 사용하여 다음과 같이 대화상자 진행률 표시줄을 만듭니다.

tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70

요약

이는 파일 복사/이동/백업과 같은 작업 진행 상황을 모니터링하는 기능이 없는 도구와 함께 사용할 수 있는 좋은 터미널 기반 도구입니다. 더 많은 옵션을 보려면 man pv를 확인하세요. .

이 기사가 도움이 되기를 바라며 pv 명령 사용에 대해 추가할 아이디어가 있으면 의견을 게시할 수 있습니다. 그리고 사용 중 오류가 발생하면 댓글을 남길 수도 있습니다.