728x90
반응형

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" 명령어이용해도 같은 결과....

 

그럼...오늘은 이만~^^

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,