답변:
실행하고 싶다고 가정 해보십시오.
rm *.txt
당신은 그냥 실행할 수 있습니다 :
echo rm *.txt
또는 심지어 :
echo *.txt
rm셸이 *.txt아닌을 확장하기 때문에 어떤 파일 을 삭제 할지 확인하십시오 rm.
도움이되지 않는 유일한 시간은입니다 rm -r.
당신이 반복적으로 파일과 디렉토리를 제거하려면, 당신은 사용할 수있는 find대신에 rm -r, 예를 들어,
find . -name "*.txt" -print
당신이 원하는 것을 다음 경우에는 변경 -print에를 -delete:
find . -name "*.txt" -delete
tree.
find . -name "*.txt" -delete재귀 적 인 것처럼 보이지 않습니다. 모든 파일을 제거했지만 다음에 나열된 디렉토리는 제거하지 않았습니다.-print
find . -type d -empty -delete
find파일이 여전히 포함 된 디렉토리는 삭제하지 않습니다 ( rm dir/없는 파일과 동일 -r). 먼저 디렉토리를 비우거나 적절한 옵션과 함께 사용 find하여 -exec rm이를 수행해야합니다. 예find . -depth -name "*.txt" -exec rm -r {} +
echo rm *.txt방법을 사용하면 단점이있는 것 같습니다. 결과는 세로 목록이 아닌 연결된 목록 (이전 파일 뒤에 하나의 파일이있는 긴 문자열)으로 표시됩니다. 출력을 세로 목록 (한 줄에 한 파일)으로 표시 할 수있는 방법이 있습니까? (업데이트 :이 find방법은 내가 요청한 것을 수행한다는 것을 알았습니다. 그래서 나는 그것으로 실행할 것입니다.)
당신은 말할 수 있습니다 :
rm -i
대화식 모드에서 실행하려면 rm각 파일을 삭제할지 묻는 메시지가 표시됩니다. 각 파일에 대해 no로 답하여 영향을받는 파일을 확인할 수 있습니다.
다음에 ls의해 제거 될 모든 파일을 나열 하는 데 사용할 수 있습니다 rm.
ls ../path/*.txt
재귀로 삭제 될 파일을 보려면 목록을 작성해야하는 경우 rm다음 -R플래그 를 사용하십시오 ls.
ls -R ../path/*.txt
ls */*/*.txt
-R옵션을 선택합니다.