“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/to은 rsync --partial --progress /copy/from /copy/to복사 진행률을 표시하고 연결이 끊어지면 전송을 다시 시작하는 것과 같습니다.
— gh0st

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

21

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


대단해!
— felix021

1
이것이 작동하는 이유 Ctrl-t는 SIGINFO신호를 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.