답변:
최상위 디렉토리가 images
이면을 실행하십시오 rm -r images/*
. 이것은 쉘 glob 연산자 *
를 사용하여 rm -r
에있는 모든 파일이나 디렉토리에서 실행 됩니다 images
.
숨겨진 파일을 삭제하려면 다음을 지정해야합니다.
rm -r images/* images/.*
globs가 포함 된 쉘의 경우 다음 .
과 ..
같은 오류가 발생합니다.
rm: cannot remove `.' directory `images/.'
rm: cannot remove `..' directory `images/..'
그러나 숨겨진 파일은 삭제됩니다.
오류 메시지가없는 방법은 mindepth와 함께 찾기 / 삭제를 사용하는 것입니다. 이것은 gnu-find입니다.
find images -mindepth 1 -delete
찾기에는 -mindepth
또는 -delete
술어가 없을 수 있습니다.이 경우 다음을 수행 할 수 있습니다.
find images/. ! -name . -prune -exec rm -rf {} +
rm .*
삭제되지 않습니다 .
또는 ..
과 가없는 UNIX 용 70 년대 후반 이후 적어도 GNU 유틸 1994 가능성부터 . rm .*
박물관 밖에서 파일 시스템을 가로 지르는 시스템을 찾을 가능성은 거의 없습니다 .
디렉토리에서 모든 파일 및 디렉토리 ( 숨겨진 파일 포함)를 삭제하려면 다음을 시도하십시오.
ls -Ab
모든 파일 / 디렉토리를 일치시키는 데 사용
cd dir_name && rm -rf `ls -Ab`
find
모든 파일 / 디렉토리를 일치시키는 데 사용
find dir_name -mindepth 1 -delete
또는 find
지원하지 않는 경우 -delete
:
find dir_name -mindepth 1 -exec rm -rf {}
폴더를 삭제 한 다음 다시 만드십시오.
rm -rf dir_name && mkdir dir_name
bash에서
shopt -s dotglob
rm -rf dir_name/*
rm -rf *
시작하는 파일 -
은 rm
플래그 로 해석 되므로 디렉토리에있는 파일에 대한 지식이 없으면 like 같은 명령 은 안전하지 않습니다 .
rm -rf ./* ./.*
나는 find
여기에 명령을 사용하고 있습니다 :
1 단계 : 모든 파일을 찾아 삭제합니다.
find /path/to/directory/ -type f -exec rm {} \;
예:
find /home/user/Desktop/images/ -type f -exec rm {} \;
2 단계 : 모든 하위 디렉토리를 찾아 삭제하십시오.
find /path/to/directory/ -type d -exec rm -R {} \;
find /path/to/directory/ -type d
포함 .
하면 디렉토리 자체가 삭제됩니다. -mindepth
다른 사람들이 말했듯 이 스위치 도 사용해야합니다 .
rm의 구문은 다음과 같습니다.
rm [OPTION]... FILE...
따라서 적절한 경로를 명시 적으로 명시해야합니다. 예 :
rm -r sub_dir/
다음 명령을 사용하여 디렉토리를 제거 할 수 있습니다.
sudo rm -r directoryname1/2/3/*
3 / * 후에 전체 디렉토리가 삭제됩니다.
sudo rm -r 다운로드 / 노래 / * 예
안에있는 모든 파일이 삭제됩니다 Downloads/song
.
이것은 나에게 완벽하게 작동하며 매번 여러 변형이 테스트되었습니다.
images 디렉토리가있는 디렉토리에서.
rm -frd ./images/*
전에:
images/
|_ header.png
|_ footer.png
|_ subdir/
후:
images/
mkdir images/.somedir
; touch images/.somefile
) 를 건너 뜁니다 .
숨겨진 디렉토리를 포함 하여 현재 디렉토리에서 오류 메시지없이 모든 파일과 서브 디렉토리를 삭제하려면 다음을 수행하십시오.
rm -rf .[^.] .??* *
또는 상위 디렉토리에서 :
rm -rf images/.[^.] images/.??* images/*
rm -Rf
하고 거기에있는 모든 파일과 디렉토리를 수행하십시오.