본문 바로가기

OS/Ubuntu

[Ubuntu] 우분투 디렉토리 구조

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


출처 : http://ubuntu.or.kr/viewtopic.php?p=6108