ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 생활코딩 리눅스 강좌 요약 및 정리 - 디렉토리 구조와 파일찾는 법
    Knowledge/Linux 2019. 10. 4. 17:05
    반응형

    이 포스팅은 4편 ( https://takeknowledge.tistory.com/68 ) 에 이어 작성하는 것입니다.

    쉘과 쉘스크립트에 대한 정보는 4편에서 확인할 수 있습니다

     

    • 디렉토리 구조

    리눅스 최상위 root 폴더는 / 다.  cd / 로 이동해서 리스트를 보면 

     

    위와 같이 나온다. 이 중 중요한 몇몇 디렉토리들의 내용을 정리해보자면

     

    bin : 사용자들이 사용하는 명령들이 위치한다

    sbin : 시스템 관리 목적의 명령들이 위치한다

    etc : 각종 설정 파일들이 위치한다

    var : 가변적인 파일들이 위치한다

    tmp : 임시 파일들이 위치한다. ( 시스템이 재부팅되면 안의 내용들이 사라진다 )

    home : 유저들의 홈 디렉토리가 위치한다

    lib : 시스템 공통 라이브러리들이 위치한다

    opt : 추가적인 프로그램들이 위치한다

     

    • 파일 찾는 법 

    - locate

     

    디렉토리가 아닌 mlocate라는 데이터베이스를 뒤져서 경로를 찾기 때문에 속도가 매우 빠르다

    단 이 mlocate는 하루 한번 최신화되는 db로 지금의 디렉토리와 정확히 일치하지 않을 수 있다

     

    .log로 끝나는 모든 파일을 locate 명령어로 뒤진 결과

     

    - find

     

    실제 디렉토리를 뒤지기 때문에 현재 디렉토리를 정확히 가져올 수 있지만 시간이 좀 걸린다

     

    find [ 파일 검색할 위치 : / - 루트 , . - 현재 디렉토리 , ~ 현재 사용자 디렉토리 ] [ 표현식 ] 의 명령어로 실행하는데

    예를 들어 파일 이름이 error.log인 파일을 찾는다고 하면

     

    sudo는 검색 권한을 부여하기 위해 붙였다

    위와 같이 / . ~ 에 따라 검색 위치가 달라져 결과가 달라지는 걸 볼 수 있다.

    또한 find는 여타 기능, 예를 들어 검색한 내용을 삭제하라는 명령까지 내릴 수 있는데

     

     

    위와 같이 입력하면 find로 찾은 error.log 파일을 삭제한 걸 확인할 수 있다

     

    - whereis 

     

    명령어의 위치를 찾아준다. 예를 들어 whereis 명령어로 ls의 위치를 찾은 결과는

     

     

    위와 같다. 그런데 저 경로에 있는 ls 명령어를 우리는 어떻게 어디서나 쓸 수 있는 것일까?

     

    그 비밀을 알기 위해선 whereis의 작동 방식을 알아볼 필요가 있다. man whereis를 입력하면 볼 수 있듯

     

     

    whereis는 명령어를 $PATH라는 곳에서 찾는다. 이 $PATH는 리눅스가 제공하는 변수 ( 환경 변수 )다.

    echo 명령어를 활용해서 내용을 보면 

     

    :을 기준으로 나눠진 여러 경로를 볼 수 있다.  즉 우리가 어디서든 명령어를 입력하면 리눅스 시스템은 저 $PATH안에 있는 여러 경로들을 뒤져서 입력한 명령어, 예를 들면 ls가 있는지 확인하고 그걸 발견하면 실행하기 때문에 우리는 어디서든 명령어를 입력하고 실행시킬 수 있는 것이다

    반응형

    댓글

Designed by Tistory.