ITEASY

닫기

추천 검색어
# 클라우드
# VPN
# 무료서비스
# 호스팅
# 이벤트

이전 단계

기술문서

원하는 파일의 검색 및 명령어경로 확인하기

2007. 09. 06

원하는 파일찾기 



● find 


리눅스나 유닉스 시스템은 GUI방식의 운영체제가 아니므로 종종 어떤 파일을 찾아야 할 때 어디에 있는지 쉽게 알지 못할때가 종종있다. 


이럴 때 쓰이는 명령어가 find라는 명령어로서 윈도우95나 98등에서 [시작 → 찾기]에 해당하는 기능이라고 할 수 있다. 


윈도우에서도 이 찾기기능을 이용하여 특정 날짜에 해당하는 파일이나 특정 파일사이즈에 해당하는 파일이나 특정이름을 가진 파일들을 찾을 수 있듯이 find라는 명령어에도 다양한 옵션이 있다. 


find명령어의 형식은 다음과 같다. 



$ find [찾을 디렉토리경로] [찾기옵션] [찾은후행할 작업] 


[찾을 디렉토리경로]에는 다음과 같은 것들이 있다. 

· : 현재 디렉토리이하 

/ : 루트디렉토리이하(파일시스템전체) 

~ID : 특정ID의 홈디렉토리이하 


[찾기옵션]에는 다음과 같은 것들이 있다. 

  

-empty : 비어있는 파일 

-gid n : 특정 gid를 갖는 파일(n : 특정 gid) 

-group gname : 특정 group에 속한 파일(gname : group명) 

-name : 지정한 형식을 갖는 파일이름 

-newer : 특정 파일 이후에 생성된 파일 

-perm : 특정 허가모드를 가지고 있는 파일 

-uid n : 특정 uid를 갖는 파일(n : 특정 uid) 

-used n : 최근에 n일 이후에 변경된 파일(n : 일수) 

-user : 특정파일을 소유하고 있는 소유자의 파일 


[찾은후 행할 작업]에는 다음과 같은 것들이 있다. 


-print : 가장많이 쓰는 옵션으로 찾은 파일을 보여준다. 

-exec : 찾은 파일들에 대해 특정명령을 수행한다. 



[root@ciss9 /]# find / -uid 504 -print 

./home/sspark 

./home/sspark/.Xdefaults 

./home/sspark/.bash_logout 

./home/sspark/.bash_profile 

./home/sspark/.bashrc 



위의 예는 루트디렉토리(/)부터 uid가 504인 파일을 찾아서 보여달라(-print)는 명령어이다. 



[root@ciss9 /]# find ~sspark -name *.shtml -print 

./home/sspark/public_html/sample.shtml 

./home/sspark/public_html/testpass/sample.shtml 

./home/sspark/public_html/testdir/sample.shtml 




위의 명령어는 특정가입자(sspark)의 홈디렉토리(~sspark)이하(/home/sspark 이하)에 존재하는 shtml로 끝나는 파일을 찾아서 보여달라는 명령어이다. 



[root@ciss9 /root]# find ~sspark -name *.doc -exec rm -f {} ; 



위의 명령어는 특정가입자의 홈디렉토리(~sspark)이하에 존재하는 doc로 끝나는(*.doc) 파일을 찾아서 묻지말고(-f) 지워(rm)버리라는 명령어이다. 



● which 


find가 특정 파일을 찾아주는 명령어인데 비해 which라는 명령어는 특정명령어의 위치가 어디인지를 찾아주는 명령어이다. 


리눅스나 유닉스등에서는 명령어의 위치를 모두 기억하기 어려우므로 이 명령어를 활용하여 찾고자하는 명령어의 위치를 확인할 수 있다. 


아래의 예는 perl등으로 프로그램된 CGI를 설치할 때 많이 쓰이는 perl의 경로를 확인하는 것이다. 


[root@ciss9 sspark]# which perl 

/usr/bin/perl 




whereis란 명령어도 이와 유사한 기능을 하는데 다른점은 패스에 해당하는 모든 디렉토리를 뒤져서 해당 명령어를 찾아준다. 


[root@ciss9 sspark]# whereis perl 

perl: /usr/bin/perl5.00503 /usr/bin/perl /usr/man/man1/perl.1 




참고로 whatis란 명령어가 있는데 which나 whereis가 명령어의 위치를 찾아주는데 비해 whatis란 명령어는 해당 명령어가 무엇을 하는 것인지 간단하게 보여준다. 


[root@ciss9 sspark]# whatis ls 

ls (1) - list directory contents 


출처 한국소프트웨어진흥원

이전 글 파일내용 확인하는 다양한 방법

2007. 09. 06

다음 글 파일내용 정렬하기

2007. 09. 06

목록

무엇이든 물어보세요

아이티이지 전문가가 궁금하신 점을 쉽고 빠르게 해결해 드리겠습니다.

고객센터 1600-8324
내선번호
  • 내선 1 서버 / IDC

  • 내선 2 클라우드

  • 내선 3 관리대행 / ITO

  • 내선 4 도메인

  • 내선 5 보안 서비스 문의

  • 내선 6 문자 / 카카오비즈메시지

  • 내선 7 Microsoft365

  • 내선 8 마케팅/서비스 제휴

  • 내선 9 홈페이지 제작

  • 내선 0 기타서비스

  • 내선 11 긴급 장애

휴일 긴급 연락처010-3124-8320

평일 9:00~18:00 (IDC 긴급 장애처리 24시간 운영)

FAX 02-6264-8321

문의하기