개발/Linux

리눅스 3편-리눅스의 디렉터리 구조를 파악하자

IT하는 문과생 2019. 9. 28. 08:00

리눅스 이야기를 시작한고 난 다음부터 3번째 이야기를 쓰고 있다. 사실 리눅스 관련 글을 작성하기 전에 걱정을 했었다. 이렇게 글을 작성하다가 중간에 내가 귀찮다고 글 쓰는 것을 게을리하게 되면, 이후 포스팅을 기다리는 분들께 민폐를 끼치는 것이 아닐까? 차라리 처음부터 시작을 하지 않는 것이 좋지 않을까?라는 생각들 말이다. 하지만 과거 필자가 리눅스를 공부했던 때를 떠올리고는 글을 써야겠다는 다짐을 하게 됐다. 당시 리눅스를 공부하며 책도 보고 Google 선생님의 도움도 받아가며 공부를 했지만 그러면서도 어디선가 명확하게 궁금증을 해소해주는 곳이 있겠다면 좋겠다는 생각을 했었는데 지금 그 생각을 실천하려 하고 있다.
오늘의 주제인 디렉터리 구조와 관계없는 내용을 주저리주저리 하는 이유가 궁금할 수도 있겠다.
무엇보다 그냥 대충 서너 편 쓰다가 그만 둘 포스팅이 아니라는 것을 알려두고 싶었다.

해당 포스팅들은 매일 아침 08:00시에 올라오게 될 것이며 일요일은 휴무다... 일요일 하루 정도는 쉬어줘야 또 공부나 일할 의욕이 나지 않겠는가?라는 게 나의 지론이다. 여하튼 이렇다는 것을 전하며, 본론을 시작하도록 하자.


Windows를 사용해본 사람들이라면 폴더(Folder)라는 단어가 익숙할 것이다. 이것은 Windows의 용어고 리눅스에서는 이것을 디렉터리(Directory)라고 부른다. 실제 Windows에서는 폴더를 구분할 때 "\" 기호를 사용하지만 리눅스에서는 디렉터리를 구분할 때 "/"를 사용한다.

유닉스 기반의 디렉토리 구조 - http://www.doc.ic.ac.uk/~wjk/UnixIntro/Lecture2.html 이미지 참조

위의 사진은 Unix 기반의 디렉터리 구조다. 보면 알겠지만 기본적으로 트리 구조를 택하고 있다. 우리가 설치한 Ubuntu 역시 해당 커널을 기반으로 한 운영체제 이기 때문에 흡사한 디렉터리 구조를 가진다. 실제 필자와 함께 첫 번째 시간에 설치했던 Ubuntu의 디렉터리 구조를 보면 위의 그림과 비슷한 구조를 가지고 있음을 알 수 있다.

페럴러즈에 설치한 Ubuntu의 폴더 구조

중요한 디렉터리 몇 가지를 아래에서 짚고 넘어가도록 하겠다. 주로 여러분들이 공부나 실무에서 주로 들어가게 될 디렉터리는 아래와 같다.


  • /
    최상위 디렉터리인 루트 디렉터리를 의미하며 추후 절대 경로로 디렉터리를 표기할 때 여기서부터 표기를 시작해야 한다.
  • /bin
    기본적인 명령어가 저장되어 있는 디렉터리다 binary 폴더라고 불리며, 우리가 앞으로 다룰 많은 명령어들이 여기에 들어 있다.
  • /boot
    리눅스의 Boot Loader가 존재하는 폴더며 웬만하면 건드릴 없다. 괜히 건드리지 말자. 아니다 정정한다. 절대 손대지 말자.
  • /etc
    시스템 대부분의 설정 파일들이 여기에 존재한다. 앞으로 설정 작업을 할 때 해당 디렉터리에 많이 들르게 될 것이다. Windows의 레지스트리와 같은 존재라고나 할까? 물론 설정 초기에 국한되겠지만..
  • /home
    개인 사용자의 홈 디렉터리다. 새로운 사용자를 생성하는 경우 사용자의 ID와 동일하게 디렉터리가 추가 생성된다.
  • /dev
    리눅스에 사용되는 주변 기기들의 시스템 디바이스 파일들이 저장되어 있다.
  • /var
    시스템 사용 중에 생성되었다 사라지는 Log 파일 등이 임시 저장되는 디렉터리라고 생각하면 편하다.

저 디렉터리 아래에 또 다른 디렉터리들도 있지만 그렇게 하자면 해당 내용만으로 한참 써야 할 것 같기 때문에 기본 디렉터리만 기재하도록 하겠다. 사실 여기서 길게 써봤자 기억에도 안 남는다. 여기서는 "어라 이거 어디서 봤었는데?"라는 기억이 들 정도로만 파악하도록 하고 추후 필자와 함께 돌아다니며 조금씩 자세히 익혀 나가도록 하자. 그래도 혹여 더 궁금한 게 있다면 댓글로 질문해 주면 좋겠다.

여하튼 기본 디렉터리 들은 이렇게 세팅들이 되어 있지만 리눅스 사용자들이 어떻게 설정하느냐에 따라 기본구조를 제하고 전혀 다른 구조가 될 수도 있다.  하지만 웬만하면 파일 시스템 표준안의 기반대로 사용하도록 하자. 유지 보수 등의 문제로 인해 대부분의 리눅스 배포판들이 해당 구조를 따르고 있기 때문이다.

일단 여기까지가 기본적으로 최소한 이거는 알고 있어야 한다고 생각하는 디렉터리 구조다. 물론 더 깊게 파고든다면 파고들 수 있겠지만, 필자가 쓰고자 하는 글은 전공 서적이 아닌 전형적인 문과생들도 이 글을 보고 어디선가 리눅스를 조금이라도 다룰 수 있게 되는 글이다. 그렇기 때문에 실무에서 가장 알고 있어야 할 것 같은 디렉터리만 추출해 보았다.

그렇기 때문에 이 글이 부족한 사람들도 있을 것이다. 만약 그런 경우 댓글로 귀띔을 해준다면 그런 분들을 위해 추가 포스팅을 고려해 보고자 한다. 그러면 다음번 포스팅에서는 이 디렉터리들을 어떻게 돌아다닐 수 있는지 및 디렉터리 생성/삭제/수정 작업 등을 진행해 보도록 하자.

그러면 다음 포스팅에서 만나도록 하자.

관련 글
2019/09/26 - [Linux 이야기] - 리눅스 1편-맥(Mac)에 Linux 설치하기(Ubuntu)
2019/09/27 - [Linux 이야기] - 리눅스 2편-Ubuntu 루트(root) 계정을 활성화해보자