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)

블로그 메뉴

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

공지사항

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

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Peter Ahn

Peter의 우아한 프로그래밍

[Linux] find 로 파일 검색하기
OS/Linux

[Linux] find 로 파일 검색하기

2018. 5. 5. 10:30
반응형

개요

find 명령어는 리눅스에서 파일을 검색하는 명령어입니다.

특정 조건을 만족하는 파일들을 찾아서 화면에 출력할 수도 있고, 추가 명령어를 실행하여 처리할 수도 있습니다.


예를들면 파일명에 "hello" 가 들어간 파일들을 모두 검색하거나, 파일을 제외하고 디렉토리만 검색하여 출력하고자 할 때 find 명령어를 사용합니다. 

일반적으로 ls 와 grep 을 사용하여 출력하는 방법보다 빠르고 효율적입니다.


사용법

리눅스에서 사용되는 명령어는 모두 대소문자를 구분하니 주의해주세요.

find 명령어에 대한 자세한 설명은 find --help 명령어를 통해 볼 수 있습니다. 

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

default path is the current directory; default expression is -print
expression may consist of: operators, options, tests, and actions:

기본 경로는 현재 디렉토리이고, 기본 옵션은 -print 라고 나와있네요.

따라서 아무것도 없이 그냥 find 라고만 입력하면 현재 디렉토리 하위의 모든 디렉토리 및 파일들을 화면에 출력해줍니다.


예제

ex) 현재 디렉토리 하위의 디렉토리만 출력

[root@peterdev test]# find . -type d
.
./peter
./john
[root@peterdev test]#

-type d : 디렉토리 타입

-type f : 파일 타입


ex) 현재 디렉토리 하위에서 대소문자 구분 없이 language로 시작하는 모든 파일 출력

[root@peterdev test]# find . -type f -iname "language*"
./peter/language.python
./peter/language.bash
./peter/language.c
./peter/language.cpp
./peter/language.korean
./peter/language.english
./peter/language.delphi
./peter/language.java
./peter/language.javascript
[root@peterdev test]#

표현식(expression)에는 위 예제에서와 같이 와일드 카드 문자(wild card charactor)를 사용할 수 있습니다.


※ 와일드 카드 문자란?

하나 또는 많은 문자를 나타내는 데 사용될 수 있는 키보드 문자.

일반적으로 운영 체계에서 복수의 파일을 이름으로 지정하는 수단으로 사용된다.


-name "expression" : 대소문자 구분하여 파일명으로 검색

-iname "expression" : 대소문자 구분하지 않고 파일명으로 검색



ex) 현재 디렉토리 하위에서 수정된지 300분 이상 된 파일만 검색

[root@peterdev test]# find . -mmin +300 -type f
./test1.txt
./test2.txt
[root@peterdev test]#

-mmin : 수정시간 기준 (분단위)

-mtime : 수정시간 기준 (일단위)

-cmin : 생성시간 기준 (분단위)

-ctime : 생성시간 기준 (일단위)



ex) 현재 디렉토리 하위에서 크기가 0바이트 이상인 파일만 출력

[root@peterdev test]# ls -l
total 12
drwxr-xr-x 2 root root 4096 May  3 14:27 john
drwxr-xr-x 2 root root 4096 May  3 14:27 peter
-rw-r--r-- 1 root root   33 May  3 14:48 test1.txt
-rw-r--r-- 1 root root    0 May  3 05:13 test2.txt
[root@peterdev test]# find . -size +0c -type f
./test1.txt
[root@peterdev test]#

-size -100c : 100 byte 이하

-size +500k : 500 kbyte 이상




-Peter의 우아한 프로그래밍

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

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

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

[Linux] mv 파일 및 디렉토리 이동  (0) 2018.05.09
[Linux] find 로 파일 찾아서 지우기  (5) 2018.05.08
[Linux] cp 또는 mv 로 파일 강제로 덮어쓰기  (1) 2018.05.03
[Linux] cp 파일 및 디렉토리 복사  (0) 2018.05.03
[Linux] ls (파일 목록 보기)  (0) 2017.04.03
    'OS/Linux' 카테고리의 다른 글
    • [Linux] mv 파일 및 디렉토리 이동
    • [Linux] find 로 파일 찾아서 지우기
    • [Linux] cp 또는 mv 로 파일 강제로 덮어쓰기
    • [Linux] cp 파일 및 디렉토리 복사
    Peter Ahn
    Peter Ahn
    IT 정보 공유, 프로그래밍 지식 공유

    티스토리툴바