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

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.