본문 바로가기
리눅스/리눅스마스터1급

[리눅스마스터1급] - 주요 디렉터리 와 경로

by 혼자왔서연 2023. 8. 18.
반응형

리눅스 주요 디렉터리 구조와 경로 설명

리눅스 운영체제는 강력한 안정성과 유연성으로 널리 사용되며, BSD 파일 시스템 계층 구조 기반의 리눅스 디렉터리 구조 표준이다. 파일 시스템 구조는 모르더라도 리눅스를 이용하는 직업을 갖게 되신다면 필수적으로 알아둬야 하는 주요 디렉터리를 소개하겠습니다.

 

 

 

잠깐 여기서 BSD 파일 시스템이란?

BSD는 "Berkeley Software Distribution"을 나타냅니다. 이는 AT&T의 Research UNIX® 운영체제의 확장판이었던, University of California, Berkeley의 소스 코드 배포판의 이름

출처 - https://docs.freebsd.org/ko/articles/explaining-bsd/

1. /bin - 기본 명령어

/bin 디렉터리는 기본적인 시스템 명령어들이 위치하는 곳이며. 리눅스 시스템 부팅 시 필요한 명령어들이 모여 있어 시스템이 최소한의 동작을 보장할 수 있고 이 디렉터리 안에 있음으로써 작동되는  대표 명령어로는 ls, mv, cat, tar, rm 등이 있습니다, 만약 여기 안에 ls에 대한 디렉터리가 없다면? ls 가 작동하지 않겠죠 ^^

2. /etc - 설정 파일

시스템의 전반적인 설정 파일들이 /etc 디렉터리에 위치합니다. 네트워크 설정, 사용자 계정 설정, 서비스 구성 파일 등이 이곳에 저장되어 있습니다. Editable Text Configuration의 약어로 해석됩니다

3. /home - 사용자 홈 디렉터리

각 사용자의 홈 디렉터리가 /home 디렉터리 아래에 위치합니다. 사용자들은 여기에서 개인적인 파일과 설정을 관리할 수 있습니다. default 값으로 정해진 위치가 /home입니다. 즉 변경할 수 있다도 알아두시면 좋을 것 같습니다

4. /var - 변수 데이터

/var 디렉터리는 시스템의 런타임 데이터를 담는 공간입니다. 로그 파일, 캐시 데이터, 데이터베이스 파일 등이 여기에 저장됩니다. SSH, VNC, service, login, 보안 등등 의 관련된 로그들은 여기에 있어요 한 번쯤은 auth.log를 /var/log 에서 찾아서 tail -f 명령어를 통해 실시간으로 로그 탐색을 해보면서 var 디렉터리의 요소들을 파악하는 게 중요해요!    

5. /usr - 사용자 프로그램

/usr 디렉터리는 사용자가 설치한 프로그램과 라이브러리들이 위치합니다. 시스템 관리자가 아닌 사용자들이 설치한 소프트웨어들이 이곳에 저장됩니다. 가령 NGROK , python 등 설치된 프로그램들이 위치한 디렉터리입니다.

6. /tmp - 임시 파일

임시로 사용되는 파일들이 /tmp 디렉터리에 저장됩니다. 이 디렉터리의 파일들은 시스템 재부팅 시 삭제되므로 임시 작업에 적합합니다. 

 

아래처럼 /tmp는 유용하게 사용됩니다 

 

임시 파일 생성: 프로그램이 작업 중에 임시 데이터를 저장해야 할 때, /tmp 디렉터리를 사용하여 임시 파일을 생성할 수 있습니다.

캐시 데이터 저장: 애플리케이션의 성능을 향상하기 위해 데이터를 캐시로 저장할 때, /tmp 디렉터리를 사용하여 일시적으로 캐시 파일을 저장할 수 있습니다.

임시 백업: 중요한 파일을 수정하기 전에 백업을 만들어야 할 경우, /tmp 디렉터리를 사용하여 임시 백업 파일을 만들 수 있습니다.

임시 작업 폴더: 프로그램이 일시적으로 작업하는 동안 필요한 파일을 저장하기 위해 /tmp 디렉터리를 사용할 수 있습니다.

파일 공유: 여러 사용자 간에 파일을 공유해야 할 때, /tmp 디렉터리를 활용하여 임시적으로 파일을 공유할 수 있습니다.

7. /boot - 부트 로더 파일

/boot 디렉터리에는 시스템 부팅에 필요한 커널 이미지와 부트 로더 파일들이 위치합니다. 시스템 부팅 시 이 디렉터리의 파일들이 사용됩니다.

 

8. /dev - 장치 파일

/dev 디렉터리는 시스템에서 사용되는 장치 파일들이 위치합니다. 하드웨어 장치들은 이 디렉터리의 파일들을 통해 접근할 수 있습니다.(하드디스크, cpu, network 등)

 

9. /sys -  커널과 관련된 정보를 제공

 디렉터리의 파일들은 커널 매개변수와 하드웨어 정보 등을 제어하고 모니터링하는 데 사용됩니다. 주로 커널과 하드웨어 간의 상호작용을 위한 인터페이스로 사용됩니다.

 

10. /lib - 라이브러리 모음 디렉터리

/lib 디렉터리는 리눅스 시스템에서 라이브러리 파일들을 포함하는 중요한 디렉터리입니다. 라이브러리 파일은 프로그램이 실행될 때 필요한 코드와 기능을 제공하는 파일이며  여러 프로그램 간에 코드를 공유하고 중복을 피하기 위해 사용됩니다.

 

11. /run - 런타임 데이터 포함 디렉터리

 시스템에서 실행 중인 프로세스 및 시스템 상태에 대한 정보를 저장하는 디렉터리입니다. 이 디렉터리는 시스템 부팅 시 생성되며, 시스템이 종료되면 삭제됩니다. /run 디렉터리는 임시 파일 시스템(tmpfs)에 위치하며, 시스템의 다양한 런타임 정보를 관리하기 위해 사용됩니다.

 

12. /proc - 가상 파일 디렉터리

커널과 실행 중인 프로세스에 대한 정보를 제공하는 가상 파일 시스템입니다. 실제 파일이나 데이터가 저장되어 있는 것은 아니며, 커널과 프로세스의 상태에 대한 정보를 동적으로 제공하기 위해 사용됩니다.

 

 

 

결론

물론 이밖에도 세부적으로 보면 더 많은 종류의 디렉토리가 있습니다 가령 /root,/opt,/media,/mnt 등 이 부분은 이해하기 어렵지 않은 디렉터리라서 설명을 생략했지만 시험을 준비하시는 입장에서는 1개라도 더 자세히 보시는 걸 추천드리며, 포스팅 마칩니다. 고생하셨습니다.

 

 

반응형

Animated Rainbow Nyan Cat