3. Linux System
- 이번 3장은 매우 중요하므로 꼭 반드시 복습할 것.
1) 리눅스 시스템
▣ Linux Start Process
- Power On : 말 그대로 전원을 켬.
☞ 여기서 잠깐 ! 우리가 흔히 사용하는 제품들 대부분 전원 버튼의 생김새는 이러함.
☞ 컴퓨터가 이해하는 기계어는 0과 1로만 이루어져 있기 때문에 0과 1의 모양을 한 전원 이미지를 사용하고 있음.
- System Reset : 전원을 켜기위한 하드웨어를 체크. (BIOS, CMOS)
- Shell(bash) : 앞서 리눅스의 구조에서 배운 Shell은 처음 실행시 CLI에서 [root@~~~]#와 같은 모양을 하고 있음.
- Command -> Kernel : 사용자는 Shell에 명령어를 치고 Shell은 다시 그 명령어를 해석하여 Kernel에 전달을 함.
- Control : 명령어 실행에 필요한 하드웨어를 제어함.
- Monitor : 결과값을 모니터에 출력해줌.
▣ 가상 콘솔 (검정화면)
- 기본적으로 6개를 제공.
- Ctrl + Alt + F1 ~ F6 : CLI (Command Line Interface)
- Ctrl + Alt + F7 : X -윈도우 전환(GUI)
- 리눅스마다 다르지만 CentOS에서는 Ctrl + Alt + F1 또한 X-윈도우로의 전환을 의미
- 고로 실제로는 5개만 사용 가능(F2 ~ F6)
▣ 계정
- Root 계정 (관리자)
☞ 시스템 설치 시 자동 생성
☞ 시스템 관리를 위한 모든 권한을 소유 = 리눅스의 왕
- 일반 계정 (사용자)
☞ 시스템 관리자에 의해 생성
☞ 시스템 관리자가 생성할 때 초기 패스워드를 설정해주어야 함. => 하지 않으면 로그인 불가.
☞ 개인 사용 환경 변경 및 저장은 가능
▣ 부팅과 종료
- 모든 명령어는 명령어 + (옵션 + 인자) 로 구성.
☞ 대소문자의 구분
☞ 띄어쓰기 엄격
- shutdown -h now == halt == init 0 : 지금 당장 완전한 종료
☞ -h : 옵션
☞ now : 인자
- shutdown -r now == reboot == init 6
- shutdown +10 : 10분 뒤에 종료 (옵션이 필요하지 않음)
- shutdown -c : shutdown을 취소함.
- shutdown -r +20 : 20분 뒤에 재부팅.
★ shutdown +10 하고 shutdown -c 명령어를 줘도 종료하지 않는다?!
shutdown +10 이라는 명령어를 준 순간 화면에서는 [root@~~~]# 이라는 말이 보이지 않음.
위에서 설명했듯이 [root@~~~]# 는 쉘을 의미함.
즉, shutdown 명령어를 받은 순간부터는 더 이상 쉘이 아님을 의미.
그렇다면 어떻게 shutdown -c 명령어를 사용할 수 있을까?
☞ 위의 가상콘솔 설명을 보면 쉽게 종료가 가능함. 기본적으로 제공되는 또 다른 콘솔에서 shutdown -c 명령어를 치면 끝!
☞ 다시 아까의 콘솔로 돌아오게 되면 shutdown 명령어는 취소가 되어있음.
▣ 명령어 매뉴얼 MAN
- 내가 사용하고자 하는 명령어의 사용법을 알고 싶을때 사용.
- 사용법 : man [명령어]
☞ space 키 : 다음페이지
☞ b 키 : 이전페이지
☞ q 키 : 현재 매뉴얼 종료
▣ Shell
- Shell ? ☞ 명령어 해석기
☞ 시스템과 사용간의 대화창구 == 쉘 인터페이스
☞ 매번 강조하지만 사용자가 쉘에 명령어를 치면 쉘은 커널에게 명령어를 전달하고 커널은 결과를 모니터로 출력해 줌.
- Shell의 종류
☞ Bourne Shell -> Bourne Again Shell (bash) : 기본 쉘
☞ C Shell -> 확장 C Shell (tcsh, %)
☞ Korn Shell, V Shell..
☞ 기본 기능이나 작동법은 동일.
- Shell의 기능
☞ 명령프롬프트 (외부명령, 내부명령 실행) #외부명령 : 사용자가 쉘에게 내리는 명령 / #내부명령 : 쉘이 커널에게 내리는 명령
☞ 여려명령 연결 : 파이프 사용 ( | ) // shift + \
☞ 입/출력 리다이렉션 ( >, >> ) : 명령의 방향을 전환.
☞ 특수문자 해석 및 치환, 명령어 치환
☞ 지역 / 환경변수 관리
- Shell의 Prompt
# echo SHELL // echo는 뒤에 나오는 문자열을 출력함 => SHELL
# echo $SHELL // 명령어 뒤에 나오는 '$'는 변수로 인식. 인자값 내용 출력 => /bin/bash
☞ 제일 앞의 # 표시는 root 사용자라는 의미
☞ 반대로 제일 앞의 $ 표시는 일반 사용자라는 의미
2) Linux File system
▣ 리눅스의 경로 찾기
- 절대 경로 : 기준을 잡고 찾는 법. 리눅스에서의 기준은 / (루트 디렉토리)가 됨. ( /tmp )
- 상대 경로 : 현재 내가 위치하고 있는 디렉토리로 부터 찾는 법. ( ./../home)
☞ . : 현재 내가 있는 디렉토리
☞ .. : 상위 디렉토리
▣ Linux Directory
[출처 : http://researchhubs.com/post/computing/linux-cmd/linux-directory.html]
- Windows OS에서는 폴더라고 부르고 Linux에서는 디렉토리라고 부름.
- /bin : 시스템을 사용하기 위한 기본적인 명령어 포함. (일반 사용자의 명령어)
- /etc : 시스템이나 사용자관리를 위한 자료 또는 파일 관리자용 명령어 존재. (ID/PW등 중요한 정보의 대부분)
- /sbin : 관리자가 사용하는 시스템 운영에 필요한 관리자용 명령어가 존재하는 디렉토리.
- /var : 내용이 자주 변경되는 가변 자료가 저장.
☞ 시스템 운영할 때 발생되는 로그 (log)
☞ 메일 송/수신할 때 임시로 저장되는 스풀 (spool)
☞ mySQL의 데이터 베이스
☞ FTP의 최상위 디렉토리 등...
i2sec 대구지점 23기 수료생.
'해킹&보안 > Linux' 카테고리의 다른 글
[D+7] 리눅스 커맨드 (3) (0) | 2017.02.15 |
---|---|
[D+6] 리눅스 커맨드 (2) (0) | 2017.02.14 |
[D+5] 리눅스 커맨드 (1) (0) | 2017.02.13 |
[D+3] 가상 머신 (0) | 2017.02.08 |
[D+2] 리눅스 개요 (0) | 2017.02.07 |