CP 속도와 복사 비율을 볼 수 있습니까?

CP 속도와 복사 비율을 볼 수 있습니까?

노틸러스를 사용하여 대용량 파일을 복사하는 데 문제가 있습니다(멈춤). 을(를) 사용하여 복사해야 합니다 cp. 복사 비율과 전송 속도를 표시하는 매개변수가 있는지 알고 싶습니다.

답변1

rsync버전 3.0.9+에는 --progress각 파일의 진행 상황을 표시하는 플래그가 있습니다.

rsync --progress SOURCE DEST

rsync모든 버전에는 --info=progress2전체 백분율을 표시하는 플래그가 있습니다.

rsync --info=progress2 SOURCE DEST

답변2

다른 도구를 허용하면 cp확실히 가능합니다 . 개별 파일의 경우 pv. 이것은 좋은 통계를 제공하는 작은 도구입니다.

pv inputfile > outputfile

파일이나 디렉터리가 여러 개인 경우 tar를 사용할 수 있습니다.

tar c sourceDirectory | pv | tar x -C destinationDirectory

이를 쉘 함수로 래핑할 수 있습니다. 타이핑이 적고 의미가 유사합니다 cp. 다음은 매우 간단한(오류 방지 기능은 아님) 함수입니다.

cpstat () {
  tar c "$1" | pv | tar x -C "$2"
}

일부 버전에서는 tar위 구문(예: Solaris tar)을 지원하지 않으므로 다음 변형을 사용해야 합니다.

cpstat () {
  tar cf - "$1" | pv | (cd "$2";tar xf -)
}

넌 그걸 그렇게 부르잖아

cpstat sourceDirectory destinationDirectory

이를 더욱 향상시켜 pv남은 시간을 추정할 수 있습니다.

또 다른 해결책(댓글에서 Frost Schutz가 언급했듯이)은 옵션과 함께 rsync를 사용하는 것입니다 --progress.

rsync --progress -a sourceDirectory destinationDirectory

답변3

rsync복사하는 동안 진행 상황을 표시하는 데 가장 적합합니다.

전임자:

rsync -avh --progress sourceDirectory destinationDirectory

답변4

다른 답변에서 설명했듯이 cp는 해당 기능을 제공하지 않습니다. 하지만,진행 상황(이전 CV)는 누락된 기능을 제공하는 데 매우 유용한 작은 도구입니다.

이 도구는 현재 시스템에서 실행 중인 coreutils 기본 명령(cp, mv, dd, tar, gzip/gunzip, cat...)을 찾아 복사된 백분율 데이터를 표시하는 Tiny Dirty Linux Only* C 명령으로 설명할 수 있습니다.

지난 몇 달 동안 사용해 봤는데 안정적이에요.

관련 정보