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 |
댓글