RadarURL

유닉스/리눅스
2014.08.09 01:14

리눅스 명령어 : find 활용법

조회 수 1450 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

# 파일 이름으로 찾기
find ./ -name filename : 파일 이름으로 찾기


# access time 으로 파일 찾기
find ./ -atime +5 // access time이 5일 이전인 파일 찾기. 즉, access한지 5일이 넘은 파일들
find ./ -atime -5  // access time이 5일 이내인 파일 찾기. 즉, access한지 5일이 넘지않은 파일들


# 수정한 시간으로 파일 찾기
find ./ -mtime +5 // 5일 이전에 수정된 파일 찾기. 즉, 수정된지 5일이 넘은 파일들
find ./ -mtime -5 // 5일 이내에 수정된 파일 찾기. 즉, 수정된지 5일이 넘지않은 파일들


# 퍼미션으로 찾기
find ./ -perm 777 // 퍼미션이 777인 파일 찾기
find ./ \ ( -perm 644 -o -perm 200 ) -print


# 파일 타입이 으로 파일 찾기
find ./ -type f     // 파일 타입이 파일인 파일만 찾기(주의, 옵션에 "-"을 붙이지 않는다)
find /dev -type c -print   // 파일 타입이 c인 파일들 찾기

[옵션]
f : 파일
d : 디렉토리
l : 심볼링크
s : 소켓파일
b : block special
c : character special
p : named pipe


# 파일 크기로 찾기
##[-size n] 파일 크기가 n 이상인 파일 찾기
##[-size n] 정확히 n x 512 byte 의 길이를 갖는 파일
find ./ -size 1   // 파일 크기가 512 byte인 파일 찾기
find ./ -size +1024 -print // 파일 블럭크기가 1024 이상인 파일 찾기
find ./ -name core -size +2048 -print // 파일 이름이 core이고 크기가 2048 이상인 파일 찾기


##[-links n] 링크된 갯수가 n인 파일 찾기
find ./ -links 5 // 링크된 갯수가 5개인 파일 찾기


##[-user username] 파일 소유권이 user인 파일 찾기
find ./ -user kosthb // 파일 소유권이 kosthb인 파일 찾기


##[-group groupname] 파일 그룹이 group인 파일 찾기
find ./ -group kosthb // 파일 그룹이 kosthb인 파일 찾기


##########               처리 방법               ##########
##[-print] 찾은 파일의 경로 출력
find ./ -name filename -print // filename의 경로를 보여준다

##[-exec cmd {} \;] 찾은 파일들에 대해 cmd 명령어를 실행한다.
find ./ -name filename -exec ls -al {} \;

## 30일 이전에 엑세스된 파일중 *.c 파일을 찾는다
## 엑세스 된지 30일이 넘은 파일들을 찾는다
find ./ -name \*.c -atime +30 -exec ls -l {} \;



. 시스템 관리 명령 [3] -  find

find 명령어는 시스템 관리 명령중 가장 많이 사용되는 명령어 중 하나이다.
이 명령어의 다양한 기능을 많이 알수록 관리자의 불필요한 삽질을 최대한 줄일수
있을것이다.

option :

-atime  n : 정확히 n 일 전에 access 된 파일
-mtime  n : 정확히 n 일 전에 수정된 파일
-newer [file] : file 보다 최근에 수정된 파일
-size  n  : 정확히 n x 512 byte 의 길이를 갖는 파일
-type  c  : 파일의 종류를 기술. f: 파일 d: 디렉토리
-fstype [filesystem] : 파일 시스템 종류
-name [pattern] : 파일 이름 검색
-perm  p  : 파일 접근 퍼미션이 p 인 경우
-user  [user] : 파일 소유권이 user 인 파일
-group [group] : 파일 그룹이 group 인 파일
-nouser : 파일 소유자가 /etc/passwd 에 없는 경우 
-nogroup : 파일 소유그룹이 /etc/group 에 없는 경우
-uid  n : 파일 uid 가 n 인 경우
-gid  n : 파일 gid 가 n 인 경우


단순히 위의 옵션되로 사용하면 그렇게 유용해 보이지 않을수 있겠죠.
예를 들어 누가 정확히 3일전에 접근한 파일들을 검색하겠습니까..?
하지만 +, - 기호를 이용하여 기간,시간,크기와 같은 수치들의 범위를
지정할수가 있습니다.
+ 는 ~~보다 큰 경우, - 는 ~~ 보다 작은 경우

-mtime +7 : 수정 된지 7일이 지난 파일
-mtime -7 : 수정 된지 7일이 안된 파일
-size +100 : 50kbyte 보다 큰 파일

-name 뒤엔 인용부호 (와일드 카드 문자) 를 같이 사용할수 있다.

-name *.dat : 확장자가 dat 인 모든 파일

이런 옵션들을 차례로 기술하여 파일을 찾을 경우 AND 연산이 적용된다.
하지만 -o 옵션을 이용하여 OR 을 적용할수도 있고 ( ) 를 이용하여 그
룹을 지어 적용할수도 있다. 이밖에 NOT 연산도 가능한데 옵션 앞에 !
부호를 달아 주면 된다. 밑의 몇가지 예를 살펴 보자.

# find ./ -atime +60 -mtime 120
( AND 논리연산으로 접근한지 60일 지난 파일중 수정한지 120 일 지난 파일 )

# find ./ \( -user design -o -group design \)
(OR 논리연산으로 소유자나 그룹이 design 인경우 )

# find ./ \( ! -user design -o ! -group design \)
(NOT 논리연산으로 소유자나 그룹이 design 이 아닌 경우 )

-perm 옵션은 숫자형태의 특정 접근 모드를 이용하여 파일을 검색하는 옵션이다.
옵션별 사용예를 들어 보자.

-perm 75 : permission = 755
-perm -002 : 모든 사람들이 기록할수 있는 파일
-perm -4000 : SUID 액세스 설정
-perm -2000 : SGID 액세스 설정

이밖에 지원 되는 내부 옵션이 있다.

-print : 대응되는 파일의 경로명을 출력
-ls : 대응되는 파일에 대한 긴 디렉토리 목록을 출력
-exec commands : 대응대는 파일에 대해 commands 명령 수행
-ok commands : 파일에 대한 commands 명령 수행전에 입력 대기 상태
-xdev : 검색 시작 디렉토리가 속해 있는 파일 시스템에 대해서만 검색 제한
-mount : IRIX 와 SCO UNIX 에서 -xdev 옵션
-prune : 서브 디렉토리는 검색을 하지 않음

-print 옵션은 근래는 기본으로 들어간다. 굳이 붙일 필요는 없고, -exec, -ok
옵션 사용시에는 반드시 마지막에 \; 으로 구문을 마감해야 한다.

예를 들어서 find 로 검색한 파일을 지우기 위해서는 다음과 같이 한다.

# find ./ -name *.* -exec rm -f {} \;

이와 같이 find 명령어를 이용한 시스템 관리 방법 예를 몇가지 들어 보겠다.

1. 파일 크기가10M 이상이며 한달 이상동안 수정되지 않은 파일을 찾는다.
# find / -type f -size +20480 -mtime +30 -ls
# find / -type f -size +20480 -mtime +30 -exec rm -f {} \;
(대응되는 파일삭제)

2. 보안에 관련된 팁이다. 모든 setuid, setgid 를 검색한다.
# find / -type f \( -perm -4000 -o -perm -2000 \)
# find / -type f \( -perm -4000 -o -perm -2000 \) | diff - setuidlist
(찾아된 setuid,setgid를 기존에 작성한 목록과 비교하여 새로 추가 된것이 있는지
를 확인한다. )


# 기타 옵션
-amin N : N 분 이전 부터 access했던 file찾기
-atime N : N 시간 이전부터 access했던 file찾기
-ctime N : N 시간 이전에 상태가 변경된 파일 찾기
-mtime N : N 시간 이전에 내용이 변경된 파일 찾기
-empty : file의 크기가 0인 것을 찾기
-typec : 확장자가 c인 파일 찾기


출처 : http://www.lhb.kr/entry/%B8%AE%B4%AA%BD%BA-%B8%ED%B7%C9%BE%EE-find

?

공부 게시판

공부에 도움되는 글을 올려주세요.

  1. [공지] 공부 게시판 입니다.

    Date2003.08.18 By처누 Views928102
    read more
  2. [U2L] Unix to Linux 기대효과 분석

    Date2023.05.16 Category유닉스/리눅스 ByJaeSoo Views1258
    Read More
  3. 리눅스 inodes full 이슈 해결 방법

    Date2023.05.02 Category유닉스/리눅스 ByJaeSoo Views169
    Read More
  4. inode full

    Date2023.05.01 Category유닉스/리눅스 ByJaeSoo Views115
    Read More
  5. 마이크로서비스 아키텍처(MSA) 개념 소개

    Date2023.01.26 Category유닉스/리눅스 ByJaeSoo Views170
    Read More
  6. 리눅스(Linux) 디렉토리 구조

    Date2016.10.20 Category유닉스/리눅스 ByJaeSoo Views693
    Read More
  7. ssh서버가 비밀번호를 거부했습니다. 다시 시도하십시오.

    Date2016.08.23 Category유닉스/리눅스 ByJaeSoo Views302
    Read More
  8. [리눅스] IP 설정 변경 하기

    Date2016.08.23 Category유닉스/리눅스 ByJaeSoo Views326
    Read More
  9. 리눅스 설치후 초기설정해야 할 것들 [2]

    Date2016.07.13 Category유닉스/리눅스 ByJaeSoo Views400
    Read More
  10. 리눅스 설치후 초기설정해야 할 것들 [1]

    Date2016.07.13 Category유닉스/리눅스 ByJaeSoo Views360
    Read More
  11. 쉘 프로그래밍을 이용한 시스템 관리 기법

    Date2016.05.12 Category유닉스/리눅스 ByJaeSoo Views679
    Read More
  12. AIX 자주 쓰이는 관리 명령 모음

    Date2016.05.12 Category유닉스/리눅스 ByJaeSoo Views615
    Read More
  13. AIX 시스템상의 core, SMT(Simultaneous Multi Threading) 수 확인하기

    Date2016.05.12 Category유닉스/리눅스 ByJaeSoo Views695
    Read More
  14. 리눅스 호스트명 변경

    Date2016.05.11 Category유닉스/리눅스 ByJaeSoo Views728
    Read More
  15. AIX 서버 기초

    Date2016.05.11 Category유닉스/리눅스 ByJaeSoo Views630
    Read More
  16. AIX Admin Study 교육 자료

    Date2016.05.11 Category유닉스/리눅스 ByJaeSoo Views715
    Read More
  17. 성능 엔지니어링 대한 접근 방법 (Performance tuning)

    Date2016.05.05 Category유닉스/리눅스 ByJaeSoo Views874
    Read More
  18. Linux/Unix용 nmon 설치 및 구성

    Date2016.05.04 Category유닉스/리눅스 ByJaeSoo Views773
    Read More
  19. [AIX] 파일시스템 관리 (du, df)

    Date2016.05.04 Category유닉스/리눅스 ByJaeSoo Views770
    Read More
  20. IBM AIX Admin (사용자 DISK 관리)

    Date2016.05.04 Category유닉스/리눅스 ByJaeSoo Views686
    Read More
  21. [UNIX] 유닉스 기본명령어

    Date2016.05.04 Category유닉스/리눅스 ByJaeSoo Views562
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너