본문 바로가기
OS/Cent OS

파일검색 Find

by 티옌.liy 2017. 2. 4.

find - 검색


사용법 : find [경로] [옵션] [파일이름] [액션]



find . -perm [소유권] : 정확하게 [소유권]과 일치하는 파일

       +[소유권] : [소유권]을 초함한 추가적인 [소유권]을 가진 파일

       - [소유권] : [소유권]에서 하나의 bit라도 일치하는 [소유권]을 가진 파일



find action


1) delete - 검색결과를 삭제한다.


[ 예시 ]

# touch test{1..10}                             test1~10 파일 생성.

# find . -type f -name "test*" -delete     현재 경로에서 타입이 일반파일( f )이고, 이름에 "test"가 있는 파일을 삭제하라.


2) exec [명령어] \; - 검색결과를 지정한 명령어로 처리한다.

[ 예시 ]

# find . -empty -exec ls -l \;

==> ls -l 을 3번 친것과 같은 결과


3) exec [명령어] { } \; - 검색 결과를 차례대로 매칭하면서 지정된 명령어를 실행한다.

[ 예시 ]

# find . -empty -exec ls -l {} \;

==> ls -l fiel1

 ls -l file2

 ls -l file3


# find -name "0??1" -exec gzip {} \;

==> 파일이름이 "0xx1"인 파일만 gzip으로 압축한다.



[문제]

1. find를 사용하여, 크기가 10Kbyte인 파일을 정렬해보기.

# find . -size 10k -exec ls {} \;


2. find를 사용하지 않고 크기가 10K인 파일명만 출력하고, 이름의 숫자가 작은순으로 정렬해보기

# ll -h | grep 10K | cut -d " " -f 8 | sort -n


3. delete를 사용하지 않고 find를 이용하여 10K파일 삭제

# find . -size 10k -exec rm {} \;



xargs ( eXtended Arguments )


- 표준 출력 값(파일이름)을 이용하여 명령을 샐행한다.

- find와 사용시 결과물을 다음 명렁어에 인자로 전달하는 역할

- 여러 명령어와 함께 조합하여 사용할 수 있다.


사용법 : xargs [옵션] [명령어]

옵션

- i : 인자로 문자열을 전달

- t : 상세한 정보를 출력


사용예) 모든 파일 이름 뒤에 .perm이라는 확장자가 붙도록 변경

# ls | xargs -t -i mv {} {}.perm

==> ls로 리스트 출력후, xargs의 -t로 정보를 출력한뒤 -i 를 이용하여 mv로 이름 변경


원상복구

# ls | cut -d "." -f 1 | xargs -t -i {}.perm {}

==> ls로 리스트 출력후, .perm 글자를 없앤후, xargs로 정보출력뒤 -i와 mv로 이름변경




















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

chkconfig 과 service  (0) 2017.02.05
리눅스의 부팅 과정  (0) 2017.02.05
LVM ( Logical Volume Manager )  (0) 2017.02.05
압축과 아카이브  (0) 2017.02.04
쿼터(Quota) - 사용자 공간 할당  (0) 2017.02.04
디스크 고장 및 복구  (0) 2017.02.04

댓글