find 명령어 상세 내용은 첨부 파일 참조하세요.(man pages내용입니다.)
1. /var 디렉토리에서 .c로 끝나는 모든 파일을 찾아서 지우려면...
# find /var -name "*.c" -exec rm {} \;
-> find 명령이 .c파일을 찾을때 마다 rm 명령이 그 파일을 삭제합니다. {}는 현재 경로이름을 나타냅니다.
2. / 디렉토리에 있는 256K보다 큰 파일을 큰 순서대로 5개만 나열합니다.
# find / -xdev -size +512 -ls | sort -r +5
2550 732 -r-xr-xr-x 1 root system 747024 Feb 10 13:45 /sbin/helpers/jfs2/fsck64
1329 692 -rw-rw-r-- 1 root system 705917 Feb 13 09:37 /etc/trcfmt
2549 672 -r-xr-xr-x 1 root system 685630 Feb 10 13:45 /sbin/helpers/jfs2/fsck
2576 436 -rw-r--r-- 1 root system 440674 Feb 18 09:01 /smit.log
1398 372 -rw-rw-r-- 1 root system 380928 Oct 21 02:06 /etc/objrepos/InetServ
-> 여기서 두번째 칼럼이 1024byte로 계산되어진 크기입니다. 즉 첫번째라인의 파일의 크기는 732KB를 가르킨다.
-> -xdev 옵션을 주게 되면, /(root)디렉토리를 지정했지만, 파티션이 따로 잡힌 /usr 이나 /var등의 파일 시스템에 대해서는 검색하지 않는다.
아래는 -ls 옵션 대신에 -print 옵션을 사용하여 출력한 결과이다. 근데 이상하게 순서가 제대로 안 나오네요.~
# find / -xdev -size +512 -print | sort -r +5
/smit.log
/sbin/helpers/jfs2/fsck64
/sbin/helpers/jfs2/fsck
/etc/trcfmt
/etc/objrepos/InetServ
아래는 사이즈가 1MB보다 큰 파일 중 큰 순서대로 5개 출력하는 것입니다.
# find /var -xdev -size +2048 -ls | sort -r +5
4408 2884 -r--r--r-- 1 imnadm imnadm 2950317 Oct 21 03:13 /var/docsearch/indexes/vac6jajp/data/VAC6JAJP.POS
4429 1900 -r--r--r-- 1 imnadm imnadm 1942872 Oct 21 03:13 /var/docsearch/indexes/vac6zhcn/data/VAC6ZHCN.POS
466 1724 -r--r--r-- 1 imnadm imnadm 1761304 Oct 21 03:14 /var/docsearch/indexes/caixjajp/data/CAIXJAJP.POS
4388 1108 -rw-rw-r-- 1 imnadm imnadm 1146880 Oct 21 03:13 /var/docsearch/indexes/vac6enus/data/imncoxp1.dat
4695 9784 -rw-r--r-- 1 root system 10006715 Feb 17 14:45 /var/tmp/snmpdv3.log
27 1764 -r--r--r-- 1 root system 1803877 Feb 10 13:41 /var/adm/invscout/xerces.jar
81 1712 -rw-rw-r-- 1 adm adm 1750896 Feb 18 16:03 /var/adm/wtmp
3. 최근 수정된 파일을 찾아보자
# touch 02181710 aaa
( 여기서, mm은 월, dd는 날짜, hh는 시간(24시간 형태), mm은 분을 나타냄)
(2월18일 17시 10분에 만들어진 것을 나타난다.)
# ls -ld aaa
-rw-r--r-- 1 root system 0 2월 18 17:10 aaa
# find / -xdev -newer aaa -ls
94 12 -rw------- 1 root system 8670 Feb 18 17:53 /.sh_history
4228 0 crw--w--w- 1 root system 39, 3 Feb 18 17:53 /dev/pts/3
2 0 dr-xr-xr-x 1 root system 0 Feb 18 17:53 /proc
-> aaa파일이 생성된 시점이후에 새롭게 만들어진 파일을 출력한다.
즉,위와 같이 하면 2월 18일 17시 10분 이후 시점부터 출력하겠죠/.//
위와 같은 명령들은 /(root) 나 /var 파일 시스템이 full이 났을 경우, 아주 유용하게 찾아낼 수 있습니다. 보통 관리자나 사용자의 잘못된 실수로 파일시스템이 풀이 나는 경우가 많으니까요?
일일히 ls -al 명령으로 찾으려면, 시간이 많이 걸리겠죠~~^
[팁] KSH에서 이전 실행했던 명령어의 내용을 확인하기.
# strings /.sh_history | tail -10 $1
-> 이렇게 하면 최종적으로 실행했던 10개의 명령 리스트가 나옵니다. ㅋㅋㅋ
-->다른 방법 "fc -l 10" 명령어이용해도 같은 결과....
그럼...오늘은 이만~^^
[출처] [AIX] 유용한 find 명령어에 대해서...|작성자 팽이
'UNIX&LINUX > AIX' 카테고리의 다른 글
[AIX] 파일시스템 용량 늘리기 (0) | 2014.05.13 |
---|---|
[AIX] find 명령어의 활용 ( 예제) (0) | 2014.05.12 |
AIX, UNIX, 로그파일 30일이 지난 파일들 정리하기 (0) | 2014.05.12 |
AIX 5.2 에서는 find 에 -mmin 옵션이 없다? (0) | 2014.03.26 |
[AIX] find 명령어의 활용 ( 예제) (0) | 2014.03.26 |
AIX (UNIX) 서버 언어(LANG)팩 변경하기 (C Shell) (0) | 2014.03.10 |
USER 및 그룹 변경 (0) | 2014.03.06 |
[AIX] ssh 연결 제한 (0) | 2014.03.06 |