Bash에서 폴더 삭제 및 다시 만들기

Bash에서 폴더 삭제 및 다시 만들기

파일이 다운로드될 때마다 다운로드 폴더를 정리하기 위해 hazel 프로그램을 사용하고 있습니다. 이제 매주 쉘 스크립트를 실행하여 다운로드 폴더의 모든 폴더를 삭제한 다음 다시 생성하라고 지시하고 있습니다.

내 다운로드 폴더의 모든 폴더를 다시 반복하고 해당 콘텐츠를 삭제하여 이 작업(폴더 삭제/폴더 다시 만들기)을 수행하는 더 쉬운 방법이 있습니까?

cd ~/Downloads;
rm -rf Archives;
rm -rf DMGs;
rm -rf Documents;
rm -rf Fonts;
rm -rf Mail\ Attachments;
rm -rf Mobile\ Provisioning;
rm -rf Music;
rm -rf Photoshop;
rm -rf Pictures;
rm -rf Videos;

mkdir Archives;
mkdir DMGs;
mkdir Documents;
mkdir Archives;
mkdir Fonts;
mkdir Mobile\ Provisioning;
mkdir Mail\ Attachments;
mkdir Music;
mkdir Photoshop;
mkdir Pictures;
mkdir Videos;

답변1

어떻습니까:

cd ~/Downloads && rm -rf */*

아니면 내가 뭔가를 놓치고 있는 걸까?

참고: 최상위 수준 아래의 숨겨진 파일/디렉토리는 즉시 삭제되지 않습니다.

답변2

전체 폴더 구조를 그대로 유지하면서 파일을 삭제하려면 다음을 사용하십시오.

find . -type f -print -exec rm '{}' ';'

rm -rf */*다른 사람들이 제안한 것처럼 최상위 폴더 구조만 그대로 유지하면 됩니다.

답변3

실제로는 매우 간단합니다. 이렇게 하면 됩니다.rm -rf */*

답변4

다음을 실행할 수도 있습니다.

find ~/Downloads -type f -exec rm {} \;

그러면 해당 디렉터리의 모든 파일이 삭제됩니다.

파일을 삭제하기 전에 모든 것이 괜찮은지 확인하기 위해 실제 실행하기 전에 rm {} \;로 바꾸십시오 .ls -l {} \;

관련 정보