2022-05-01 file을 찾는 방법

2022. 5. 1. 23:30BE/Linux

이고잉님의 오픈튜토리얼 강의 요약분.

 

출처 : https://opentutorials.org/course/2598/14212


locate

 

locate [option] pattern

locate : 파일 위치 찾기

 

locate 명령어는 모든 파일과 디렉터리의 위치 정보를 DB로 생성하여 사용자 키워드를 생성하고 파일이나 디렉터리의 위치를 출력한다.

 

locate를 사용하기 위해서는 우선 updatedb 명령어를 이용하여 DB(=mlocate)를 생성해야 한다.

 

sudo updatedb # mlocate db update

locate -S # DB의 통계치 출력

locate *.log

확인해보았는데 맥북에는 아직 /var/db/locate.database가 생성되어 있지 않다.

 

필요하다면 그때가서 만들어서 사용할 계획이다.

 

출처 : [네이버 지식백과] locate (유닉스 리눅스 명령어 사전, 2010. 11. 30., 우종경, 박종오)


find

 

find [패스] [옵션] [작업]

find / -name "test.txt" -print
-name name : 지정된 이름의 파일을 찾는다.
-user name : user 소유의 파일을 찾는다.
-type [bcdfls] : 지정된 형식의 파일을 찾는다.
• b : 블록파일
• c : 문자
• d : 디렉터리
• f : 파일
• l : 링크파일
• s : 소켓

-size [+/-]n[bckw] : 지정된 크기의 파일을 찾는다.
• +n : n보다 크다
• -n : n보다 작다
• n : n이다
• b : 512-byte
• c : byte
• k : kilobytes
• w : 2-byte

-inum number : 지정한 아이노드 번호와 파일을 찾는다.
-print : 표준출력으로 검색된 파일명을 출력한다.
-exec command { } \\; : 찾은 각 파일에 대해 지정된 명령을 실행한다.
-ok command { } \\; : 실행 여부를 사용자에게 확인한 후 명령을 실행한다.

[네이버 지식백과] find (유닉스 리눅스 명령어 사전, 2010. 11. 30., 우종경, 박종오)

어... 사용 방법이 너무 다양하다.

 

필요할 때마다 검색해서 가장 적당한 방식으로 사용하자.


whereis

 

whereis ls

whereis : 명령어 경로 찾기

 

whereis 명령어를 통해서 사용 중인 명령어의 실행 파일의 위치와 함께 소스, 설정 파일, 매뉴얼 페이지를 검색하여 출력한다.

 

❯ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1

ls는 /bin/ls 에 위치한다.

 

하지만 ls라는 프로그램을 우리는 어느 디렉터리에서건 상관없이 사용할 수 있다.

 

그 이유가 무엇일까?

 

그 이유는 $PATH라는 변수에 있다.

 

출처 : https://terms.naver.com/entry.naver?docId=4125890&categoryId=59321&cid=59321


$PATH

 

echo $PATH

$PATH는 환경변수에 해당한다.

 

우리가 명령어를 입력한다.

 

그러면 운영체제는 PATH라는 변수에 들어있는 경로를 차례대로 조사한다.

 

경로에 해당하는 명령어의 실행파일이 있는지 확인한다.

 

즉, PATH 변수가 있기 때문에 명령어를 입력할때마다 매번 주소를 입력하는 수고를 덜 수 있다.