리눅스 디렉토리 명령어와 부트로더
리눅스의 부트로더
- 정의 : 커널이 올바르게 부팅되기 위해 필요한 작업을 수행하고 최종적으로 운영체제를 부팅시키는 역할 담당
- GRUB : 리눅스의 기본 부트로더(GNU에서 만든 부트로더)
- LILO : MBR이나 파티션의 시동섹터 안에 위치
LILO의 특징
- Redhat 계열의 배포판에서만 제공된다.
- LILO를 사용하면 다양한 OS를 선택하여 사용할 수 있다.
- LILO외에도 GRUB(Grand Unified Bootloader)등의 부트로더가 있다.
- 설정파일인 etc/lilo.conf의 각 특징
= boot=/dev/hda : LILO가 설치될 위치
= map=/boot/map : LILO에 의해서 자동으로 생성되는 파일
= install=/boot/boot.b : 부트 섹터 위치 정보를 가진 파일
- GRUB보다 먼저 개발되었다.
- 컴퓨터바이오스(BIOS)의 정보를 참조하지 않는다.
GRUB의 특징
- LILO에 비해 설정 및 사용의 편리성
- 부트 정보가 올바르지 않더라도 부팅시 이를 바로 수정하여 부팅 가능
- 윈도우 계열 및 기타 운영체제를 지원하므로 멀티 부팅이 가능
- 메뉴 인터페이스 환경을 지원하며 대화형 모드로 부트 정보 설정 가능
- 네트워크상에서 부트로더의 설정수정 가능
- 커널의 물리적 위치를 기록하지 않고도 커널 파일명과 커널이 위치하고 있는 파티션의 위치만 알고 있으면 시스템 부팅 가능
- GRUB은 IDE 하드디스크를 장착한 순서대로 인식한다.
- GRUB의 장치 이름은 블록 디바이스 표기법과 다르게 파티션 순서를 알파벳이 아닌 숫자로 표기
- ex) HDA,HDB...->hd0(첫번째 하드 디스크),hd1
- Default : 멀티부팅일 경우 기본으로 부팅할 운영체제의 레이블 번호(0부터 시작)
- Timeout : 정해진 시간이 경과 후 default에 설정된 운영체제로 부팅
- splashimage : 배경 그림 경로 설정
- Title : GRUB에 나타나는 운영체제 이름 설정
- boot : 부팅할 운영체제가 설치된 파티션을 설정
- Kernel : 운영체제 부팅시 읽어올 커널 파일 지정
- Initrd : 초기 램디스크 즉, 부팅 시 초기화에 필요한 루트디스크의 이미지 파일을 지정
GRUB환경 설정 파일(명령어)
- boot : 지정한 장치와 커널 명령어로 부팅(boot)
- cat 파일명 : 파일의 내용을 확인(cat/boot/grub.conf Grub.conf 설정파일 내용을 보여줌)
- Clear : 화면을 클리어(Clear)
- find 파일명 : 지정파일이 위치하는 장치명 검색(Find/boot/grub/stagel)
- kernel[커널파일명] : 부팅에 사용할 커널 이미지 파일의 경로를 지정(Kernel/boot/vmliauz-2.6.19-204.el5 root .....)
- Makeactive : 루트디스크에 존재하는 GRUB의 루트디바이스를 부팅 가능한 파티션으로 지정(makeactive)
- root[장치명] : 지정한 장치를 부트파티션으로 지정 (root(hd0,0) 프라이머리 마스터의 첫 번째 파티션을 부트파티션으로 지정)
- Rootnoverify[장치명] : Root와 비슷하나 파티션을 마운트 하지 않음. 주로 grub에서 지원하지 않는 파일시스템 부팅시 사용 (Rootnoverify(hd0,0))
- Setup[장치명] : 지정장치로 grub 자동 설치(Setup(hd0))
리눅스 실행 레벨(runlevel)
- 0 : halt(Do NOT set inditdefault to this)
- 1 : Single user mode
- 2 : Multiuser, without NFS
- 3 : Full multiuser mode
- 4 : unused
- 5 : X11(그래픽 사용자 모드)
- 6 : reboot
Shutdown
* 시스템을 종료하거나 재부팅할 때 사용
* shutdown[옵션][시간][메시지]
* -r :시스템 재부팅
* -f : 다음 부팅 시 파일 시스템 검사를 하지 않음
* -h : 셧다운 시 halt작업(시스템 종료) 실행
* -c : 예약되어 있는 shutdown 작업을 취소
* -t n : 경고 메시지 부낸 후 n초 후에 kill 시그널 전송
* ex) shutdown -r now : 시스템을 즉시 재부팅
* ex) shutdown -h now : 시스템을 즉시 종료
* ex) shutdown -r 1 : 1분 후 시스템 재부팅
halt
* 시스템을 종료할 때 사용
* halt[옵션]
* -f : 강제종료
* -d : /var/log/wtmp 파일에 기록을 남기지 않음
reboot
* 현재 시스템을 재부팅
* 시스템을 shutdown한다.
* 다중사용자 모드에서도 수행 된다.
* 시스템 실행 수준(runlevel)을 3으로 변경시킨다.
init
* runlevel을 이용해서 시스템을 종료/재부팅 사용
디렉토리 관련 명령어
- pwd : 현재 위치한 디렉토리의 절대 경로 표시
- cd : 현재 위치에서 디렉토리 변경할 때 사용
ex) cd .. :상위 디렉토리로 이동 // cd\ : 무조건 루트 디렉토리로 이동 //
cd~ : 어떤 위치에서든 현재 계정의 홈디렉토리로 이동
- ls : 도스의 dir과 같은 명령으로써 파일명, 디렉토리 등을 화면에 출력하는 명령
= ls[옵션][디렉토로티명]
= -a : .로 설정된 숨김 파일을 화면에 보여줌
= -l : 파일에 대한 정보(파일 허용권한, 소유자, 그룹, 파일크기, 파일 변경날짜) 등을 보여줌
= -m : 파일을 쉼포(,)로 구분하여 가로로 출력하여 보여줌
= -t : 가장 최근에 변경된 파일을 최근 순서대로 보여줌
= -u : 최근에 액세스했던 파일목록을 보여줌
= -R : 하위디렉토리 파일도 모두 보여줌
rw------ : 퍼미션 // root root : 소유자와 그룹 소유자 // 1 : 하드링크수1685 : 크기 // Mar ~~~ : 마지막 변경 일자 // anaconda~~ : 파일명
- 두 개의 옵션을 합쳐서 사용 할 수 있다.
- mkdir : 디렉토리를 생성하는 명령
= mkdir[옵션] 생성할 디렉토리명
= -m : 생성할 디렉토리에 권한(퍼미션)까지 지정
= -p : 상위 디렉토리까지 생성
- rmdir : 비어있는 디렉토리를 삭제
= rmdir[옵션] 삭제할 디렉토리명
= -p : 상위 디렉토리까지 삭제
/(root) 디렉토리
- 시스템 근간이 되는 가장 중요한 디렉토리로 반드시 존재해야함
- 모든 파티션, 디렉토리는 루트 디렉토리 아래에 위치
- /Bin : 일반 사용자, 시스템 관리자들을 위한 시스템조작 관련한 기본 명령어들이 존재
- /Boot : 부트로더와 부팅을 위한 파일들이 존재
- /Dev : 장치 파일들이 존재
- /Etc :시스템 혹은 프로그램들의 환경설정 파일들이 존재
= /etc/fstab : 파일 시스템 관리
= /etc/group :유저 그룹 관리
= /etc/inittab : init 프로세스 관리
= /etc/passwd :유저 관리
x(암호):0(userID):0(groupID):root(사용자 정보):/root(사용자계정 홈디렉토리):/bin/bash(사용자계정 로그인 쉘)
shadow를 쓸 경우에 암호화 되어있는 것을 볼 수 있다.
- /home : 사용자의 홈 디렉토리로써 로그인 하였을 때 처음으로 위치하게되는 디렉토리 의미
- /Lib : 공유 라이브러리와 커널 모듈이 존재
- /sbin : 시스템 관리 명령어들이 존재
- /tmp : 임시 파일들이 저장되는 공간
- /usr : 일반 사용자들을 위한 대부분의 응용 프로그램이 설치되는 공간
= /usr/bin : 응용프로그램의 실행 파일이 존재
= /usr/include : C언어의 헤더파일 존재
= /usr/lib : 실행 파일들을 위한 라이브러리 저장
= /usr/local : 일반적 프로그램을 설치
= /usr/src : Rpm, 소스파일들을 저장하여 사용
- /proc : 실행중인 프로세스의 정보와 cpu, 메모리등의 시스템 정보가 가상으로 저장
= /proc/cpuinfo : CPU의 정보
= /proc/devices : 현재 커널에 설정되어 있는 장치의 목록 표시
= /proc/filesystems : 현재 커널에 설정되어 있는 파일시스템 목록 표시
= /proc/interrupts : 현재 사용중인 인터럽트에 대한 정보 표시
= /proc/loadavg : 시스템의 평균 부하량 표시
= /proc/stat : 시스템 상태 표시
'IT > Network' 카테고리의 다른 글
[ Linux 마스터 2급 ] 리눅스 파일관련 명령어 (0) | 2019.07.13 |
---|---|
[ Linux 마스터 2급 ] 리눅스 사용자 및 그룹관리 (0) | 2019.07.12 |
[ Linux 마스터 2급 ] Virtual Box를 이용한 리눅스 설치 (0) | 2019.07.10 |
[ Linux 마스터 2급 ] 리눅스 디렉토리 구조와 파티션 (0) | 2019.07.09 |
[ Linux 마스터 2급 ] 리눅스 개요와 배포판 (0) | 2019.07.08 |