태그 보관물: linux

리눅스 find 명령 옵션 예제들

리눅스에서 find 명령을 옵션을 자꾸 까먹어서 정리한 내용이다.

– 파일 이름에 foobar 가 들어간 파일 찾기

find / -name "foobar" -print

– 특정 사용자(foobar) 소유의 파일을 찾기

find / -user foobar -print | more

– 최근 하루동안에 변경된 파일을 찾기

find / -ctime -1 -a -type f | xargs ls -l | more

– 오래된 파일(30일 이상 수정되지 않은 파일) 찾기

find / -mtime +30 -print | more

– 최근 30일안에 접근하지 않은 파일과 디렉터리를 별도의 파일로 만들기

find / ! ( -atime -30 -a ( -type d -o -type f ) ) | xargs ls -l > not_access.txt

– 하위 디렉터리로 내려가지 않고 현재 디렉터리에서만 검색하기

find . -prune ...

– 퍼미션이 777 인 파일 찾기

find / -perm 777 -print | xargs ls -l | more

– others 에게 쓰기(write) 권한이 있는 파일을 찾기

find / -perm -2 -print | xargs ls -l | more

– others 에게 쓰기(write) 권한이 있는 파일을 찾아 쓰기 권한을 없애기

find / -perm -2 -print | xargs chmod o-w

또는

find / -perm -2 -exec chmod o-w {} ; -print | xargs ls -l | more

– 사용자이름과 그룹이름이 없는 파일 찾기

find / ( -nouser -o -nogroup ) -print | more

– 빈 파일(크기가 0 인 파일) 찾기

find / -empty -print | more

또는

find / -size 0 -print | more

– 파일 크기가 100M 이상인 파일을 찾기

find / -size +102400k -print | xargs ls -hl

– 디렉터리만 찾기?

find . -type d ...

– root 권한으로 실행되는 파일 찾기

find / ( -user root -a -perm +4000 ) -print | xargs ls -l | more

– 다른 파일시스템은 검색하지 않기

find / -xdev ...

– 파일 이름에 공백이 들어간 파일 찾기

find / -name "* *" -print

– 숨겨진(hidden) 파일을 찾기

find / -name ".*" -print | more

– *.bak 파일을 찾아 지우기

find / -name "*.bak" -exec rm -rf {} ;

– *.bak 파일을 찾아 특정 디렉터리로 옮기기

mv `find . -name "*.bak"` /home/bak/

– 여러개의 파일에서 특정 문자열을 바꾸기

find / -name "*.txt" -exec perl -pi -e 's/찾을문자열/바꿀문자열/g' {} ;

* Reference
http://blog.naver.com/atra1203/150014157959

file descriptor 확인하기..

흠.. 
아~ 모바일 서버에서 file descriptor 개수가 슬금슬금 올라서 걱정을 하고 있었는데요..
자세히 확인해 봤더니, 젠장.. 로깅 라이브러리 캐시를 너무 크게 잡았네요.. ^^;;

file descriptor 확인하는 방법은.. 

1. 확인할 프로세스 ID 확인
# ps -ef | grep java(프로세스 이름..) 

2. 프로세스가 물고 있는 file descriptor 개수 확인
# lsof -p 1111(프로세스 아이디) | wc -l 
 
3. 프로세스가 물고 있는 file descriptor 보기
# lsof -p 1111(프로세스 아이디) 

위 과정만 잘 따르면, 디버깅 하기 쉬울 듯.. ^^
 

특정 위치에 Unzip 하기..

linux/unix에서 unzip을 하면 압축되어 있는 폴더에 풀립니다…
특정 폴더로 unzip하기 위해서는 옵션만 주면 되는데… 그거네요.. ^^;;
아래처럼 하게 되면, xxxx.zip이 /xxx/xxx 폴더로 풀립니다.

unzip xxxx.zip -d /xxx/xxx