본문 바로가기
삽질/Com

하위디렉토리의 종류 및 기능

by 푸딩s 2009. 12. 6.

 

1. /bin

/bin은 binarise의 줄임말로 이곳에는 시스템의 가장 기본이 되는 명령어들이 모여 있는

디렉토리다. 'ls -F /bin' 이라고 해보면 cp, ls, mv등과 같은 명령들이 보인다.

여기 있는 프로그램들이 바로 cp, ls, mv 라고 명령을 내렸던 것에 대한 실제 프로그램들이

다. 즉, cp 라고 명령을 하면 /bin/cp를 사용하고 있는 것이다. 또한 대부분이 뒤에

실행 파일을 의미하는 '*' 문자가 붙어 있다.

여기 있는 중요한 파일들은 cat, cp, ftp, gzip, kill, ln, ls, mail, mkdir, more, mount,

mv, ping, rm, rmdir, su, telnet, tar, pwd, ps, bash, more 등이 있다.

여기에 있는 프로그램들은 너무도 기본적인 파일이므로 절대 지워서는 안된다.

특히 이곳에는 부팅에 필요한 명령어들이 위치하며 부팅 후에 시스템의 계정 사용자들이

사용할 수 있는 일반적인 명령어들도 위치하고 있다.

 


2. /dev

여기에 들어 있는 파일들을 디바이스 드라이버라고 부른다. 이 디렉토리는 물리적인 용량을

갖지 않는 가상 디렉토리로 보통 그 파일들은 디스크 드라이버나 메모리 등등의 시스템

장치들, 또는 자원에 접근하기 위해 사용된다. 예를 들면, /dev/mouse 파일을 읽음으로써

마우스로 부터의 입력을 읽어 낼 수 있는 것이다.

자주 쓰이는 장치 파일의 목록들 살펴보면 /dev/console은 시스템의 콘솔을 의미하고,

/dev/ttyS, /dev/cua 장치들은 시리얼 포트를 사용하기 위해 필요하다.

/dev/hd로 시작하는 파일들은 하드 디스크를 의미한다. /dev/hda는 첫번째 IDE 하드 디스

크 전체이고, 그중 /dev/hda1은 그 하드 디스크의 첫번째 파티션을 의미하는 것이다.

/dev/lp로 시작하는 장치들은 패러렐 포트를 뜻한다. /dev/lp0, /dev/lp1 은 도스에서 LPT1

에 해당한다. /dev/tty로 시작되는 장치들은 가상 콘솔과 연결된다. /dev/tty1 은 첫 번째

가상 콘솔인 것이다.

 


3. /etc

이곳에는 다양한 시스템 설정 파일들이 있다. 이 디렉토리에 있는 대부분의 파일들은

시스템 관리자에 의해서 관리되는 파일들이다. 중요한 파일들을 보면 전체 사용자의 암호를

갖고 있는 /etc/passwd, 프린터 셋팅을 가지고 있는 printcap, 네트워킹 정보를 가지고

있는 hosts, resolve. conf, 파일 시스템 정보를 담고 있는 fstab 등이 있다.

 


4. /sbin

/bin에 대비되는 디렉토리로, 바이너리들이긴 하지만 시스템 관리자에 의해 필수적으로

사용되어야 할 것들이 있다. adduser와 같이 사용자를 등록해 주는 스크립트, SLIP 커넥션

을 만들어 주는 dip, 파일 시스템과 관계되는 fdisk, mkfs, fsck, mkswap, 슬렉웨어

안의 installpkg, setup 등이 있다.

 


5. /home

이 디렉토리는 시스템 계정 사용자들의 홈 디렉토리와 ftp, www등과 같은 서비스를 포함

하고 있다. 이곳은 디렉토리와 파일들은 시스템에서 사용되지 않는다.

단지 리모트 상에서 시스템으로 접속을 하는 사용자들을 위한 공간이다.

예를 들어 pey1 사용자의 홈 디렉토리는 /home/pey1이다. 또 슬렉웨어의 경우에는 ftp

사이트에 사용되는 디렉토리가 여기 있다. Home 디렉토리 이름은 암호 파일(/etc/passwd)

에 저장되어 있고, 로그인 할 때 시스템은 자동적으로 사용자가 자신의 Home 디렉토리

에서 시작하게 된다.

 


6. /lib

여기에는 시스템 전체 운영에 필수적인 공유 라이브러리 이미지가 들어있다.

또 이러한 파일들은 많은 프로그램이 공유하고 있는 코드를 포함하고 있다.

각 프로그램은 각자 그러한 루틴을 따로 가지고 있는 것이 아니라 /lib 라고 하는 곳에다

공유해서 가지고 있는 것이다. 이렇게 함으로써 실행 파일들의 크기를 줄일 수 있다.

많은 프로그램들이 공유하고 있는 부분이기 때문에 역시 몇개의 /lib 파일이 날아가면

시스템이 다운되는 사태를 당하게 된다.

 


7. /proc

이곳은 가상 파일 시스템이라고 말할 수 있다. 이 디렉토리는 가상 파일 시스템으로 가상

파일 시스템으로 /dev 디렉토리와 마찬가지로 하드 디스크 상에 물리적인 용량을 갖지

않는다. 즉, 실제로 존재하지 않는다는 것이다. 메모리에 존재하는 내용을 마치 하드

디스크상의 하나의 파일처럼 다룰 수 있게 해주는 디렉토리다. 이 안에는 지금 시스템에서

작동하고 있는 다양한 프로세스들을 참조 할 수 있게 한다.

 


8. /usr

이 디렉토리는 매우 중요한 디렉토리이다. /usr 디렉토리는 매우 많은 하위 디렉토리를

가지고 있으며, 그 디렉토리들은 시스템에 사용되는 매우 중요한 프로그램들을 포함하고

있고, 설정 파일들도 지니고 있다. 많은 디렉토리들이 시스템 운영에 있어서 필수적인 것에

반하여, /usr에 있는 파일들은 선택적이라고 말할 수 있다. /usr 이 없다면 cp, ls 등만

있는 지루하고 재미없는 시스템이 될 것이다. 대부분의 흥미로운 소프트웨어들이

여기 /usr 디렉토리에 설치된다.

 


9. /usr/bin

유닉스 시스템의 실제적인 프로그램들이 들어 있는 장소이다. 시스템 운영에 최소한의 기본

프로그램들이 든 /bin에서 발견 할 수 없는 대부분의 실행 프로그램들을 저장하고 있다.

 


10. /usr/X11R6

X 윈도우 시스템의 루트 디렉토리로 X 윈도우를 설치한다면, X 윈도우는 상당히 크고

강력한 그래픽 환경으로써 아주 많은 그래픽 유틸리티와 프로그램들을 가지고 있다.

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

 


11. /usr/include

/usr/include 에는 그 이름이 의미하듯, C 컴파일러에 대한 헤더 파일을 포함하고 있다.

대부분 .h 로 끝나는 헤더 파일들은 자료 구조명과 서브루틴 그리고 C 프로그래밍에

사용되는 모든 상수들을 선언하고 있다.

유닉스 프로그래밍 수준에서 사용되는 파일들은 /usr/include/sys 에 들어 있다.

 


12. /usr/lib

여기는 /lib에서 볼 수 있는 정적 라이브러리에 해당되는 것, 또는 다른 라이브러리들을

가지고 있다. 프로그램을 컴파일 하려고 할 때 그 프로그램은 바로 /usr/lib에 있는

라이브러리와 링크 된다. 그 다음에 /lib를 찾아서 실제 코드를 링크해 낸다.

 


13. /usr/local

이곳은 /usr과 상당히 유사하다. 시스템 운영에 필수적이지는 않은 다양한 프로그램들을

많이 포함하고 있다. 필수적이지는 않지만 시스템에서 제일 재미있고 흥미로운

프로그램들이 여기에 위치한다고 할 수 있다.

일반적으로 /usr/local에 있는 파일들은 여러분의 시스템에 특별한 프로그램만 설치한다.

즉, 각 유닉스 시스템 서로 간에 /usr/local은 엄청나게 많이 다르다.

예를 들어 TaX, Emacs와 같은 소프트웨어 패키지 등이 여기에 설치되어 있다.

 


14. /usr/man

맨 페이지를 저장하고 있는 디렉토리다. 모든 맨 페이지에 대해서는 두개의 하위 디렉토리

가 존재한다. 온라인 유닉스 매뉴얼에 의해 사용되는 파일들이 들어있다.

 


15. /usr/src

이 디렉토리는 컴파일 되지 않은 다양한 프로그램 소스(주로 커널소스)들이 들어 있다.

그중 가장 중요한 것은 /usr/src/linux 라는 디렉토리로써, 커널의 소스를 담고 있다.

통상 시스템에 중요한 소스를 /usr/src 밑에서 컴파일 하는 것이 관례이다.

시스템에 덜 중요한 소스들이라면 /usr/local/src 밑에다 하는 것이 또한 관례이다.

 


16. /var

이곳은 시스템 운영 도중에 파일 크기가 변하는 동적인 요소들을 담고 있는 디렉토리이다.

대부분의 경우 /usr 디렉토리에 존재 하지만, /usr 디렉토리에 있는 것은 시스템 운영 중에

변하지 않는 요소라고 보고, 변화하는 요소들을 /var 디렉토리로 보낸다.

/var/adm는 시스템 관리자에게 관계되는 파일들을 포함하고 있다. /var/log는 시스템의

에러나 문제 상황을 기록하는 시스템 로그 파일이다. /var/spool는 프로그램에 의해서

스풀링 되는 파일들이 들어가는 디렉토리로 /var/spool/mail은 메일이 일시적으로 저장되는

디렉토리고 /var/spool/lpd는 프린트를 하기 위한 임시 디렉토리다.

 

 

17. /boot

커널이 저장되어 있는 디렉토리로 Boot에 필요한 booting 지원 파일들이 저장되어 있는

디렉토리이다.

 


18. /mnt

외부 장치인 플로피 디스크, CD-Rom, Samba 등을 마운트하기 위해서 제공되는 디렉토리

이다. 이 디렉토리는 임시로 사용되는 디렉토리이므로 프로그램은 /mnt 디렉토리에 어떠한

파일 시스템이 마운드 되었는지 자동으로 인식하지 않는다.

또한 /mnt는 보통 여러 개의 하위 디렉토리로 나누어 사용하며, 평소에는 /mnt 디렉토리의

각 디렉토리들은 비어 있는 상태이다.

 


19. /tmp

디렉토리 이름에서도 알 수 있듯이 임시 파일들을 위한 디렉토리이다.

 

 

※ 참고자료

[1] http://cafe.naver.com/comhouse.cafe

[2] cafe.naver.com/armydelay1

[3] http://www.jointclub.net/

[4] http://cs.kangwon.ac.kr/~ysmoon/courses/2006_1/us/05.pdf

'삽질 > Com' 카테고리의 다른 글

awk  (0) 2009.12.06
junk : 임시휴지통 만들기  (0) 2009.12.06
트리  (0) 2009.12.06
이중연결리스트  (0) 2009.12.06
빙고게임  (1) 2009.12.06

댓글