
파일을 찾는 방법을 알아볼 것이다. locate [파일의 이름]이라는 명령어를 치면 내가 찾는 이름의 파일을 띄워준다. locate의 중요한 특징은 검색 작업을 수행할 때 데이터 베이스를 뒤진다. 데이터가 저장되어 있는 데이터 베이스는 파일들의 데이터가 저장되어 있기 때문에 훨씬 더 빠르게 파일을 가져올 수 있다. 이렇게 locate가 사용하는 데이터 베이스를 mlocate라고 한다. sudo updatedb라는 명령어를 치면 여러가지 정보들을 저장한다.
find라는 명령어는 디렉토리를 뒤지기 때문에 locate보다는 느리지만 다양한 사용법들을 사용한다. find / 라는 명령어는 root 디렉토리부터 찾겠다는 뜻이고, find . 이라는 명령어는 현재 디렉토리부터 하위 디렉토리로 찾겠다는 뜻이다. find / -name .log 라는 명령어는 -name이 파일의 이름으로 찾겠다는 뜻이고, .log라고 치면 컴퓨터에 있는 모든 log파일을 찾아준다. 그리고 Permission denied라고 나오는 것은 현재 자신의 권한으로는 접근할 수 없는 디렉토리를 뒤지려고 하기 때문에 뜬다. 그럴 때엔 sudo find / -name .log라는 명령어를 쓰면 된다. 홈 디렉토리 같은 경우는 자신의 디렉토리이기 때문에 sudo를 쓸 필요가 없다.
find . -type f -name “tecmint.txt” -exec rm -f {} \; 라는 명령어는 자신이 머물고 있는 디렉토리에서 파일을 찾는데(find) 형태는 파일이고(-type f) 이름은 tecmint.txt이여야 하고(-name “tecmint.txt”) 파일을 삭제하는 것을 실행시켜야 한다는(-exec rm -f {}) 뜻이다.
whereis라는 명령은 자신이 원하는 실행 파일을 찾아주는 명령이다. whereis ls라고 치면 여러 경로를 찾아주는데 /bin/ls라고 되어 있는 것은 자신이 찾는 ls라는 파일이 bin 밑에 있다는 뜻이다. man whereis라는 명령어를 입력하면 사용 설명서를 볼 수 있다. 이 사용 설명서에서 관심가져야할 부분은 실행 파일, 소스, 메뉴얼을 찾아준다는 내용과 $PATH, $MANPATH에서 내용을 뒤진다는 점인데 $PATH를 중요하게 생각해야 한다. $PATH라는 것은 변수이고, 변수에는 데이터가 들어가 있다. 그 데이터를 화면에 출력하고 싶으면 echo $PATH라고 입력하면 $PATH 라는 변수에 담겨있는 데이터들이 echo를 통해서 화면에 출력이 된다. $PATH라는 변수는 자신이 만들지 않아도 기본적으로 가지고 있다. ls를 입력하면 운영체제에서는 $PATH라는 변수에 저장되어 있는 데이터 중에서 ls라는 실행 파일이 존재하는지를 파악한다. ls라는 명령어가 발견되면 실행시킨다. $PATH처럼 자신이 만들지 않은 기본적으로 가지고 있는 변수를 ‘환경변수’라고 부른다.