Peter Ahn
Peter의 우아한 프로그래밍
Peter Ahn
전체 방문자
오늘
어제
  • 전체 (115)
    • 영어공부 (15)
    • 물생활 (9)
    • 독서 (2)
    • 일상 (1)
    • IT 소식 (15)
      • 최신 기술 소식 (10)
      • 보안 소식 (5)
    • 인공지능 (AI) (2)
    • OS (19)
      • Linux (19)
    • Web (0)
      • Vue.js (0)
    • 객체지향 (1)
      • 개념과 원리 (1)
      • 디자인패턴 (0)
    • 프로그래밍 (37)
      • C (14)
      • C++ (3)
      • C# (1)
      • Python (3)
      • Javascript (2)
      • Bash (4)
      • Vim (9)
    • Database (3)
      • DB2 (3)
      • MongoDB (0)
    • 프레임워크 (1)
      • Ionic (1)
    • Cloud (1)
      • AWS (1)
    • 3D Printer (2)
    • 기록보관소 (5)
    • 초대장 (2)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

  • 프로그래밍의 세계에 오신 것을 환영합니다.

인기 글

태그

  • 영어 회화
  • 인공지능
  • 물생활
  • C++
  • call by reference
  • 리눅스 명령어
  • 하프블랙구피
  • bash shell
  • C언어 강좌
  • 쉘 프로그래밍
  • 생활영어
  • 구피어항
  • bash
  • vim 강좌
  • 랜섬웨어
  • 리눅스
  • C언어
  • 딥러닝
  • AI
  • Linux
  • 어항
  • 4차 산업혁명
  • vim 비주얼모드
  • 영어표현
  • 영어 표현
  • typescript
  • vim
  • c강좌
  • 구피
  • 프로그래밍

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Peter Ahn

Peter의 우아한 프로그래밍

[Linux] find 로 파일 찾아서 지우기
OS/Linux

[Linux] find 로 파일 찾아서 지우기

2018. 5. 8. 18:30
반응형

 

개요

 

find 명령어로 파일을 검색하는 방법은 이전 포스팅에서 소개드렸습니다.

[Linux] find 로 파일 검색하기

 

이번 포스팅에서는 검색된 파일들을 지우는 방법을 소개해드리겠습니다.

이 방법을 이용하면 특정 조건을 만족하는 파일들을 찾아서 지우는 것이 가능합니다.

 

예를들면 확장자가 "txt" 인 파일들을 검색하여 지울 수도 있구요, 파일명이 "test"로 시작하는 파일들만 찾아서 지울 수도 있습니다.

 

사용법

 

find PATH [-options] -exec rm {} \;

 

PATH: 검색을 수행할 디렉토리 (해당 디렉토리를 포함한 하위 디렉토리가 검색 대상이 됩니다)

맨 뒤에 \; 는 오타가 아닙니다. 꼭 붙여주세요!

-exec 명령어는 맨 뒤에 ; 까지 argument 로 취하기 때문에 escape 시켜서 넣어주는 것입니다.

 

find . -type f -exec rm {} \;

 

위 명령어의 의미는 지정된 현재디렉토리(.) 기준으로 모든 파일(디렉토리 제외)들을 삭제하는 명령어입니다.

원하는 경로를 설정하면 해당 경로 하위의 모든 디렉토리가 대상이 되기 때문에 되도록이면 root path (/) 를 지정하지 않도록 합시다.

실제 사용할 때는 아래 예제와 같이 -name, -mtime 등의 옵션으로 특정 조건을 만족하는 파일들을 지울 때 사용하면 유용하게 사용할 수 있습니다.

 

 

예제

 

ex) 현재 디렉토리 하위에서 확장자가 "txt" 인 파일 모두 삭제

[root@peterdev test]# find . -type f -name "*.txt" -exec rm {} \;

 

ex) 현재 디렉토리 하위에서 확장자가 "test"로 시작하는 모든 파일 삭제

[root@peterdev test]# find . -type f -name "test*" -exec rm {} \;

 

 

ex) 현재 디렉토리 하위에서 생성된지 30일 이상 된 파일만 삭제

[root@peterdev test]# find . -ctime +30 -type f -exec rm {} \;

 

 

ex) 현재 디렉토리 하위에서 크기가 500 kbyte 이상인 파일만 삭제

[root@peterdev test]# find . -size +500k -type f -exec rm {} \;

 

 

 

 

 

-Peter의 우아한 프로그래밍

여러분의 댓글은 저에게 크나큰 힘이 됩니다. 오류 및 의견 주시면 감사하겠습니다.

 

 

반응형
저작자표시 비영리 동일조건 (새창열림)

'OS > Linux' 카테고리의 다른 글

[Linux] touch 파일 생성하기  (0) 2018.05.09
[Linux] mv 파일 및 디렉토리 이동  (0) 2018.05.09
[Linux] find 로 파일 검색하기  (0) 2018.05.05
[Linux] cp 또는 mv 로 파일 강제로 덮어쓰기  (1) 2018.05.03
[Linux] cp 파일 및 디렉토리 복사  (0) 2018.05.03
    'OS/Linux' 카테고리의 다른 글
    • [Linux] touch 파일 생성하기
    • [Linux] mv 파일 및 디렉토리 이동
    • [Linux] find 로 파일 검색하기
    • [Linux] cp 또는 mv 로 파일 강제로 덮어쓰기
    Peter Ahn
    Peter Ahn
    IT 정보 공유, 프로그래밍 지식 공유

    티스토리툴바