일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바키워드
- 웹호스팅
- 웹퍼블리싱
- postcodify
- 웹퍼블리셔
- 자바스크립트
- 홈페이지제작
- 무료사이트
- php호스팅
- 문자열 뒤집기
- 호스팅
- 새우편번호
- 무료 웹 호스팅
- 무료제작
- php
- 무료 호스팅
- 우편번호 API
- 퍼빌리셔
- 무료 홈페이지
- 우체국 우편번호
- 복사방지
- 글자뒤집기
- 무료
- 무료 홈페이지 제작
- 클릭해제
- 무료호스팅
- 무료홈페이지
- 무료서버
- 마우스 오른쪽 버튼
- 마우스오른쪽
- Today
- Total
Developer Factory
FIND 명령어 사용방법 Linux Only 본문
find - 파일찾기
find 명령어는 파일 시스템에서 주어진 조건으로 파일을 찾는다.
사용법을 살펴보자.
find 대상디렉토리 검색 조건 처리 방법
대상 디렉토리 : 찾기를 시작할 디렉토리를 지정한다.
검색 조건 : 찾을 조건을 지정한다.
-name filename
파일 이름으로 찾는다.
-atime +n
access time 이 n일 이전인 파일을 찾는다.
-atime -n
access time이 n일 이내인 파일을 찾는다.
-mtime +n
n일 이전에 변경된 파일을 찾는다.
-mtime -n
n일 이내에 변경된 파일을 찾는다.
-perm nnn
파일 권한이 nnn인 파일을 찾는다.
-type x
파일 타입이 x인 파일들을 찾는다.
-size n
사이즈가 n이상인 파일들을 찾는다.
-links n
링크된 개수가 n인 파일들을 찾는다.
-user username
user이름으로 찾는다.
-group groupname
group 이름으로 찾는다.
처리방법 : 찾은 파일을 어떻게 할 것인지를 지정한다.
-print
찾은 파일의 절대 경로명을 화면에 출력한다.
-exec cmd {};
찾은 파일들에 대해 cmd 명령어를 실행한다.
예를 들어보자.
$ find /user4 -name test* -print
/user4 아래에서 파일이름이 test로 시작하는 모든 파일을 찾아서 화면에
보여준다.
$ cd /
$ find . -name ping -print
root 디렉토리 밑에서 파일이름이 ping인 파일을 찾아 절대 경로명을 화면에
출력한다.
$ cd /
$ find /usr -name *.c -print
/usr 밑에 이름이 .c로 끝나는 모든 파일들을 찾아 경로명을 보여준다.
$ cd /
$ find $home -name who.txt -print
home 디렉토리 아래에 who.txt라는 파일을 찾아 경로명을 보여준다.
$ cd /
$ find . -type d -print
파일 타입이 d인 파일을 찾아 경로명을 화면에 출력한다.
$ cd /
$ find /dev -type c -print
/dev디렉토리 아래에서 파일 타입이 c인 파일을 찾아 경로명을 보여 준다.
$ cd /
$ find . -perm 700 -print
파일 권한이 700인 파일을 찾아준다.
$ cd /
$ find . \ ( -perm 400 -o -perm 200 ) -print
파일 권한이 400인 파일과 200인 파일을 찾아준다.
(주의 : "\"의 앞뒤에 space 가 반드시 있어야 한다.)
$ cd /
$ find . -size +1024 -print
파일의 블럭 크기가 1024 이상인 파일을 찾아준다.
$ cd /
$ find . -name core -size +2048 -print
파일 이름이 core이고 크기가 2048블럭 이상인 파일을 찾아준다.
$ cd /
$ find . -user unix01 -print
파일 소유자가 unix01인 파일을 찾아준다.
$ cd /
$ find . -group unix -print
사용자그룹이 unix인 파일을 찾아준다.
$ cd /
$ find . -atime +30 -print
30일 이전에 억세스되었던 파일을 찾는다.
$ cd /
$ find . -mtime -7 -print
7일 이내에 수정된 적이 있는 파일을 찾는다.
$ cd /
$ find . -name core -exec ls -l {} \;
이름이 core인 파일을 찾아서 ls -l 한다.
$ cd /
$ find . -name \*.c -atime +30 -exec ls -l {} \;
30일 이전에 억세스된 파일 중 *.c를 찾아 ls -l 한다.
$ cd /
$ find . -name core -exec rm -i {} \;
현재 디렉토리 밑에서 이름이 core인 파일을 찾아 지운다(지우기 전에 정말
지울 지를 물어본다.)
find ./ -size +100 -exec ls -al {} ;
find /var/spool/mail -atime +5 -exec rm {} ;
아래는 특정한 문자열을 검색하여 파일명을 출력하여 줍니다.
find . -type f -exec grep "string" /dev/null {} ;
주의할 것은 조건에 맞는 파일의 개수가 많은 경위 쉘의 명령행 버퍼의 범위를 벗어나므로 문제가 생길수 있다는 것입니다.
명령행 버퍼의 오버플로우를 방지하기 위해서 다음과 같이 하십시요.
find . -type f | xargs grep "string"
여기서 string는 검색 문자열입니다.
-----------------------------------------------------------
유닉스 시스템에서 어떤 큰 화일이 시스템을 소비하는지
알고 싶으세요?
그렇다면 아래와 같이 입력해보세요.
큰 화일이 sort되어서 나온답니다.
find /var -mount -ls -xdev | /usr/bin/sort -nr +6 | more
또 다른 예로 매주 일요일 새벽 2시에 access한 날짜가 2일 이상인 파일을
/tmp 에서 지우려면
0 2 * * 0 find /tmp -atime +2 -exec rm {} ;
'Developer > Linux' 카테고리의 다른 글
우분투(Ubuntu) sudo 권한 부여하기 (0) | 2014.06.16 |
---|---|
리눅스 ln 명령어 (0) | 2014.06.16 |
리눅스 vi 에디터 사용법 (0) | 2014.06.16 |
리눅스 기본명령어 (0) | 2014.06.16 |
Linux 디렉토리 구조 Linux Only (0) | 2014.06.16 |