rm 명령의 진행 상황을 확인할 수 있습니까?


18

rm -rf LargeDirectory큰 디렉토리를 삭제하는 데 사용하면 디렉토리의 크기에 따라 완료하는 데 많은 시간이 걸릴 수 있습니다.

상태 업데이트를 받거나이 삭제의 진행 상황을 모니터링하여 명령의 프로세스 위치를 대략적으로 추정 할 수 있습니까?


4
시도하십시오 watch -n 5 du -s LargeDirectory. 0이되는 것을보십시오.
Mark Plotnick

@MarkPlotnick : MacOS에서로 설치 brew install watch하거나 지침을 보려면 여기 를 참조 하십시오 .
smci

답변:


19

...에서

man rm 

-v 옵션을 사용하십시오.

-v, --verbose
explain what is being done

4
그래도 진행되지 않습니다. “지금 foo / bar를 삭제하는 것”은 얼마나 완전한가를 결정하는 데 어떻게 도움이됩니까?
날으는 양

@flyingsheep 최소한 OSX에서는 알파벳순으로 모든 것을 제거하므로 어떤 식 으로든 도움이된다고 생각합니다.
Tim Baas

7

질문이 오래되었다는 것을 알았습니다. 다른 사람을 도울 수있는 것이 무엇인지 공유하고 싶습니다.

pv커맨드 라인 파이프 뷰어를 사용하여 진행률 표시 줄을 얻습니다.

이것은 명령입니다

rm -rv DIR_OR_FILE_NAME | pv -l -s $ (du -a DIR_OR_FILE_NAME | wc -l)> / dev / null

디렉토리 나 파일을 삭제하기 위해 루트 권한이 필요한 경우,

sudo rm -rv DIR_OR_FILE_NAME | pv -l -s $ (sudo du -a DIR_OR_FILE_NAME | wc -l)> / dev / null
  • rm -rv: -rDIR과 파일을 재귀 적으로 제거합니다. -v자세한 정보는 제거중인 모든 파일과 디렉토리를 나열합니다.

  • pv -l -s: -l바이트 대신 행을 계산합니다. -s제거 할 총 줄을 설정하십시오.

  • $( du -a <dir_or_file> | wc -l ): du -a지정된 디렉토리에서 모든 파일 및 디렉토리 목록을 리턴합니다. wc -l에 의해 출력 된 줄 수를 반환합니다 du -a.

  • > /dev/null: 출력 rm -rv을 아무 데나 보내지 않습니다.


좋은 생각. 이름에 개행이 포함되어 있으면 잘못된 파일 / 디렉토리 수를 제공 할 수 있습니다. find {dir} -printf . | wc -c더 안전합니다 (그러나 -printfGNU 확장입니다).
Scott

이것이 실제로 내가 찾던 것입니다. 감사합니다. 다른 의견은 부족한 점을 남겼습니다.
Hellreaver

3

Coreutils Progress Viewer ( cv)를 사용하여 현재 실행중인 명령의 진행률을 볼 수 있습니다 . 단일 명령을 내리는 것과는 다르지만 진행률을 확인할 수 있습니다.

사용되는 CV의 예

누군가 명령을 사용하여 별칭을 만들 수 있다고 확신합니다. 또한 작동합니다 cp, mv, dd, tar, gzip/gunzip, cat, etc.. 그것에 대한 자세한 내용은에서 찾을 수 있습니다

gitthub Xfennec / 진행


2
"cv"가 현재 알려진대로 진행은 열린 파일을 추적하고 rm은 삭제 한 파일을 열지 않으므로 실제로는 그다지 유용하지 않을 수 있습니다.
dhag

2
@dhag 당신의 권리, 나는 이것이 rm에 대해 효과가 있다고 생각했습니다. 이제 답변을 제거할지 여부를 논의 중입니다. hmm
Ashitakalax
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.