티스토리 뷰

개발 노트/Linux

find 명령어 활용

오리지날초이 2013. 11. 1. 17:41

-exec 명령 : 주어진 명령을 수행한다. 가장 흔히 쓰이는 행동들 중 하나이다, 
명령에 매개변수들을 지정하는 방법은 이 표 다음에서 설명한다. 
이 행동 끝에 \;를 붙어야 한다.

-ok 명령 : -exec와 같되 각 파일마다 명령을 수행하기 전에 사용자에게 확인을 
받는다. 이 행동 역시 끝에 \;를 붙여야 한다.
-print : 파일 이름을 출력한다.


1. root 디렉토리로 부터 *.jpg 를 찾아 현재 디렉토리에 복사하기
☞ find . -type f -name *.jpg -exec cp {} . \;

2. 현재 디렉토리로 부터 10M 이상의 화일을 찾아서 출력하기.
☞ find . -type f -size +10000 -exec ls -alh {} \;

3. 현재 디렉토리로 부터 하루 이상 경과한 화일을 imsi 디렉토리로 이동 시키기.
☞ find . -atime +1 -type f -exec mv {} imsi\;

4. "-F"라는 화일을 찾아 삭제하기.
☞ find . -name "-F" -exec rm {} \;

5. 현재 디렉토리에서 대소문자에 상관없이 " 찾는 문자열" 을 포함한 라인을 출력하기.
☞ find . -exec grep -i "찾는 문자열" {} \;

6. 현재 디렉토리로 부터 *.Z 화일을 제외한 나머지 화일들을 *.Z으로 압축하기
☞ find . \! -name "*.Z" -exec compress -f {} \;

7. 현재 디렉토리로부터 *.Z 화일을 제외하고 또한 "제외할 화일명" 외의 화일들을 터미널 로 출력과 동시에 /tmp/list 에 추가하기
☞ find . -type f \! -name "*.Z" \! -name "제외할화일명" -print | tee -a /tmp/list

8. 현재 디렉토리로부터 이름이 *.ini인 화일을 출력하기
☞ find . -name "*.ini"

9. 현재 디렉토리 이하 서브 디렉토리를 포함한 모든 화일들에 대해 퍼미션 755로 변경하기
☞ find . -exec chmod 755 {} \; or chmod -R 755 ./ ;

10. 현재 디렉토리로 부터 user1 소유자로 표시된 화일들을 모두 user2의 사용자 권한으로 변경하기
☞ find . -user xuser1 -exec chown -R user2 {} \; or chown -R user2 ./

11. 현재 디렉토리로 부터 "찾을 xxx넘"을 대소문자 구별없이 검색하여 출력하기
☞ find . -exec grep -i "찾을 xxx넘" {} \;
☞ find . -grep -i "찾을 xxx넘" {} \;
☞ find . -ls -exec grep "찾을 xxx넘" {} \;

12. 6일 이전의 화일들을 찾아 출력하기
☞ find . -atime +6

13. 30일 이전 업데이트된 화일들의 라인수를 알아보기
☞ find . -atime +30 -exec ls \; | wc -l

14. /raid 디렉토리로 부터 "디렉토리명"을 가진 화일이 존재하면 / 복사할 경로 로 복사 하기.
☞ find /raid -type d -name "디렉토리명" -ok cp /복사할경로 {} \;

15. 찾을 화일 검색도중 에러 및 경고 메시지는 표시하지 않게 하기
☞ find . -name "찾을 화일" -print 2> /dev/null

16. 대소문자 구분없이 " 찾는글"을 포함된 화일에 대한 내용을 출력하지 않고, "찾는넘.list" 화일에 저장 및 more를 통해 검토하기
☞ find . -print -exec grep -i "찾는글" {} \; > 찾는넘.list
☞ find . -print -exec grep -i xeroxrel {} \; | more


17. 파일 권한이 700인 파일을 찾아준다.
☞ find . -perm 700 -print

18. 파일 권한이 400인 파일과 200인 파일을 찾아준다.
(주의: "\"의 앞뒤에 space 가 반드시 있어야 한다."
☞ find . \ ( -perm 400 -o -perm 200 ) -print

19. 파일의 블럭 크기가 1024 이상인 파일을 찾아준다. 
☞ find . -size +1024 -print 

20. 파일 이름이 core이고 크기가 2048블럭 이상인 파일을 찾아준다. 
☞ find . -name core -size +2048 -print 

21. 30일 이전에 억세스되었던 파일을 찾는다. 
☞ find . -atime +30 -print 

22. 7일 이내에 수정된 적이 있는 파일을 찾는다. 
☞ find . -mtime -7 -print 

23. 30일 이전에 억세스된 파일 중 *.c를 찾아 ls -l 한다. 
☞ find . -name \*.c -atime +30 -exec ls -l {} \; 

24. 현재 디렉토리 밑에서 이름이 core인 파일을 찾아 지운다(지우기 전에 정말 
지울 지를 물어본다.) 
☞ find . -name core -exec rm -i {} \; 

25. 마운트된 디렉토리들은 검색하지 말라고 알려주는 효과를 낸다.
☞ find / -mount -name test -print

26. 현재 위치의 df.sh 파일보다 최근에 만들어진 파일형식을 출력한다.
☞ find -newer df.sh -type f -print

27. 현재 위치에서 df.sh 파일보다 최근에 만들어진 모든 것을 출력
☞ find -newer df.sh -print

28. 현재 위치에서 set.sh 파일보다 최근에 만들어진 모든 파일들은 모두 출력 된다.
☞ find . -newer set.sh -type f -exec ls -l {} \;

728x90
반응형

'개발 노트 > Linux' 카테고리의 다른 글

linux bash 응용  (0) 2013.12.03
System monitoring tool in linux  (0) 2013.11.27
tcp port open 확인  (0) 2013.11.01
dos2unix  (0) 2013.10.31
리눅스에서 압축하기, 압축풀기  (1) 2013.10.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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
글 보관함