“cp”로 복사하면 터미널에 진행률 표시 줄이 표시됩니까?


33

cp를 사용하여 터미널에서 파일을 복사 할 때 진행률 표시 줄을 표시 할 수 있습니까?


2
rsync대신 사용을 고려할 수도 있습니다 .
Asmus

타사 도구를 설치하지 않고 전체 진행률 표시 줄 로이 작업을 수행 할 수 있습니까? 아마도 스크립트 나 무언가?
rraallvv

답변:


49

대신 rsync를 사용할 수 있습니다.

rsync --progress /copy/from /copy/to

1
rsync 또는 cp가 더 빠릅니다.
daviesgeek

복사중인 모든 파일이 대상에 존재하지 않으면 눈에 띄는 차이가 없을 것이라고 생각합니다. 일부 파일이 대상에 존재하는 경우 rsync가 일부 확인을 수행하므로 파일이 달라집니다. 이 경우 일반적으로 Rsync가 더 빠를 수 있습니다 (항상 그런 것은 아님).
bahamat

2
사용 rsync -P /copy/from /copy/torsync --partial --progress /copy/from /copy/to복사 진행률을 표시하고 연결이 끊어지면 전송을 다시 시작하는 것과 같습니다.
gh0st

그리고 단지 CP처럼, 그것은 필요 -r가 디렉토리를 건너 뛸 수 있도록 플래그
알렉산더 - 분석 재개 모니카

21

cp, CtrlT표시 현재의 비율 (맥 OS에 적어도)


대단해!
felix021

1
이것이 작동하는 이유 Ctrl-tSIGINFO신호를 Ctrl-c보내는 것과 같은 방식으로 신호를 보내기 때문 SIGINT입니다. kill -INFO키를 계속 누르지 않으려면 다른 쉘에서 루프를 사용하여 해당 프로세스 를 반복적으로 수행 할 수 있습니다. 신호이므로 다른 유틸리티와도 작동합니다 (예 :) dd. Ctrl-t그리고 SIGINFOBSD에서 상속됩니다.
HTNW

1

cp를 사용하여 큰 파일 또는 디렉토리를 복사하는 경우 '활동 모니터'를 열고 '디스크'탭으로 이동하여 'cp'프로세스를 찾으십시오. 여기에서 마지막 부팅 이후 몇 바이트가 기록되었는지 추적하여 진행 상황을 대략적으로 알 수 있습니다. (OS X 10.10).

희망이 도움이됩니다!


0
#!/bin/sh
   strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
      | awk '{
        count += $NF
            if (count % 10 == 0) {
               percent = count / total_size * 100
               printf "%3d%% [", percent
               for (i=0;i<=percent;i++)
                  printf "="
               printf ">"
               for (i=percent;i<100;i++)
                  printf " "
               printf "]\r"
            }
         }
         END { print "" }' total_size=$(stat -c '%s' "${1}") count=0

완벽하지는 않지만 작동합니다 ... 디렉토리 경로에 드롭하고 비슷한 이름을 지정하십시오.


잠깐만 ... 어떻게 달릴 수 있을까 ???
daviesgeek

2
strace이 답변이 작성된 시점 (2011 년 7 월)에 OS X에 명령 이 있었는지 기억 나지 않지만 오늘날에는 그렇지 않습니다.
Tim Ruddick

macOS에서 이것을 실행하는 방법에 대한 아이디어가 있습니까?
rraallvv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.