본문 바로가기
개발자 일지/Linux

[리눅스 기초]파일을 찾는 방법(location,find,whereis)

by 네빌링 2021. 5. 4.
반응형

-리눅스에서 파일, 명령어 정보를 찾는 명령어들을 알아본다.

-생활코딩의 리눅스 강의를 바탕으로 학습 및 보충학습하였다.

-ubuntu 12.10을 사용하였다.


find

 리눅스에서 파일을 검색할 때 가장 기본적으로 사용되는 명령어이다. 단점은 처음부터 하나씩 검색을 수행하여 속도가 느리다는 것이다. 그렇기 때문에 다음에 소개할 locate를 더 많이 사용한다.

  • find . -name *.log : 현재 디렉토리(.)를 기준으로 모든 log확장자를 가진 파일 검색
  • find / -name *.log : 루트디렉토리(/)를 기준으로 모든 log확장자를 가진 파일 검색
  • find ~ -name *.log : 자신의 홈디렉토리(~)부터 모든 log확장자를 가진 파일 검색
  • find . -type f -name tecmint.php : 현재디렉토리(.)부터 파일확장자가 파일(-type f)인 tecmint파일을 찾음(tecmint폴더가 있으면 무시)
  • find . -type f -name "tecmint.txt" -exec rm -f {}\ : 현재디렉토리(.)에서 파일확장자가 파일(-type f)인 tecmin.txt파일을 찾은 후, 묻지도 따지지도 않고 삭제를 수행(-exec rm -f)한다. {}는 검색한 파일명이 들어가는 곳으로 rm이 아닌 ls등과 사용시에 검색결과를 찾아 ls로 출력할 수 있다.

루트디렉토리(/)로부터 모든 log확장자 파일들을 검색. 루트 권한이 없는 user1로 로그인 했기 때문에 sudo를 사용.

locate

 find보다 많이 쓰인다고 한다. 검색 속도가 더 빠르다. 디렉토리를 뒤지는 것이 아니라, 리눅스 어딘가에 저장되어 있는 DB를 참고하여 검색한다고 한다. 대신 locate명령어를 사용하기 전에 updatedb 명령어를 입력해서 항상 최신 DB로 유지해줘야 하는 번거로움이 있다. 

 

pwd 이름이 포함된 파일들을 검색

whereis

whereis 명령어는 명령어의 실행파일위치, 소스위치, man 페이지파일의 위치를 찾아준다.

 

pwd 명령어의 실행파일 위치, 소스파일 위치, man 페이지 파일을 검색

기타 - $PATH에 대하여

 ls 등의 명령어를 실행하면 ls는 /bin/ls에 있는데 어떻게 바로 실행할 수 있을까 생각해볼 필요가 있다. 이는 $PATH라는 환경변수에 이미 디폴트 디렉토리가 지정되어 있기 때문이다. 지정된 디렉토리에 ls가 있다면 실행된다는 뜻이다. 

 echo $PATH 명령어로 PATH입력값을 확인해볼 수 있다.

 

/usr/bin이 환경변수에 등록되어 있기 때문에 하위에 있는 ls명령어 등을 바로 사용할 수 있다.

 

출처 및 참고 : www.leafcats.com/179, webdir.tistory.com/158, withcoding.com/98

반응형