작성자 PG의 글

리눅스에서 특정 확장자 또는 특정 파일명을 가진 여러 디렉토리 안의 파일을 일괄적으로 삭제하려면 find 명령어를 이용하면 됩니다.

find 명령어는 디렉토리 안에 있는 파일을 검색하는 명령어로 특정 조건을 지정해서 파일을 검색할 수 있는데요.

find 명령어와 파일을 삭제하는 명령어인 rm 을 조합해서 특정 확장자 또는 특정 이름이 들어간 파일명을 검색하고 검색결과로 나온 파일을 삭제하는 방식으로 조건에 부합하는 파일을 일괄적으로 삭제할 수 있습니다.

rm으로 파일, 확장자 일괄 삭제하기

디렉토리 안의 특정 확장자 일괄 삭제 명령어

하나의 디렉토리 안에 있는 특정 확장자를 삭제하려면 find 명령어를 사용하지 않아도 됩니다.

rm *.jpg
rm -f /home/user/*.tar.bz2

위와 같이 별표(*)를 이용해 특정 확장자를 와일드카드로 지정하면 해당 확장자를 가진 파일만 삭제할 수 있습니다.

디렉토리 지정 없이 사용하면 현재 위치한 디렉토리 내의 파일을 삭제하며 디렉토리 경로 뒤에 붙여서 와일드카드와 함께 확장자를 지정하면 해당 디렉토리 내에 있는 파일에서 해당 확장자를 일괄 삭제합니다.

-f 명령어 옵션을 함께 사용하면 삭제 확인 메시지를 건너뛰고 파일을 삭제하므로 일괄 삭제시 사용하면 편리한 옵션입니다.

디렉토리 안의 특정 파일명 일괄 삭제 명령어

파일명에 특정 문자가 들어가는 파일을 일괄 삭제하고 싶다면 다음과 같은 문법을 이용합니다.

rm *picture*.*

첫번째 예제는 현재 위치한 디렉토리 하위에 있는 파일 중 파일명에 picture가 포함되어 있는 모든 확장자를 삭제하는 명령어입니다.

rm /home/user/*thumb*.jpg

두번째 예제는 디렉토리 경로를 지정해서 해당 디렉토리 안에 있는 파일 중 thumb가 들어간 jpg 파일을 일괄 삭제하는 명령어입니다.

rm 명령어와 와일드카드를 조합하는 명령어 방식은 해당 디렉토리 하위에 여러 디렉토리가 있는 경우 이 명령어를 매번 실행해야하는 번거로움이 있습니다.

하위 디렉토리에 있는 특정 확장자, 특정 파일 일괄 삭제하기

리눅스 커맨드에서 현재 디렉토리 또는 절대경로를 지정한 후 해당 디렉토리 하위의 여러 디렉토리에서 특정 파일을 일괄 삭제하려면 서두와 같이 find 명령어를 함께 사용합니다.

Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

find의 명령어 syntax 입니다. 파일을 삭제하는 명령어 rm을 함께 사용하기 위해서 exec 옵션을 사용합니다.

디렉토리 하위에 있는 모든 확장자를 삭제하는 명령어

find . -type f -name"*.jpg" -exec rm {} \;

현재 디렉토리 하위에 있는 jpg 확장자를 가진 파일을 하위 디렉토리 안에 있는 파일까지 일괄 삭제하는 명령어 예제입니다.

디렉토리 하위에 있는 특정 파일명을 모두 삭제하는 명령어

find /var/www/ -type f -name "*thumb*" -exec rm {} \;

/var/www 디렉토리 하위에 있는 모든 파일 중에서 thumb 이름이 들어간 파일을 삭제하는 명령어입니다.

디렉토리 하위에 있는 파일 중 생성(변경)된지 7일 이상 된 파일 모두 삭제하는 명령어

find /etc/cache/ -ctime +7 -type f -exec rm {} \;

-ctime 옵션은 파일이 마지막으로 변경된 날짜와 시간을 체크하는 명령어로 파일이 생성되거나 파일 속성 및 데이터가 변경된 경우 갱신됩니다.

/etc/cache 디렉토리 하위에 있는 파일 중 생성된지 7일 이상 된 캐시 파일을 모두 삭제하는 명령어로 다른 옵션을 응용해서 활용할 수 있습니다.

  • -atime 파일에 마지막으로 접근한 날짜와 시간
  • -mtime 파일이 마지막으로 수정된 날짜와 시간

위 명령어를 이용해서 batch 파일을 만든 다음 크론탭에 등록하면 주기적으로 자동 삭제를 할 수 있습니다.

How To Disable Hyper V In Windows 11 Title
윈도우11 Hyper-V 비활성화 하는 방법
윈도우11에서 버추얼박스 또는 VMware를 이용해 가상 컴퓨터를 사용하거나 블루스택 같은 안드로이드 계열 에뮬레이터를 사용하려면 오류가 발생하기 때문에 Hyper-V를 비활성화해야 하는데요.…
How To Enable Windows 11 Home Edition Hyper V Title
윈도우11 홈 에디션 Hyper-V 활성화하는 방법
윈도우11에서 WSL를 이용한 리눅스 실행이나 안드로이드 시스템등 리눅스 기반의 플랫폼을 온전히 사용하기 위해서 Hyper-V 가상화를 활성화해야 하는 사전 설정이 필요한…
How To Set Live Wallpaper On Galaxy Smartphone Title
갤럭시 라이브 배경화면 설정하는 방법
갤럭시 스마트폰에서 잠금화면으로 움직이는 라이브 배경화면을 설정하고 싶은 경우가 있습니다. 라이브 배경화면은 기본적으로 갤럭시 스토어에서 다운로드 받거나 앱을 이용해야 하는데요.…
How To Turn Off Edge Password Storage Title
엣지 비밀번호 저장 기능을 끄는 방법
엣지 브라우저에서 사이트에 로그인할 때 계정 정보를 입력하면 비밀번호 저장 팝업이 뜨면서 암호를 저장하는 기능을 수행하는데요. 비밀번호를 저장해두면 다음에 로그인을…
How To Turn Off Windows 11 More Options Title
윈도우11 더 많은 옵션 표시 없애는 방법
윈도우11에서 마우스 우클릭을할 때 나타나는 콘텍스트 메뉴(Context menu)는 선택한 파일 또는 프로그램에 관련된 메뉴가 표시되는 역할을 합니다. 뿐만 아니라 파일…
How To Fix Ms Store 0x803f8001 Account Error Title
MS 스토어 0x803F8001 계정 오류 해결 방법
Windows 앱은(는) 현재 계정에서 사용할 수 없습니다. 필요한 경우 오류 코드는 0x803F8001입니다. MS 스토어에서 마인크래프트, 포르자 호라이즌과 같은 게임이나 아이튠즈…
How To Use Emoticons On Your Galaxy Smartphone Keyboard Title
갤럭시 키보드 이모티콘 사용하는 방법
갤럭시 스마트폰에서 키보드를 입력할 떄 키보드에 이모티콘(이모지)을 선택하는 아이콘이 없어서 감정 표현 없이 밋밋하게 텍스트를 입력할 때가 있는데요. 카톡이나 인스타를…