관리 메뉴

리눅스 기본 개념 본문

리눅스/Linux 공부내용

리눅스 기본 개념

ª_ª 2016. 11. 29. 10:04
728x90
반응형

리눅스와 윈도우 차이점


리눅스는 주로 명령을 사용하여 관리 또는 서비스 운영을 합니다.

윈도우는 GUI 도구를 사용하여 관리 또는 서비스 운영을 합니다.

 

리눅스는 메모리/CPU 등의 자원 관리가 효율적 입니다.

윈도우는 GUI를 주로 사용하기 때문에 자원관리가 비효율적 입니다.

 

리눅스는 사용자 편이성을 고려한 시스템이 아닙니다.

윈도우는 사용자 친화적 시스템으로 성능보다 사용 편이성이 우선시 합니다.

 

리눅스 장점

* 시스템/서비스 중심형 시스템.

* 시스템/서비스 성능을 위주로 운영체제 설계.

* 성능적 측면에서 다른 운영체제보다 우위.

* 시스템을 고려한 설계에 따라 오류가 적음.(blue screen 없음)

* 다중 사용자 연결을 지원.

 

리눅스의 File System 계층구조

 

/bin

이 부분에는 부팅 할 때 필요한 명령어들이 들어 있습니다. 또한 부팅 후에 일반 사용자들도 명령들을 이용 할 수 있습니다. bin은 명령어들의 저장고라는 뜻입니다.

 

/sbin

이 부분에는 /bin 디렉토리와 비슷하지만, 주로 시스템 관리를 위한 명령들이 보관됩니다. 일반 사용자들은 제한적으로만 이 곳의 명령들을 사용할 수 있습니다.

 

/etc

이 부분은 각 머신의 고유한 설정 파일들이 위치하는 곳입니다.

 

/root

루트 사용자의 홈 디렉토리 입니다.

 

/lib

공유 라이브러리가 있는 곳입니다. 라이브러리들은 루트 파일시스템에 있는 프로그램들이 사용합니다.

 

/lib/modules

로딩 가능한 커널 모듈들이 위치하는 곳입니다. 특별한 경우, 장애를 복구하기 위해 시스템을 부팅할 때도 커널 모듈 필요합니다.

 

/dev

장치 파일들이 있는 곳입니다. 장치 파일은 일반적인 파일과는 다른 특수 파일로서, 마치 파일을 읽고 쓰듯이 하드웨어를 다룰 수 있게 합니다.

 

/tmp

임시 파일들이 사용하는 공간입니다.

 

/boot

부트스트랩 로더가 사용하는 공간으로, 커널 이미지들이 이곳에 위치하게 됩니다.

 

/mnt

시스템 관리자에 의해 임시로 마운트된 파일시스템들이 위치할 곳입니다. 이곳은 임시로 사용하는 곳이므로 프로그램들은 /mnt에 무엇이 마운트되었는지 자동적으로 인식하지 않습니다. /mnt 는 보통 하위 디렉토리로 분할하여 사용하게 됩니다.

 

/proc, /usr, /var, /home

/home에는 각 사용자들의 홈 디렉토리가 위치합니다.

/proc, /usr, /var 에도 각각 다른 파일시스템이 마운트 됩니다.

 

/etc 파일 시스템

/etc/rc or /etc/rc.d or /etc/rc#.d (#runlevel)

시스템 시작시나 실행 레벨이 바뀔 때 실행되는 스크립트들입니다. 혹은 그런 스크립트를 모아둔 디렉토리일 수도 있습니다.

 

/etc/passwd

사용자들의 데이터베이스 파일로서 이곳에는 사용자들의 username, 실제이름, 홈디렉토리의 위치, 암호화된 패스워드, 기타 정보들이 수록됩니다.

 

/etc/fstab

이 곳에서는 시스템 시작시 mount a 명령(/etc/rc 같은 곳에 설정되어 있습니다.)에 의해 자동으로 마운트될 파일시스템들이 나열되어 있습니다. 리눅스의 경우에는 swapon a 명령에 의해 사용되는 스왑 영역에 대한 정보도 수록되어 있습니다.

 

/etc/group

/etc/passwd 와 비슷하지만, 사용자들의 정보가 아닌 각 그룹들의 정보가 기재됩니다.

 

/etc/inittab

init의 설정 파일입니다.

 

/etc/shadow

쉐도우 패스워드 소프트웨어가 설치되어 있는 시스템의 경우에는 이곳에 쉐도우 패스워드가 보관 됩니다. 쉐도우 패스워드라는 것은 /etc/passwd 파일에서 암호화된 패스워드 부분만을 떼어내 /etc/shadow 에 보관해 두는 것을 말합니다. /etc/shadow 는 루트 사용자만 읽을 수 있기 때문에 패스워드가 쉽게 크랙되는 것을 막을 수 있습니다.

 

/etc/login.defs

login 명령의 설정 파일입니다.

 

/etc/profile, /etc/csh.login, /etc/chs.cshrc

시스템이 시작될 때나 로그인이 이루어질 때, Bourne 쉘이나 C 쉘에 의해 실행되는 파일들입니다. 이 파일들을 사용하면 모든 사용자들의 기본 환경을 설정해 줄 수 있습니다.

 

/etc/securetty

루트의 로그인이 허용되는 안전한 터미널을 지정합니다. 보통은 가상 콘솔들만 나열되어 있는데, 이것은 누군가가 모뎀이나 네트워크를 통해 시스템에 침입하여 슈퍼유저 권한을 얻는 일을 방어하기 위한 곳 입니다.

 

/etc/shells

여기서는 신뢰할 수 있는 쉘이 어떤 것인지를 지정합니다. chsh 명령으로 로그인 쉘을 바꿀 때 이 곳에 나열된 쉘들만 지정할 수 있습니다. 또한 FTP 서비스를 제공하는 ftpd 서버 프로세스는 사용자의 쉘이 /etc/shells에 나열 된 것과 일치하는 지를 확인하고, 만약 일치하지 않는다면 로그인을 거부합니다.

  

/usr 파일시스템

/usr 파일시스템은 모든 프로그램들이 설치되는 곳입니다.

 

/usr/bin

사용자들을 위한 대부분의 명령들이 들어있습니다. 그 밖에 몇몇의 /bin 이나 /usr/local/bin에 있기도 합니다.

 

/usr/sbin

시스템 관리를 위한 명령들 중, 루트 파일시스템에는 있을 필요가 없는 명령들이 있게 됩니다. , 대부분의 서버 프로그램들이 이곳에 위치합니다.

 

/usr/include

C programming language를 위한 헤더 파일들이 있습니다. 원칙적으로는 /usr/lib 아래에 있어야 하지만, 에전부터 이 위치에 있어왔던 전통이 워낙 강해서 아직도 이곳에 남아 있습니다.

 

/usr/lib

프로그램들과 서브시스템들의 고정적인 데이터 파일들이 위치합니다. 또한 전체 시스템에 폭넓게 적용될 수 있는 site-wide 한 설정 파일들도 이곳에 있습니다. lib 라는 이름은 library에서 유래된 것으로, 원래는 이곳이 programming subroutine 들의 라이브러리가 있던 곳이었기 때문에 이런 이름이 붙게 되었습니다.

 

/usr/local

내부적인 용도의 프로그램들과 기타 파일들이 위치 할 곳입니다.

 

/proc 파일 시스템

/proc 파일 시스템은 실제로 존재하지 않는 일종의 환영입니다. 이 파일시스템은 커널이 메모리 상에 만들어 놓은 것으로 디스크에는 존재하지 않습니다. /proc은 시스템의 갖가지 정보를 제공해 주는데, 원래는 주로 프로세스에 대한 정보를 제공했기 때문에 proc(process)이란 이름을 갖게 되었습니다.

 

/proc/1

프로세스 번호 1번에 대한 정보가 있는 디렉터리입니다. 각 프로세스는 자신만의 디렉터리를 /proc아래에 갖고 있게 되는데, 자신의 프로세스 식별 번호(process identification number)가 디렉터리 이름이 됩니다.

 

/proc/cpuinfo

프로세서의 정보가 들어있고, cpu의 타입, 모델, 제조회사, 성능 등에 관한 정보를 알려 줍니다.

 

/proc/devices

현재 커널에 설정되어 있는 장치의 목록을 볼 수 있습니다.

 

/proc/fileystems

어떤 파일시스템이 커널에 설정되어 있는지를 알 수 있습니다.

 

/proc/kmsg

커널이 출력하는 메시지들입니다. 이것은 syslog 파일에도 기록됩니다.

 

/proc/loadavg

시스템의 평균부하량(load average)을 보여줍니다. 지금 시스템이 해야하는 일들이 얼마나 많은지 알려주는 세가지 지표를 볼 수 있습니다.

 

/proc/meminfo

메모리 사용량에 관한 정보를 보여줍니다. 실제 메모리와 가상 메모리를 모두 다루게 됩니다.

 

/proc/modules

현재 어떤 커널 모듈이 사용되고 있는지를 알려줍니다.

 

/proc/net

네트워크 프로토콜들의 상태에 대한 정보가 들어있습니다.

728x90
반응형
Comments