처음으로 기출문제를 풀어봤으나 너무 많이 틀려 해설을 찾아보려는데 1803회에 대한 해설본이 아무리 찾아도 보이지않아 직접 구글링해서 찾은 내용을 바탕으로 작성해본 오답노트 입니다!
전체적인 문제를 푸는데 필요한 정보들을 찾아 간단하게 적어 보았네요 ㅎㅎ
이렇게 많이 모르는데 붙을수 있을지 .. ㅠ
──────────────────────────────────────────────────────────────────
오답 정리
★
chown : 소유자, 소유그룹 변경
chgrp : 소유그룹 변경
chmod : 허가권부여
★
mkfs : ext2 파티션 생성
mkfs.ext3 : ext3파티션생성
mke2fs : 기본옵션시 ext2 파티션생성
[mke2fs 옵션]
-j : ext3 파티션 생성
-t <FS> : <FS>파티션 생성 ex) -t ext4
* ext2파티션은 저널링을 사용하지 않는다.
★
스티키비트
- 스티키비트가 설정되어 있으면 이 디렉토리에는 누구나 파일을 생성할 수 있다.
설정법은 chmod o+t data
제거법은 chmod o-t data
★
fdisk
- 파티션의 속성(id)을 확인할 수 있다.
-l : 현재 디스크 및 파티션 보기 /dev/디스크명
-n : 신규 파티션 추가
-t : 파티션 종류 변경 (82 - 스왑파티션, 83 - 리눅스파티션)
-p : 파티션 설정보기
-m : 메뉴보기
-a : 부트가능 플래그로 변경
-d : 파티션 삭제
-w : 파티션 설정저장
★
/etc/fstab의 필드형식
[파일시스템 장치명] |
[마운드 포인트] |
[파일시스템종류] |
[ 옵션 ] |
[dump 관련설정] | [파일 점검 옵션] |
/dev/sda1,2 LABEL=/ LABEL=/boot |
/ /home /backup |
ext ext2,3,4 iso9660 |
defalt auto no auto |
0 : dump X 1 : dump O | 0 : 부팅시 실행되는 fsck가 실행되지않음 |
★
quota : 파일의 용량 및 개수제한
repquota /home : /home 영역에 설정된 사용자 쿼터정보를 출력하는 명령
edquota : 쿼터설정
quotacheck : 현재 상태 체크
★
eject : DVD등 이동식 보조기억장치의 미디어를 꺼낼때 사용하는 명령
fdisk : 하드디스크에 파티션을 만드는 프로그램
mkfs : 파티션한 하드디스크를 포맷할때 사용
unmount : mount를 통해 연결해둔 작업을 해체할 때 사용
mount : 장치와 디렉토리를 연결하는 작업(플로피, CD-ROM)
★
ihd사용자가 셸프롬프트 변경시 옵션
[ihd@09:30:21 ~]$
=> PS1="[\u@\t\W]\$"
\u : 사용자 이름
\t : 현재시간
\h : 호스트이름
\d : 날짜
\W : 마지막 경로
echo $SHELL : 현재 접속되어 있는 셸(SHELL) 확인
셸 환경변수 선언하는 방법
PATH = $PATH:$HOME/bin
PS1='[\u@\h\w]\$'
TMOUT=[숫자] (초단위)
TERM=xterm
★
메일 전송시 파일전송은 <
메일 전송시 직접 내용 입력시에는 <<
★
배쉬셸 명령행 편집기능에 대한 명령과 설명
Ctrl + b : 커서를 왼쪽으로 한칸이동
Ctrl + f : 커서를 오른쪽으로 한칸이동
Ctrl + a : 맨 왼쪽으로 이동
Ctrl + e : 맨 오른쪽으로 이동
★
본 셀(sh)
- AT&T 벨 연구소의 스티븐 본이 개발
- 1977년에 처음으로 유닉스 버전7에 포함 되었다
- 조건구문(if), 반복구문(while)이 존재
- 별칭(alias)이 존재하지않는다.
★
변수를 선언할 때는 변수명 = 변수값
선언을 해제할 때는 unset 명령을 사용
★
배쉬셸(bash)의 특성
- 브라이언 폭스가 GNU 프로젝트를 위해 개발
- 맥, 다윈등 다양한 운영체제 지원
- 명령어 완성기능, 명령어 치환기능 지원
- POSIX와도 호환
★
프로세스 우선순위
- ps -l 명령으로 PRI와 NI를 확인할 수 있다.
- PRI는 인위적인 조작이 불가능하다
- NI는 root나 사용자가 조작하는 우선순위 값으로 낮은 값일수록 우선순위가 높다.
- NI값을 설정하면 리눅스는 상황에 따라 PRI값을 적절히 변경하여 우선순위를 조정한다.
★
top 명령
- 실행 상태에서 다양한 명령을 입력하여 프로세스 상태를 출력하거나 제어할 수 있다.
k : PID값을 출력한다.
p : 프로세스 상태와 PID값을 출력한다.
m : 메모리 관련항목을 on/off 한다.
w : 바꾼 설정을 저장한다.
★
프로세스
[ctrl] + [z] : 포어그라운드 프로세스를 백그라운드 프로세스로 전환하기 위해 작업중인 프로세스를 대기상태로 전환하는 키
[ctrl] + [c] : 작업취소
[ctrl] + [D] : 작업정상종료
특징
- 백그라운드 프로세스로 실행하기 위해 실행 명령뒤에 '&'을 붙인다.
- 보통 셸에서 명령을 실행하면 포어그라운드 프로세스로 진행된다.
- 백그라운드 프로세스로 명령을 실행하면 작업번호와 PID를 반환한다.
- 한번 사용자가 실행한 프로세스는 중간에 중지 시킬 수 있다.
★
시그널과 관련된 키보드 입력
SIGINT : <CTRL + C>
SIGQUIT : <CTRL + \>
SIGSTP : <CTRL + Z>
SIGKILL : <CTRL + U> => kill은 다른 프로세스에게 시그널을 보내기만 할 뿐 자신에게 전달되는 시그널을 catch해서 처리할 수는 없다.
★
PID가 9473인 프로세스의 NI값 변경
-> renice -10 9473
renice -> 이미 실행되어 있는 프로세스에 대한 nice값을 변경할 수 있다.
★
프로세스 호출방식
fork : 새로운 프로세스를 위해 메모리를 할당받아 복사본 형태의 프로세스를 실행하는 형태로 기존 프로세스는 그대로 실행
exec : 원래의 프로세스를 새로운 프로세스로 대체하는 형태로 호출한 프로세스의 메모리에 새로운 프로세스 코드를 덮어씌움
inetd : 프로세스가 메모리에 항상 상주하지 않고 서비스요청이 들어왔을 때 관련 프로세스를 실행시키고 완료후 종료시키는 방식으로 효율적인 메 모리 관리에 유용
standalone : 부팅시에 실행되어 해당프로세스가 메모리에 계속 상주하면서 클라이언트의 서비스요청을 처리하는 방식(웹, 메일)
bg : 백그라운드 프로세스로 전환
★
프로세스 상태출력
ps : 동작중인 프로세스 출력
pstree : 프로세스의 상태를 트리구조로 출력
top : 동작중인 프로세스의 상태를 실시간으로 화면에 출력(메모리, 부하상태, cpu등)
* kill은 프로세스 종료
★
프로세스 유틸리티(utility) 사용법과 설명
kill -l : 시그널의 종류를 출력(목록확인)
kill all -9 1234 : X
kill all [option] 프로세스명 : 같은 데몬의 여러프로세스를 한번에 종료 시킬때 사용하는 명령으로 프로세스명 사용
kill -HUP 1234 : PID가 1234인 프로세스에게 1번 시그널을 보냄
kill 1234 : PID가 1234인 프로세스에게 15번 시그널을 보냄
★
vi편집기 문자열 치환
% s/ihd/kait/g : 첫번째 줄부터 끝까지
0,$ s/ihd/kait/g : 0부터 $(끝까지)
.,$ s/ihd/kait/g : 현재커서 위치부터 끝까지
1,$ s/ihd/kait/g : 1부터 끝까지
★
vi 텍스트파일을 열면서 커서를 마지막에 둘때(문제이름임)
-R : 파일을 읽기전용으로 열때 사용한다
+ : 파일을 열면서 커서를 지정한 위치에 놓는다
-r : 손상된 파일 복구
-c : ex명령모드에서 실행되는 명령을 지정하여 실행한다
★
vi모드전환
i : 현재커서 앞에 삽입모드
o : 현재커서가 위치한 곳의 윗줄에 삽입하면서 입력모드로 치환
s : 현재커서가 위치한곳의 문자를 지우면서 입력모드로 치환
(x) P : 버퍼에 들어있는 내용을 현재커서가 위치한 줄의 위에 붙임
vi이동
- h : 왼쪽 - j : 아래 - k : 위 - l : 오른쪽
vi : 리처드 스톨만이 개발, 제임스고슬링이 LISP언어에 의한 환경설정 및 에디터 기능을 확장시킬수 있는 기능을 포함해 배포
- 기능이 너무많아 대응하는 LISP코드를 불러오는데에 오랜시간이걸리고 초보자가 사용하기 힘듬
vim : vi보다 다양한 색상, 빠른검색, 문법검색
pico : 메모장과 비슷
emacs : 매크로 기능이 있는 텍스트 교정 및 편집기
★
수세(SUSE) 리눅스에서 사용하는 저장소기반의 패키지 관리 프로그램
-> YAST
YUM -> 레드햇
★
rpm 옵션
-v : 메세지를 자세히 보여줌
-V : 검증시 사용하는 기본옵션
-q : 질의시 꼭 해야하는 옵션
--version : 명령의 버전정보를 출력
★
tar 압축옵션
cvf - tar로 압축하기 [파일명.tar] [폴더명]
rvf - tar파일에 파일추가
xvf - 조건준 이름으로 묶인 파일과 디렉토리를 보여준다.
tvf - 압축 풀기
★
패키지 설치
데비안 : apt-get
레드햇 : yum
★
압축
xz - 데이터 무손실 압축프로그램, 다른것 보다 높은 압축률
gzip - compress대체, GNU에서 만듬
bzip2 - gzip 보다 압축률이 좋지만, 시간이 더걸림
compress - 전통적인 유닉스 압축프로그램
★
rpm
-ivh - 설치할 패키지 파일명을 적으면 설치
-Uvh - 기존보다 업그레이드된 버전의 패키지 설치
-Fvh - 이전버전의 패키지가 있는 경우에만 설치
★
rpm 정보
-qi : 패키지의 많은 정보 출력
-qd : 관련 문서파일을 보여준다
-ql : 설치되어 있는 경로를 보여준다
-qa : 설치된 모든 패키지를 보여준다
★
lp명령어 : 특정 파일/ 정보를 프린터로 출력하는 명령어
-d : 프린터/ 프린터클래스를 [옵션]으로 지정
-n : 프린트할 매수로 지정
★
ALSA사운드카드 초기화시 alsactl init
★
cancle 명령어로 프린트작업 취소시에는 먼저 lpstat 명령어로 큐의 요청ID를 확인해야한다.
★
BSD계열 프린터 명령어 lpr - lpq -lprm
SystemV계열 프린터 명령어 lp - lpstat - cancel
★
ALSA - 고급 리눅스 사운드 아키텍처
OSS - 오픈 사운드 시스템
SANE - 스캐너
LPRng - 리눅스 초기인쇄시스템
CUPS - 최근 배포판으로 애플이 개발한 오픈소스프린팅 시스템
여기까지가 1과목!
2과목은 추가예정!