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.