System/OS
2013.04.23 13:51
[linux] 간단한 find 명령어 설명(업데이트 해야 함)
조회 수 9181 댓글 0
1. 기능
원하는 특정 파일을 디렉토리를 탐색하여 찾는다. find는 매우 강력한 도구로 지정된 조건에 만족하는 파일을 찾는다. 파일의 조건은 이름이나 크기, 날짜 등 다양하게 지정할 수 있다.
2. 문법
# find [ 경로 ] 탐색 조건
3. 옵션-type pattern 형식이 pattern인 것.
b : block device file, c: character device file, d: directory
p : named pipe, f: regular file, l:symbolic link, s:socket
-name 파일명 파일명으로 검색
-size 크기로 검색
-exec 명령 {}\; 검색된 결과에 대해서 지정한 명령을 적용
-user 사용자명 사용자명 소유의 파일을 검색
-amin n n분 이전에 접근한 파일
-atime n n*24시간 이전에 접근한 파일
-ctime n n*24시간 이전에 파일의 상태가 변경된 파일
-mtime n n*24시간 이전에 파일의 내용이 변경된 파일
-empty 크기가 0인 일반 파일 또는 디렉토리
-name 파일명 : 찾고자 하는 파일의 이름을 정한다. 와일드 카드도 가능하다.
-perm 모드 : 파일 권한(permission)이 일치되는 것을 찾는다. 원하는 권한은 ls로 볼 수 있는 형태와 같이 지정한다.
-links : 특정 개수의 링크를 가진 파일을 찾는다. 물음표 부분에 링크의 숫자를 표기한다.
-size : 파일의 크기가 일치하는 것을 탐색한다. 파일 크기는 블록단위로 물음표 부분에 지정한다. 한 블록은 512바이트로 내정되어 있지만 블록 숫자 뒤에 단위로 k자를 붙이면 1키로바이트 크기의 블록 숫자로 간주된다.
-user 사용자 : 파일 사용자의 ID에 따라서 검색한다. 로그인 이름이나 번호 모두가 가능하다.
-exec 명령 : 원하는 검색 조건에 맞는 파일을 찾으면 명시된 명령을 실행한다. 명령의 끝은 \;을 사용하여 끝낸다. find가 검색해낸 파일의 이름을 인수로 사용하고 싶다면 그 위치에 {}를 사용한다.
-newer 파일 : 어떤 파일보다 최근에 갱신된 모든 파일을 검색한다.
4. 사용방법 및 정보
단순한 파일을 찾는 것은 물론, 다양한 조건(파일 모드, 파일 타입, 크기, 시간 등)을 이용하여 원하는 파일 들을 찾을 수 있다.
가) /home 디렉토리 아래의 파일들 중 디렉토리 파일을 검색
<shell>
[root@sense ~]# find /home -type d
/home
/home/lebowski
/home/mysql
/home/sense
/home/linuxone
</shell>
나) 홈 디렉토리 아래에서 크기가 5096kb 이상인 파일을 찾아 자세한 정보(ls ?l)을 출력한다.
<shell>
[root@sense ~]# find ~ -size +5096k -exec ls -l {} \;
-rw-r--r-- 1 root root 669319168 Mar 11 17:10 /root/valhalla-i386-disc2.iso
-rw-r--r-- 1 root root 5563716 Feb 28 11:21 /root/.mozilla/firefox/kazb7qu2.default/Cache/D0709ED3d01
-rw-r--r-- 1 root root 714907648 Mar 5 17:25 /root/images/nuxone/NuxOne_v2.1_RPMS_CD2.iso
-rw-r--r-- 1 root root 596164608 Mar 5 17:01 /root/images/nuxone/NuxOne_v2.1_RPMS_CD1.iso
-rw-r--r-- 1 root root 318918656 Mar 5 17:18 /root/images/nuxone/NuxOne_v2.1_RPMS_CD3.iso
</shell>
다) /usr 디렉토리 내에서 지난 24시간 동안 사용되었던 확장명이 jpg인 모든 파일을 찾아 그 내용을 자세히 출력 시켜준다.
[root@sense ~]# find /usr -name “*.jpg” -atime -1 -exec ls ?l {} \;
라) dev 디렉토리 내에 빈 파일들을 찾는다.
[root@sense ~]# find /dev -type f -empty
참고..
ctime - Many times this is understood as a creation time but that wrong. Ctime is change time of file stats such as ownership, what permissions it has etc.
mtime - File modification time. Value of mtime is updated when content of file changes.
atime - File access time. Value of atime is modified when file is opened.
- ctime : 파일의 정보가 변경된 시간 (chmod, chown 과 연관성 있음)
- mtime : 파일의 내용이 변경된 시간 (ls -l 에서 나오는 시간)
- atime : 파일을 열어본 시간 또는 디렉토리에 cd 명령으로 접근한 시간
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
94 | System/OS | [linux] GD 라이브러리 설치 방법.. | hooni | 2013.04.23 | 11477 |
93 | System/OS | [linux] 처음 설치부터 APM 설치까지 (업데이트 할 것) | hooni | 2013.04.23 | 38352 |
92 | System/OS | [linux] 파일내 문자열 찾아 바꾸기 | hooni | 2013.04.23 | 12275 |
91 | System/OS | [perl] 영규가 만든 스크립트.. 하하.. | hooni | 2013.04.23 | 10683 |
90 | System/OS | [switch] 시스코 카탈리스트(Cisco Catalyst) 기본 설정 | hooni | 2013.04.23 | 17578 |
89 | System/OS | [switch] 시스코 스위치 관리자 암호 초기화 방법 | hooni | 2013.04.23 | 17293 |
88 | System/OS | [windows] 원격 데스크탑(터미널 서비스) 포트 변경 | hooni | 2013.04.23 | 16365 |
87 | System/OS | [linux] X환경 GNOME에서 KDE로 바꾸는 법.. | hooni | 2013.04.23 | 12416 |
86 | System/OS | 무선 인증 서버.. 김도.. ㅋㅋ | hooni | 2013.04.23 | 17707 |
85 | System/OS | 해커스랩 깨기.. 후후.. ㅋㅋ | hooni | 2013.04.23 | 18527 |
84 | System/OS | [linux] /etc/fstab 설정 방법.. ㅋㅋ | hooni | 2013.04.23 | 12164 |
83 | System/OS | [owasp] 10대 웹어플리케이션 보안 취약 | hooni | 2013.04.23 | 16003 |