4.1 시작과 종료
종료하는 방법
① 바탕 화면의 [사용자 이름] → [컴퓨터 끄기] → <컴퓨터 끄기>
② 터미널/콘솔에서 시스템 종료 명령 입력 (shutdown –P now , halt –p , init 0)
시스템 재부팅
① 바탕 화면의 [사용자 이름] → [컴퓨터 끄기] → <다시 시작>
② 터미널/콘솔에서 시스템 재부팅 명령 입력 (shutdown -r now , reboot , init 6)
로그아웃
① 바탕 화면의 [사용자 이름] → [로그아웃]
② 터미널/콘솔에서 시스템 종료 명령 입력 (logout / exit)
가상 콘솔
가상 모니터로 총 6개의 가상 콘솔을 제공
단축키 : Ctrl + Alt + F2 ~ F6
런레벨
init 명령어 뒤에 붙는 숫자를 런레벨이라고 함
런 레벨 모드를 확일 할 때는 /lib/systemd/system 디렉터리의 runlevel?.target 파일을 확인
자동완성과 히스토리
자동 완성 : 파일명의 일부만 입력 후 Tab 키를 눌러 나머지 파일명을 자동으로 완성하는 기능
도스 키 : 이전에 입력한 명령어를 상/하 화살표 키를 이용해서 다시 나타내는 기능을 말함
히스토리(history) : 이전에 입력한 명령어를 출력해 주는 명령어
에디터의 사용
vi 에디터 사용법 개요도
명령모드 -> 입력 모드 |
i |
현재 커서의 위치부터 입력 |
I |
현재 커서의 맨 앞에서부터 입력 |
a |
현재 커서의 위치 다음칸부터 입력 |
A |
현재 커서 줄의 맨 마지막부터 입력 |
명령 모드에서 커서를 이동 |
h |
커서를 한 칸 왼쪽으로 이동 |
j |
커서를 한 칸 아래로 이동 |
k |
커서를 한 칸 위로 이동 |
l |
커서를 오른쪽으로 한 칸 이동 |
명령 모드에서 삭제, 복사, 붙여 넣기 |
x |
현재 커서가 위치한 글자 삭제 |
X |
현재 커서가 위치한 앞 글자 삭제 |
dd |
현재 커서의 행 삭제 |
숫자 dd |
현재 커서부터 숫자만큼의 행 삭제 |
yy |
현재 커서가 있는 행을 복사 |
숫자 yy |
현재 커서부터 숫자만큼의 행을 복사 |
p |
복사한 내용을 현재 행 이후에 붙여 넣기 |
P |
복사한 내용을 현재 행 이전에 붙여 넣기 |
도움말 사용법
man 명렁어를 입력하면 도움말 출력
마운트와 CD/DVD 및 USB 메모리의 활용
물리적인 장치를 특정한 위치에 연결 시켜 주는 과정
4.2 리눅스 기본 명령어
명령어 |
설명 |
ls |
해당 디렉터리에 있는 파일의 목록을 나열 |
cd |
디렉터리 이동 |
pwd |
현재 디렉터리의 전체 경로를 출력 |
rm |
파일이나 디렉터리 삭제 |
cp |
파일이나 디렉터리 복사 |
touch |
크기가 0인 새 파일 생성, 이미 존재하는 경우 수정 시간 변경 |
mv |
파일과 디렉터리의 이름을 변경하거나 위치 이동시 사용 |
mkdir |
새로운 디렉터리 생성 |
rmdir |
디렉터리 삭제 |
cat |
텍스트로 작성된 파일을 화면에 출력 |
head , tail |
텍스트로 작성된 파일의 앞 10 행, 혹은 마지막 10행만 출력 |
more |
텍스트로 작성된 파일을 화면에 페이지 단위로 출력 |
less |
more 와 용도가 비슷하고 기능이 확장 됨
추가로 page up/ page down 키도 사용 가능 |
file |
해당 파일이 어떤 종류의 파일인지 표시 |
clear |
명령 창을 깨끗하게 지워줌 |
4.3 사용자 관리와 파일 속성
파일의 리스트와 파일 속성
파일 유형
디렉터리일 경우에는 d, 일반적인 파일일 경우에는 –가 표시
파일 허가권
3개씩 끊어서 읽음 (rw-, r--, ...) 총 3개의 덩어리로 구성
첫 번째는 소유자의 파일 접근 권한
두 번째는 그룹의 파일 접근 권한
세 번째는 그 외의 사용자의 파일 접근 권한
숫자로도 표시가능 (8진수)
사용자와 그룹 관련 명령어
명령어 |
설명 |
useradd |
새로운 사용자 추가 |
passwd |
사용자의 비밀번호를 지정하거나 변경 |
usermod |
사용자의 속성을 변경 |
userdel |
사용자를 삭제 |
chage |
사용자의 암호를 주기적으로 변경하도록 설정 |
groups |
사용자가 소속된 그룹을 보여줌 |
groupadd |
그룹을 새로 생성 |
groupmod |
그룹의 속성을 변경 |
groupdel |
그룹 삭제 |
gpasswd |
그룹의 암호 설정, 그룹 관리 수행 |
파일과 디렉터리 소유와 허가권
명령어 |
설명 |
chmod |
파일 허가권 변경 |
chown, chgrp |
파일의 소유권을 바꾸는 명령어 |
링크 생성
명령어 |
설명 |
ln file1 file2 |
file1을 file2의 이름으로 하드링크를 만듦 |
ln –s file1 file2 |
file1을 file2의 이름으로 소프트 링크를 만듦 |
프로그램 설치를 위한 RPM
RPM : Windows의 setup.exe와 비슷한 설치 파일로 확장명은 *.rpm이며, 이를 패키지라고 부름
파일의 의미 : 패키지 이름-버전-릴리즈번호.페도라버전.아키텍처.rpm
4.4 리눅스 관리자를 위한 명령어
파일 위치 검색
find [경로][옵션][조건][action] : 기본 파일 찾기
which 실행파일이름 : path에 설정된 디렉터리만 검색
whereis 실행파일이름 : 실행파일, 소스, man 페이지 파일까지 검색
locate 파일이름 : 파일 목록 데이터베이스에서 검색
시스템 설정
날짜 및 설정(system-config-date)
네트워크 설정 (system-config-network)
방화벽 설정(system-config-firewall)
서비스 설정(system-config-services)
그 외 설정
system-config-keyboard : 키보드 설정
system-config-printer : 프린터 설정
system-config-services : 서비스의 가동/중지를 설정
system-config-users : 사용자 설정
system-config-bind : 네임 서버 설정
system-config-display : X 윈도우 환경 설정
system-config-httpd : 웹 서버 설정
system-config-samba : 삼바 서버 설정
CRON 과 AT
cron
주기적으로 반복되는 일을 자동으로 실행할 수 있도록 시스템 작업을 예약해 놓는 것
관련된 데몬 서비스 : crond
관련 파일 : /etc/crontab
형식 : 분 시 일 월 요일 사용자 실행명령
at
일회성 작업 예약
예약해 놓으면 한 번만 실행되고 소멸
예약 : at 시간
4.5 네트워크 관련 설정과 명령어
네트워크 관련 필수 개념
TCP/IP : 컴퓨터끼리 네트워크 상으로 의사소통을 하는 “프로토콜” 중 가장 널리 사용되는 프로토콜의 한 종류
호스트 이름(Hostname)과 도메인 이름(Domain name) : 호스트 이름은 각각의 컴퓨터에 지정된 이름이다. 도메인 이름(또는 도메인 주소)는 hanbit.co.kr
IP 주소 : 각 컴퓨터의 랜카드에 부여되는 중복되지 않는 유일한 주소, 4바이트로 이루어져 있으며, 각 자리는 0~255까지의 숫자로 이루어진다.
네트워크 주소 : 같은 네트워크에 속해 있는 공통된 주소이다.
브로드캐스트 주소 : 내부 네트워크의 모든 컴퓨터가 듣게 되는 주소로 현재 주소의 제일 끝자리를 255로 바꾼 주소이다.
게이트웨이, 라우터 : 네트워크 간에 데이터를 전송하는 컴퓨터 또는 장비를 말하며 Vmware의 게이트웨이 주소는 192.168.111.2로 고정되어 있다.
넷마스크, 클래스 : 네트워크의 규모를 결정해 준다.
DNS(Domain Name System)서버 주소 : URL을 해당 컴퓨터의 IP주소로 변환해 주는 서버이다.
서비스와 소켓
서비스
시스템과 독자적으로 구동되어 제공하는 프로세스
ex >웹 서버(httpd), DB 서버(mysqld), FTP 서버(vsftpd) 등
실행 및 종료는 대개 systemctl start/stop/restart 서비스이름으로 사용
서비스의 실행 스크립트 파일은 /usr/lib/systemd/system/ 디렉터리에 서비스이름.service 라는 이름으로 확인
소켓
서비스는 항상 가동되지만, 소켓은 외부에서 특정 서비스를 요청할 경우에 systemd가 구동 후 요청이 끝나면 소켓도 종료
소켓으로 설정된 서비스를 요청할 때는 systemd가 서비스를 새로 구동하는데 시간이 소요 되므로 처음 연결되는 시간이 앞에서 설명한 서비스에 비교했을 때 약간 더 걸릴 수 있음
소켓과 관련된 스크립트 파일 : /usr/lib/systemd/system/ 디렉터리에 소켓이름.socket
모듈의 개념과 커널 컴파일의 필요성
모듈 : 필요할 때마다 호출하여 사용되는 코드
커널 컴파일 순서