내가 얻은 가장 가까운 것은
# rm /path/to/directory/*.*
그러나 확장자가없는 파일에는 작동하지 않습니다 …
답변
리눅스는 확장을 사용하지 않습니다. 이름의 확장자를 원하는지 여부를 결정하는 것은 파일 작성자에게 달려 있습니다. 리눅스는 1 번째 바이트를보고 어떤 종류의 파일을 다루고 있는지 알아냅니다.
디렉토리에서 모든 것을 제거하려면 다음을 사용하십시오.
rm /path/to/directory/*
다음과 같은 -r
옵션을 사용할 수 있습니다 .
rm -r /path/to/directory/*
또한 컨텐츠를 제거 할 디렉토리 내부의 모든 하위 디렉토리 (모든 컨텐츠와 함께)를 제거합니다. 그렇지 않으면 디렉토리를 제거하지 않았다는 오류가 표시됩니다.
답변
-
모든 내용이 포함 된 폴더 를 제거하려면 ( 모든 내부 폴더 포함 ) :
rm -rf /path/to/directory
-
폴더 자체가 아닌 폴더의 모든 내용 ( 모든 내부 폴더 포함) 을 제거하려면 :
rm -rf /path/to/directory/*
또는
rm -rf /path/to/directory/{*,.*}
숨겨진 파일 / 디렉토리도 제거해야합니다.
-
폴더 내부에서 모든 “파일”을 제거하려면 ( 내부 폴더는 제거 하지 않음 ) :
rm -f /path/to/directory/{*,.*}
-
경고 : 경로에 공백이 있으면 항상 따옴표를 사용하십시오.
rm -rf /path/to the/directory/*
2 개의 개별
rm -rf
호출과 같습니다.rm -rf /path/to rm -rf the/directory/*
이 문제를 피하려면
'
작은 따옴표'
( 쉘 변수를 확장하지 않음 ) 또는"
큰 따옴표"
( 쉘 변수를 확장 )를 사용할 수 있습니다.rm -rf "/path/to the/directory/"*
어디:
rm
– ” 삭제 “를 나타냅니다.-f
– 예를 들어 아카이브를 제거 할 것인지 묻거나 묻지 않으려는 경우 도움이되는 ” 강제 “를 나타냅니다 .-r
– ” 재귀 “의 약어 로, 모든 폴더를 재귀 적으로 내려 가고 모든 것을 제거하고 싶다는 의미입니다.
답변
숨겨진 파일 및 하위 디렉토리를 포함하여 디렉토리의 모든 파일을 제거하려면 다음을 실행하십시오.
rm -rf /path/to/directory/{*,.*}
답변
/ path / to / directory에있는 파일 만 삭제하려면 다음을 수행하십시오.
find /path/to/directory -type f -print0| xargs -0 rm
또는
find /path/to/directory -type f -exec rm '{}' \;
을 사용 find
하여 로드를 수행 할 수 있는데 , 이점은 파이핑하지 않고 발견 된 항목을 나열하여 rm
시작하기 전에 삭제 될 항목을 볼 수 있다는 것입니다.
답변
디렉토리에서 모든 파일 및 디렉토리 ( 숨겨진 파일 포함)를 삭제하려면 다음을 시도하십시오.
-
폴더를 삭제 한 다음 다시 만드십시오.
rm -rf dir_name && mkdir dir_name
-
사용하다
find
find dir_name -mindepth 1 -delete
여기서는 -mindepth 1
디렉토리 dir_name 자체를 제외하도록 지정 합니다.
다음 링크를 살펴보십시오 :
https://unix.stackexchange.com/questions/12593/how-to-remove-all-the-files-in-a-directory
답변
모든 하위 디렉토리와 디렉토리 자체를 제거하려면을 사용할 수 있습니다 rm -rf /path/to/directory
. 그러나 return 키를 누르기 전에 항상 줄을 다시 확인하십시오 rm -rf
. 예를 들어 수퍼 유저 권한을 가지고 첫 번째 슬래시 뒤에 실수로 공백을 삽입하는 경우 많은 행동을 유발할 수 있습니다 …
답변
이 질문은 내가 직접 검색 할 때 끊임없이 Google의 최상위에 있기 때문에 :
다른 답변은 다른 문제로 고통받습니다.
-
그들 중 일부는 포함
.
하고..
, 시끄러운 혼란, 그리고 성가신이다. -
그들 중 일부는 숨겨진 파일 (점으로 시작하는 파일)을 잊어 버립니다.
-
디렉토리 삭제를 허용하기 위해 올바른 (가장 깊은) 순서로 삭제되지 않습니다.
-
그것들은 다른 (마운트 된) 파일 시스템으로 내려 가며, 종종 원하지 않는 파일 시스템입니다.
-
추가 매개 변수로 올바르게 확장하기가 어렵습니다 (아래에 더 자세히 설명되어 있음).
따라서 디렉토리의 모든 파일과 폴더를 정확하게 삭제하려면 다음을 수행하십시오.
find "${DIR}" -xdev -mindepth 1 -printf "%d\t%y\t%p\0" | sort -z -r -n | cut -z -f3- | xargs -0 -r -- rm -d --
-xdev
마운트 /proc
등 으로 내려가는 것을 막기 위해 인수를 추가했습니다 .
왜 -depth
나 -delete
?
사람들이 끊임없이 저를 피하는데도 불구하고, 그 방법에는 단점이 있습니다. -prune
더 많은 문제를 일으키지 않고 하위 디렉토리 를 허용 할만 큼 확장 가능한 것처럼 보이지 않습니다 . 이 방법과 달리 삽입 할 수 있습니다
-not \( -path "${DIR}/subdir" -prune \)
내용이 삭제되지 않도록 -mindepth
인수 앞에 subdir
.