2009. 11. 9.

[find] 명령어

[find] 명령어

find ---주어진 파일명과 동일한 파일을 찾고, 그 경로를 출력한다.

# find / -name newbie -print

최상위 루트 디렉토리부터 검색하여 검색된 파일을 한 행에 하나씩 표준 출력

# find . -name newbie -print

현제의 작업 디렉토리에서 검색

# find / -size +1000 -print

최상위 루트에서 크기가 1000블록 이상인 파일 검색

# find . -size -1000 -print

현 디렉토리에서 크기가 1000블록 이하인 파일 검색

# find . -mtime +10 -print

10일 이전에 수정된 파일 검색

# find . -mtime -10 exec rm {} :

10일 이내에 수정한 파일을 검색하여 모두 지운다

# find / -cmin 5 -print

5분전에 마지막으로 수정된 파일을 찾을 수 있다.

# find /home -empty -print

/home 디렉토리에 용량이 0인 파일과 디렉토리를 찾는다.

# find / -perm -4000 -print

퍼미션이 4000 이상인 파일을 모두 출력한다.
출처 : http://www.linuxno1.com/

find ./ -name "*.jsp" -exec grep "request" {} ; -print
디렉토리내에(하위디렉토리포함) *.jsp라는 파일안에 request라는 단어가 있는 지 찾아서 뿌려줍니다.

find ./ -name "*.jsp" -exec perl -pi -e "s/search/replace/g" {} ; -print
디렉토리내에 *.jsp라는 파일명을 가진 파일을 찾고 그 안에 search라는 단어가 포함되어 있을경우, replace로 수정합니다.
문자열안에 " 이 들어갈 경우 x22로 써줍니다.

find ./ -mtime 0
24시간 내에 수정된 파일을 뿌려줍니다.

아쉽게도 출력되는 것에 대한 제어는 잘 모르겠습니다. ㅡ.ㅡ;



특정 용량 이상의 파일을 찾고 싶을때
find /home/ -size +2000000

특정 확장자의 파일을 찾고 자동으로 지우고 싶을때
find /home/ -name *.asf -exec rm -rf {} ;

퍼미션 706인 디렉토리를 차자서 707로 변환
find /home/ -perm 706 -type d -exec chmod 707 {} ;
chmod 707 `find -perm 706`

사용자 계정에서 환경설정 파일 검색했나 확인
find /home/ -maxdepth 2 -name .bash_history -exec grep -H .conf {} ; |
less

3일 이내 동안 수정된 파일 확인
find /home/ -mtime -3

3시간 이내 동안 수정된 파일 확인
find /home/ -mmin -3

수정된지 3시간 이후된 파일
find /home/ -mmin +3

현재폴더에서 수정된지 1시간 이내의 파일들만 압축
tar cvzf filename.tgz $( find ./ -type f -mmin -60 )

2009. 11. 3.

리눅스 특정 파일 확장자 한번에 변경 스크립트

리눅스 특정 파일 확장자 한번에 변경 스크립트 입니다.

#!/bin/bash
for i in `find -name *.jad`
do
echo $i `echo $i|sed 's/.jad/.java/'`
mv $i `echo $i|sed 's/.jad/.java/'`
done