본문 바로가기

자료들

리눅스 폴더구조

리눅스의 디렉토리에 구조는 유닉스의 디렉토리 구조를 따릅니다.
우분투도 리눅스의 자식이라 거의 같은 디렉토리를 사용합니다.

MS윈도우와 달리 리눅스의 디렉토리 구조는 매우 세분화 되어 있으며 같은 디렉토리도
다른 위치에 링크되어 있기 때문에 더욱 복잡합니다.

서브로 한단계만 들어가도 이해하기 힘들며 디렉토리 구조를 모두 이해하기란 결코 쉬운
일이 아닙니다.

글을 쓰는 저자도 이 방면에는 젠벵이라 10분의1도 모른다고 자신 있게 말할 수 있습니다.
일단 상위 디렉토리와 중요한 디렉토리만 간략히 살펴보도록 하겠습니다.

1. /bin

    bin은 binary(기계어) 라는 뜻으로 보통 실행파일을 의미합니다.
    (MS윈도우의 경우 bin 파일이 /Windows, /Windows/System32 에 산재되어 있습니다.)

    ls, cp, mv 등의 기본적인 콘솔 명령어가 이 곳에 위치합니다.
    즉 $ cp hello.txt good.txt 는 $ /bin/cp hello.txt good.txt 과 같은 의미입니다.
    여기에 있는 프로그램들은 시스템 파일이므로 지워서는 안 됩니다.

2. /boot
    전원을 키고 부팅할 경우 필요한 파일들이 위치합니다.
    커널에 대한 link, 기타 초기화 파일들이 있어 이 곳은 절대 손대면 안됩니다.
    (MS도스의 IO.SYS 나 MSDOS.SYS로 이해하시면 편합니다.)

    /boot/grub 은 부트메니저 grub의 설정이 들어 있습니다.
    이 곳의 menu.lst 파일을 조작하면 부팅설정 변경이 가능합니다.

3. /dev
    dev는 device(장치) 라는 의미입니다.
    이 곳에는 컴퓨터에 연결된 모든 장치가 파일로 표현되어 모여 있습니다.

    리눅스는 입출력을 파일로 대신하는 구조로 이루어져 있습니다.
    플로피나 하드드라이브는 MS윈도우에서 드라이브명(a:, c:) 을 할당 받지만
    리눅스에서는 단지 단순한 파일로 대체됩니다.

    /dev/fd 는 플로피이고 /dev/hd 는 하드디스크 /dev/mouse 는 마우스를 의미합니다.
    프린터, 콘솔, 포트등도 모두 이 곳에 위치합니다. 
    ( /dev/hda 는 첫번째 IDE 하드 디스크 전체이고, 그중 /dev/hda1 은
    그 하드 디스크의 첫번째 파티션을 의미합니다. 요즘은 거의 sda로 대체되고 있습니다.)


4. /etc
    이 곳은 리눅스의 거의 모든 설정 파일이 위치합니다.
    여기 파일들을 조작해 프로그램 설정을 변경할 수 있습니다.
    (MS윈도우의 레지스트리(Registry)에 해당합니다.)

    전체 사용자의 암호를 갖고 있는 /etc/passwd, X Window, Fonts 설정파일이 있으며 
    우리가 사용하는 각종 프로그램의 설정 파일들이 이 곳에 위치합니다.
    여기를 자주 들려야 리눅스 실력이 향상됩니다.

    /etc/init.d 와 rcx.d
    여기는 MS윈도우의 config.sys에 해당한다고 보시면 됩니다.
    하지만 파일이 하나가 아니고 한 디렉토리가 꽉 찹니다.
    리눅스 시작시 시동해야 할 데몬이나 스크립트들이 모여있습니다.

    /etc/profile
    MS윈도우의 autoexec.bat에 해당합니다.
    여기서 프롬프트를 변경하거나 시작 프로그램을 추가할 수 있습니다.

    /etc/fstab
    파일 시스템의 마운팅 여부를 설정합니다.
    하드나 파티션을 추가한 경우 이 곳의 설정을 변경합니다.
    fstab은 시스템에 아주 중요한 파일이며 알아두면 아주 유용합니다.

5. /home
    각 사용자들의 홈 디렉토리를 포함하고 있습니다.
    예를 들어 hello 사용자의 홈 디렉토리는 /home/hello 가 됩니다.
    /home/hello 아래에는 각 사용자의 개인설정 파일과 바탕화면, 문서등이 저장됩니다.
    (MS윈도우의 /Documents and Settings 에 해당합니다.)

    시스템을 다시 설치한다면 이 디렉토리는 백업해 두는 것이 좋습니다.

6. /lib
    여기에는 시스템 전체 운영에 필수적인 공유 라이브러리가 들어 있습니다.
    라이브러리란 프로그램이 실행될 때 가져다 쓰는 프로그램이라 생각하시면 됩니다.
    파일을 추가만 하시고 삭제는 하지 마세요. 시스템이 멈출 수 있습니다.

7. /lost+found
    파일 시스템을 체크하는 경우 잃어버린 파일(?)을 찾아서 이곳에 위치시킵니다.

8. /media
    플로피나 CD, USB 메모리의 마운트 포인트로 활용됩니다.
    (마운트 포인트는 마운트된 장치에 접근할 수 있는 디렉토리를 말합니다.)
    마운트된 플로피의 내용을 보고 싶다면 이 곳을 찾으면 됩니다.
    CD를 넣으면 이 디렉토리 아래 마운트 포인트가 생성됩니다.

9. /mnt
    저장장치나 주변 장치의 마운트 포인트로 활용됩니다.

10. /opt
    이 곳은 원래 상용프로그램이 위치하는 장소입니다.

11. /proc
    여기 보이는 것은 실제 파일이 아니라 메모리에서 실행되고 있는 프로세스를 보여주는 곳입니다.
    프로세스(process)란 실제 메모리에서 실행되는 프로그램이라 생각하시면 됩니다.

    볼 수만 있는 것이 아니라 파일같이 이용해서 각 프로세스를 참조할 수도 있습니다.
    이러한 방식을 리눅스의 가상 파일 시스템이라고 합니다.

12. /root
    root 계정 사용자도 홈디렉토리가 있습니다.
    하지만 /home에 위치하지 않고 바로 이 곳 /root를 이용합니다.
    이유는 남들이 함부로 들어오지 못 하도록 하기 위함입니다.

13. /sbin
    /bin 와 같은 개념이지만 시스템 관리자가 사용하는 파일들이 저장되어 있습니다.
    ("sbin"는 "safe binary"의 의미로 superuser만 사용해서 안전하다는 뜻입니다. )
    fdisk, mkfs, init, halt 등 시스템 관련 파일이 위치합니다.
    잘못 조작할 경우 전체 시스템에 이상을 초래할 수도 있습니다.

14. /srv
    서비스 디렉토리로 주로 인터넷 관련 파일이 위치합니다.

15. /subdomain
    서브도메인을 사용하지 않으면 비어 있습니다.

16. /sys
    리눅스 시스템이 필요로 하는 파일들입니다.
    손대지 않는게 좋습니다.

17. /tmp
    임시 저장 파일을 담고 있습니다.
    (MS윈도우 /temp와 같습니다.)

18. /usr
    /usr 는 시스템에 필수적인 요소는 아니지만 사용자에게는 아주 중요한 디렉토리입니다.
    거의 모든 응용프로그램이 이 곳에 위치하며 일부 설정 파일도 들어 있습니다.

    라이브러리도 존재하고 컴파일 환경도 위치하고 무엇보다도 X Window가 여기에 있습니다.
    (MS윈도우의 /Program Files에 해당하지만 더 큰 의미를 가집니다. 리눅스는 X Window도
    시스템이라기보다 응용프로그램으로 생각합니다.)

    몇 가지 중요한 서브디렉토리를 살펴보겠습니다.

    /usr/bin
    우리가 사용하는 대부분의 응용프로그램이 이 곳에 위치함니다.
    (적은 의미의 MS윈도우의 /Program Files에 해당합니다.)

    /usr/X11R6
    X 윈도우에 관계되는 모든 프로그램, 설정 파일, 그리고 지원 파일들이 들어 있습니다.

    /usr/include
    C 컴파일러에 대한 헤더 파일을 포함하고 있습니다.

    /usr/lib
    /lib와 같은 기능을 하지만 주로 응용프로그램에 관련된 라이브러리가 위치합니다.

    /usr/local
    과거에는 이 곳에 응용 프로그램이 많이 설치 되었지만 점차 사용이 줄어들고 있습니다.

    /usr/share/man
    메뉴얼 페이지를 저장하고 있는 디렉토리입니다.
    하나씩 읽어보면(?) 배우는게 많습니다.

    /usr/share/doc
    설치된 프로그램에 대한 추가 정보를 볼 수 있습니다.

    /usr/src
    이 디렉토리는 컴파일 되지 않은 다양한 프로그램 소스들이 들어 있습니다.
    이 곳에서 비디오 드라이버 모듈을 만들기도 하고 RPM을 만들어 내기도 합니다.
    리눅스 커널 소스도 이 곳에 위치합니다.

19. /var
    이 곳은 시스템 운영 도중에 파일 크기가 변하는 요소들을 담고 있는 디렉토리입니다.
    간단히 말해 게임하다가 최고점이 나오면 점수를 여기에 저장합니다.
    그 외에도 시스템 유지에 필요한 중요한 파일들이 이 곳에 위치합니다.



이상 간략하게(?) 디렉토리 구조를 알아 보았습니다.

보통 시스템 백업시 /home 과 /usr 를 백업하는데 이를 이용해서 시스템을 완전히
복구할 수는 없습니다.
차라리 문서나 자료만 백업하고 프로그램은 따로 설치하시는 것이 좋으리라 생각됩니다.

조금이나마 디렉토리 이해에 도움이 되었으면 합니다.

########################################################################################################


출처 : 우분투사용자모임