리눅스마스터 2급 2차 기출문제 해설/보충설명 1601 20160312


시험종목 : 제1601회 리눅스마스터 2급 2차 A형
시험일자 : 2016. 3. 12(토), 14:00 ~ 15:40(100분)

1601 2급2차 기출문제

바로가기 >> 리눅스마스터 기출문제 목록


chmod
파일이나 디렉터리에 접근할 수 있는 허가권을 설정하는 명령

사용법
# chmod [option] mode file(s)

주요옵션
-R : 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 접근 권한을 변경한다.
-c : 변경된 정보를 출력
-f : 주요한 오류 메시지가 아니면 출력하지 않는다.

chmod 명령에서 권한 지정방법 1번째
r : 읽기 4
w : 쓰기 2
x : 실행 1
ex) chmod 755 test : 사용자는 7(4+2+1), 그룹은 5(4+1), order은 5(4+1) 의 권한으로 지정 -> 사용자는 7(읽기+쓰기+실행)의 권한을 주고 그룹과 order은 5(읽기+실행)의 권한을 줌

chmod 명령에서 권한 지정방법 2번째
u g o a : 각각 사용자(u), 그룹(g), order(o), all(a) 을 의미한다. 생략하면 all
+ – = : 각각 권한 추가(+), 삭제(-), 지정(=)을 의미한다.
ex) chmod go-rx test : 그룹과 order에게 r(읽기) 과 x(실행) 를 제거
chmod go+rx test : 그룹과 order에게 r(읽기) 과 x(실행) 를 추가

chgrp
파일이나 디렉터리의 소유그룹을 바꾸는 명령으로 root가 아니면 사용하는 경우가 드물지만 특정한 사용자가 여러 그룹에 속한 경우에 본인 소유의 파일을 본인이 속한 그룹 내에서 소유권을 변경시킬 수 있다.

사용법
# chgrp [option] group file(s)

주요옵션
-R : 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 접근 권한을 변경한다.
-c : 변경된 정보를 출력
-f : 주요한 오류 메시지가 아니면 출력하지 않는다.
-h : 심볼릭 링크 파일의 그룹 소유권을 변경한다.

리눅스 파일구조
{파일유형} : {파일권한} : {링크수} : {사용자} : {그룹} : {파일크기} : {마지막 변경 일자} : {파일명}

특수 퍼미션
SetUID(4) : 파일을 실행하는 동안에는 소유자의 권한을 획득하는 허가권. -rwsr-xr-x

SetGID(2) : 파일을 실행하는 동안에는 소유그룹의 권한을 획득하는 허가권. -rwxr-sr-x

Stick Bit(1) : 아무나 읽고 쓰기가 가능하지만 생성한 소유자만이 파일을 지울 수 있는 허가권. 이 권한의 설정은 무조건 other 계
층에 설정하도록 되어 있으며 설정하면 other 계층 권한 부분의 x 자리에 t 로 표기된다. drwxrwxrwt

보통 실행파일에 사용되는데 Set-UID 가 설정된 파일 실행 시 해당 파일을 실행하는 동안에는 실행 시킨 사용자의 권한이 아닌 해
당 파일의 소유자 권한으로 인식힌다.

SetUID(4), SetGID(2), Stick Bit(1) 을 부여하기 위해서는 755 등 기존 퍼미션 앞에 붙여준다
4755

디렉터리의 종류와 특징

/
최상위에 있는 디렉터리로 root 디렉터리라 한다.

/bin
일반적으로 bin은 binary의 약자로 실행 파일들이 들어있다.
우리가 흔히 말하는 명령어라는 것들이 들어있는 디렉터리로 보통 PATH가 설정되어 있다.

/boot
부팅 이미지 파일이나 커널 등 시스템 부팅시 필요한 파일이 들어있는 디렉터리.

/dev
하드디스크, CD-ROM, 터미널 등과 같이 실제로 존재하는 물리적인 장치 등을 파일화 하여 관리하는 디렉터리

/etc/
시스템 환경 설정 파일 및 부팅과 관련된 여러가지 스크립트 파일들이 들어 있다.

/etc/mai/
sendmail.cf 나 access 파일등의 sendmail 의 설정파일들이 존재하는 디렉토리.

/etc/ssh/
SSH 서비스, 즉 sshd 데몬에서 사용하는 각종 설정파일들이 존재하는 디렉토리.

/etc/squid/
squid 프록시서버의 설정파일들이 저장된 디렉토리.

/etc/samba/
삼바관련 설정파일들이 저장된 디렉토리

/etc/skel/
계정사용자 생성시의 초기화파일들이 저장된 디렉토리(useradd 에서 사용함)

/etc/rc.d/
부팅레벨별 부팅스크립트파일들이 존재하는 디렉토리.

/etc/rc.d/init.d/
시스템 초기화 파일들의 실제파일들이 존재함.

/etc/pam.d/
PAM 설정 정보파일들이 저장된 디렉토리.

/etc/httpd/
RPM 으로 설치된 아파치 설정파일(httpd.conf 등)들이 저장된 디렉토리.

/etc/cron.d/, /etc/cron.daily/, /etc/cron.hourly/, /etc/cron.monthly/, /etc/cron.weekly/
모두 크론설정파일이 존재하는 디렉토리임.

/etc/xinetd.d/
xinetd 수퍼데몬에 의해 서비스되는 서비스 설정파일이 존재함.

/home
개인 사용자들이 파일이나 디렉터리를 만들어서 사용할 수 있는 홈 디렉터리가 위치한다.

/lib
각종 라이브러리가 저장되어 있는 디렉터리로 커널 모듈도 이 디렉터리에 들어 있다.

/lost+found
fack 명령어를 이용하여 파일 시스템을 복구할 때 작업하는 디렉터리이다.
최상위 디렉토리인 / 디렉토리에만 존재하는 것이 아니라 파일시스템마다 존재할 수 있는 디렉터리

/mnt
마운트할 때 포인터가 되는 디렉터리이다.

/misc
자동 마운트 프로그램인 autofs에 의해 사용되는 디렉터리.

/opt
응용 프로그램들의 설치를 위해 사용되는 디렉터리.

/proc
가상 파일 시스템으로 시스템에서 운영되고 있는 다양한 프로세스의 상태 정보, 하드웨어 정보, 기타 시스템 정보 등을 담고 있다.

/root
시스템 관리자인 root 사용자의 홈 디렉터리.

/sbin
System binary의 약자로 주로 시스템 관리에 대한 명령어들이 들어있는 디렉터리로 보통 슈퍼유저인 root가 사용한다.

/tmp
임시 저장 디렉터리로서 각종 프로그램이나 소켓파일, 프로세스 작업을 할 때 임시파일을 저장하는 공간.

/usr
시스템이 아닌 일반사용자들이 주로 사용하는 디렉토리. 즉, c++, chsh, cpp, crontab, du, find등과 같이 일반사용자들용 명령어들은 /usr/bin 에 위치한다.
시스템 운영에 필요한 명령, 응용 프로그램들이 위치하는 디렉터리이다. 터널 소스, C언어 헤더파일, C-컴파일러와 같은 개발 도구, X-window, 리눅스에서 서버 관리를 위해 사용하는 아파치나 mysql, php 등이 모두 이 디렉터리의 하위 디텍터리에 설치된다.

/usr/bin/
일반 사용자들이 사용가능한 명령어 파일들이 존재하는 디렉토리.

/usr/X11R6/
X 윈도우 시스템의 루트 디렉토리.

/usr/include/
C 프로그램에 필요한 헤드파일(*.h) 디렉토리.

/usr/lib/
/lib 에 들어가지 않은 라이브러리 디렉토리.

/usr/sbin/
/bin 에 제외된 명령어와 네트워크관련 명령어가 들어있는 디렉토리.

/usr/src/
프로그램 소스(주로 커널소스)가 저장되는 디렉토리.

/usr/local/
MySQL, Apache, PHP 등과 같은 어플리케이션들을 소스로 컨파일설치할 때 사용되는 장소.

/usr/share/man/
명령어들의 도움말을 주는 메뉴얼(manual)페이지 디렉토리. 즉, 이 디렉토리에는 시스템에서 사용하는 모든 맨페이지파일(man page)이 존재함.

/var
시스템운용중에 생성되었다가 삭제되는 데이터를 일시적으로 저장하기 위한 디렉토리. 거의 모든 시스템로그파일은 /var/log 에 저장되고, DNS 의 zone 설정파일은 /var/named 에 저장되고, 메일파일은 /var/spool/mail 에 저장되며, 크론설정파일은 /var/spool/cron 디렉토리에 각각 저장됨.

/var/tmp/
/tmp 디렉토리와 같은 공용디렉토리. 즉, /tmp 디렉토리와 /var/tmp 디렉토리의 퍼미션은 1777 로서 sticky bit 가 설정되어 있는 공용디렉토리이다. 리눅스 시스템에서 공용디렉토리는 /tmp 와 /var/tmp 둘뿐이다.

/var/log/
시스템로그파일(messages, secure, xferlog 파일등)이 저장되는 디렉토리.

/var/ftp/
vsftp 등과 같은 FTP 서비스를 위한 다운로드될 파일들 즉, FTP 홈디렉토리.

/var/named/
BIND 즉, DNS 에서 사용하는 zone 파일들이 저장되는 디렉토리.

/var/spool/mail/
각 계정사용자들의 메일파일이 저장되는 디렉토리.

/var/spool/lpd/
프린트를 하기 위한 임시 디렉토리(스풀링 디렉토리).

/var/spool/mqueue/
발송을 위한 메일 일시저장 디렉토리.

/var/spool/cron/
각 사용자들의 cron 설정파일들이 저장된 디렉토리.

/var/spool/at/
atd 즉, 예약작업에 관한 파일들이 저장되는 디렉토리.

chown (change owner)
파일이나 디렉터리의 소유권 및 그룹 소유권을 변경하는 명령이다.

사용법
# chown [option] owner[:group] file(s)
-R : 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 접근 권한을 변경한다.
-c : 변경된 정보를 출력
-f : 주요한 오류 메시지가 아니면 출력하지 않는다.

umask
파일이나 디렉터리 생성시 부여되는 기본 허가권 값을 지정하는 명령이다. 파일 생성 시에는 666, 디렉터리인 경우에는 777에서 설정한 umask 값을 뺀 값을 기본 허가권으로 지정한다.
설정된 umask 값이 022 인 경우 파일을 생성하면 기본 권한이 644(666-022), 디렉터리는 755(777-022)로 설정된다.

사용법
# umask [option] [값]

주요 옵션
-S : umask 값을 문자로 표기

ex)
umask : umask 값 출력
umask 022 : umask 값을 022 로 변경


파일 시스템
파일시스템이란 운영체제가 파티션이나 디스크에 데이터를 저장하고 읽고 쓰고 찾기 위해 구성하는 일련의 체계를 의미하는데,
운영체제가 사용자에게 제공하는 가장 직접적인 서비스 형태 중에 하나이다. 파일 시스템의 구성은 운영체제 설치시에 일어난다.

ext2 : ext 파일 시스템의 다음 버전으로 고용량 디스크 사용 등에 대비하여 확장성에 염두에 두고 설계한 파일 시스템이다.

ext3 : 2001년 11월 리눅스 커널 2.4.15 버전 부터 포함된 파일 시스템으로 ex2의 확장판이다. 리눅스의 대표적인 저널링 파일 시
스템이다. ALC(Access Control List)를 통한 접근 제어를 지원한다.

ext4 : ext2 및 ext3 와 호환성이 있는 확장 버전으로 64비트 기억공간 제한을 없애고, 최대 1Exabyte 의 디스크 볼륨과
16Terabyte 의 파일을 지원하는 등 대형 파일 시스템과 관련된 기능이 대폭 강화되었다. 현재 대부분의 리눅스는 ext4 파일 시스
템을 사용하고 있다.

umsdos
MS-DOS 파일 시스템을 리눅스상에서 긴 파일명, 소유자, 접근권한, 링크와 장치파일 등을 사용할 수 있도록 확장한 파일 시스템이다. 일반적으로 DOS 파일 시스템을 리눅스 파일 시스템처럼 사용할 수 있는 기능을 제공하므로 따로 리눅스를 위한 파티션을 필요로 하지 않는다.

mount
-t fs_type : 파일시스템의 유형을 지정하는 옵션
-o : 마운트할 때 추가 설정을 적용할때 사용하는 옵션으로 다수의 조건을 적용할 때는 콤마로 구분한다.

-o 의 주요항목
-o ro : 읽기 전용으로 마운트한다.
-o rw : 읽기/쓰기 모드로 마운트한다. (기본값)

파일 시스템 유형 : msdos, vfat, ntfs, ext2, ext3, ext4, iso0996, smbfs, cifs, nfs, udf

vfat : 마이크로소프트사의 파일 시스템인 FAT-32를 마운트할 때 지정한다.


fdisk
디스크 파티션을 확인하고 추가/삭제하는 명령으로 설정 후에는 반드시 재부팅을 해야 한다.

옵션
-l : 현재 디스크의 파티션 테이블 정보를 출력
-s partition : 특정 파티션의 크기를 출력. 단위는 block.
-v : fdisk의 버전을 출력한다.

fsck (filesystem check)
파일 시스템을 검사하고 수리하는 명령이다. fack 명령은 손상된 디렉터리나 파일을 수정할 때 임시로 /lost+found 디렉터리에서 작업을 수행하고 정상적인 복구가 되면 사라진다. 만약 /lost+found 디렉터리에 파일들이 많이 쌓여있다면 깨진 파일이 많다는 것이다.

C Shell(C shell, csh)

셸의 변경
사용자가 로그인 셸을 변경하려면 chsh 명령을 사용하면 된다. 시스템에 로그인한 뒤에 chsh 라는 명령을 입력하면 사용자 암호를 물어본다. 암호를 입력한 후 변경하려는 셸을 절대 경로로 입력하면 변경할 수 있다. 변경한 셸의 적용은 다음 로그인부터 유효하다.

bash 에서는 PATH, SHELL 등과 같이 대문자로 된 변수로 구성되어 있다.

환경변수
프롬프트 변경, PATH 변경 등과 같이 셸의 환경을 정의 하는 중요한 역할을 수행하는 변수를 말한다. 환경변수는 미리 예약된 변수명을 사용하고, bash 에서는 PATH, SHELL 등과 같이 대문자로 된 변수로 구성되어 있다.

주요 환경 변수

HOME : 사용자의 홈 디렉터리
PATH : 실행 파일을 찾는 디렉터리 경로
LANG : 셸 사용 시 기본으로 지원되는 언어
TERM : 로그인한 터미널 종류
PWD : 사용자의 현재 작업 디렉터리
SHELL : 사용자의 로그인 셸
USER : 사용자의 이름
DISPLAY : X 에서 프로그램 실행 시 출력되는 창
PS1 : 프롬프트 변수
PS2 : 2차 프롬프트 변수
HISTFILE : 히스토리 파일의 절대경로
HISTSIZE : 히스토리 파일에 저장되는 명령어의 개수(줄 기준)
HISTFILESIZE : 히스토리 파일의 크기
HOSTNAME : 시스템의 호스트명
MAIL : 도착한 메일이 저장되는 경로
TMOUT : 사용자가 로그인한 후 일정 시간 동안 작업을 하지 않을 경우에 로그아웃 시키는 시간. 단위는 초.
UID : 사용자의 UID

 

HISTSIZE : 히스토리 파일에 저장되는 명령어의 개수(줄 기준)

\t : 24시 형태의 시간을 표시
\u : 현재 사용자의 이름을 표시
\w : 현재 작업 디렉터리를 절대경로로 표시
\W : 현재 작업 디렉터리의 전체 경로 중 마지막 디렉터리만 표시

TMOUT : 사용자가 로그인한 후 일정 시간 동안 작업을 하지 않을 경우에 로그아웃 시키는 시간. 단위는 초.

프로세스 : 실행중인 프로그램. 실행시에 번호(Process Identity, PID)가 할당되어 관리된다.

ps
동작중인 프로세스의 상태를 출력해 주는 명령이다.

사용법
$ ps [option]

주요 옵션

a : 터미널과 연관괸 프로세스를 출력하는 옵션이다. 보통 x 옵션과 연계하여 모든 프로세스를 출력할때 사용한다.
u : 프로세스의 소유자를 기준으로 출력한다.
x : 데몬 프로세스처럼 터미널에 종속되지 않은 프로세스를 출력한다. 보통 a 옵션과 결합하여 모든 프로세스를 출력할 때 사용한
다.
l : 프로세스의 정보를 길게 보여주는 옵션으로 우선순위와 관련된 PRI 와 NI 값을 확인할 수 있다.
e : 해당 프로세스에 관련된 환경변수 정보를 함께 출력한다.
f : 프로세스간의 상속관계를 트리구조로 보여준다.

jobs : 백그라운드로 실행중인 프로세스나 현제 중지된 프로세스의 목록을 출력해 주는 명령

&
Shell 에서 명령어를 백그라운드로 실행하고자 할 경우에 사용되는 기호
백그라운드 프로세스는 말 그대로 눈에 보이지 않게 뒤에서 실행시키는 방식이다. 실행시키는 방법은 기존의 포그라운드 프로세스 실행 명령 뒤에 & 만 추가로 붙여서 실행한다.

NFS 서버의 설정
NFS 서버의 접근제어는 /etc/exports 에서 설정하고, /etc/rc.d/init.d 디렉터리에 존재하는 데몬 스크립트인 rpcbind, nfs 를 실행하면 사용 가능하다.

접근 관련 설정
# vi/ etc/exports

관련 데몬 시작
#service rpcbind start
#service nfs start

pstree
현재 실행중은 프로세스를 트리 구조로 보여주는 명령어. 가장 왼쪽이 부모, 오른쪽이 자식 프로세스

사용법
$ pstree [option]

주요옵션
-a : 각 프로세스의 명령행 인자까지 보여준다.
-h : 현재 프로세스와 그것의 조상 프로세스를 하이라이트로 강조해서 보여준다.
-n : 프로세스 이름 대신에 PID 값으로 정렬해서 보여준다. (Number sort)
-p : PID 값을 같이 보여준다.

kill / killall
– 프로세스에 시그널(기본 SIGTERM)을 보냄
– kill은 PID로 프로세스를 지정, killall은 명령 이름으로 지정

kill 명령의 사용 방법
kill [옵션] pid
-s signal 또는 -signal : 프로세스에 signal 시그널을 보냄 (SIGHUP, SIGKILL 등의 이름 또는 번호)
-l : 지정 가능한 시그널 이름을 보여줌
ex)
# kill 724
pid 가 724인 프로세스에 기본 시그널인 15번 시그널을 보낸다.
# kill -9 756 757 758
pid 가 756 757 758 인 프로세스를 강제 종료 한다.
# kill -9 75{6..8}
pid 가 756 757 758 인 프로세스를 강제 종료 한다.

killall 명령의 사용 방법
– killall [옵션] 명령이름
– 여러 프로세스를 kill할 수 있으므로 주의해야 함
ex)
# killall httpd
httpd를 모두 종료한다.

cron 을 이용하여 주기적으로 실행하는 작업은 시스템 운영에 필요한 작업과 사용자의 필요에 의한 작업으로 나눌 수 있다.
실행에 필요한 작읍은 root 권한으로 /etc/crontab에 등록하여 주기적으로 수행할 수 있고 사용자는 crontab라는 명령을 수행해서 등록할 수 있다.
crontab 파일은 다음과 같이 총 7개의 필드로 구성되어 있다.
<minute> <hour> <day_of_month> <month> <day_of_week> <user-name> <command>

ps
동작중인 프로세스의 상태를 출력해 주는 명령이다.

top
동작중인 프로세스의 상태를 실시간으로 화면에 출력해 주는 명령으로 프로세스의 상태뿐만 아니라 CPU, 메모리, 부하 상태 등도 확인할 수 있다.

pstree
현재 실행중은 프로세스를 트리 구조로 보여주는 명령어. 가장 왼쪽이 부모, 오른쪽이 자식 프로세스

 

emacs
이맥스. 유명한 UNIX 환경 텍스트 에디터 중 하나이다.

nano
UNIX 호환 시스템에서 사용 할 수 있는 가벼운 에디터.
Emacs, vim과 함께 UNIX 기본 에디터.

apt-get
데비안 리눅스 배포판에서 패키지 관리를 쉽게 하기 위해 제공되는 명령행 기반의 유틸리티로 레드햇 계열의 yum과 유사하다. 패키지를 설치할때 가장 큰 문제점은 의존성과 충돌성인데 apt-get 은 /etc/apt/sources.list 파일에 패키지 관련 정보를 관리하여 이러한 문제점을 손쉽게 해결한다.

RPM(Red Hat Package Manager)
레드햇사에서 만든 패키지 관리기법으로 프로그램을 .rpm 형태의 파일로 배포하고, rpm 명령을 사용하여 손쉽게 설치 및 갱신, 제거, 검증, 질의 등의 관리를 할 수 있다.

rpm 사용법
rpm 명령의 사용법은 설치 및 갱신, 제거, 질의, 검증, 리빌드모드 등 총 5가지로 나눌 수 있다.

설치 및 갱신모드
새로운 패키지를 설치하거나 갱신할 수 있다.
주요옵션
-i : 새로운 패키지를 설치할 때 사용한다.
-U : 기존의 패키지를 새로운 버전의 패키지로 업그레이드할 때 사용한다.
-F : 이전버전이 설치되어 있는 경우에만 설치한다.
-v : 메시지를 자세히 보여준다.
-h : 설치상황을 # 기호 표시해 준다.

YUM (Yellowdog Updater, Modified )
rpm기반의 시스템에서 패키지를 손쉽게 설치해 주고 자동으로 업데이트를 수행하는 명령행 기반의 유틸리티이다.

command(명령)
list 항목 : 전체 패키지에 대한 정보를 출력
info 패키지명 : 패키지에 대한 정보를 출력
check-update : 업데이트가 필요한 패키지를 출력
update 패키지명 : 패키지를 업데이트할 때 사용
install 패키지명 : 패키지를 설치할 때 사용
search 문자열 : 문자열이 포함된 패키지를 찾아준다.
remove 패키지명 : 패키지를 삭제할 때 사용한다.

tar 옵션
-c : 지정한 파일이나 디렉터리를 하나로 묶어 새로운 tar 파일을 생성한다.
-x : 생성된 tar 파일을 푼다.
-v : 어떤 명령을 실행할 때 대상이 되고 있는 파일들을 보여준다.
-f 파일명 : 작업 대상이 되는 tar 파일의 이름을 지정한다.
-r : 기존의 tar 파일 뒤에 파일을 추가한다.
-t : tar 파일 안에 묶여 있는 파일의 목록을 출력한다.

– tvf : tar 파일의 내용을 볼때 사용하는 옵션

패키지를 설치할때 가장 큰 문제점은 의존성과 충돌성인데 apt-get 은 /etc/apt/sources.list 파일에 패키지 관련 정보를 관리하여 이러한 문제점을 손쉽게 해결한다.

dpkg(Debian Package)
데비안 패키지 관리 도구
사용법
# dpkg [option] [패키지명] [패키지 파일명]
주요 옵션
-i 패키지 파일명 : 패키지를 설치할 때 사용한다.
-R 디렉터리명 : 설치하는 옵션이 -i 와 같이 사용되어 지정한 디렉터리 안에 있는 패키지를 설치할 때 사용한다.
-l : 설치되어 있는 패키지를 출력한다.

-Z : compress 관련 옵션으로 예전 UNIX 계열 표준 압축 파일인 tar.Z 에 사용한다.
-J : xz 관련 옵션으로 압축 파일인 tar.xz 에 사용한다.
-z : gzip 관련 옵션으로 압축 파일인 tar.gz 에 사용한다.
-j : bzip2 관련 옵션으로 압축 파일은 tar.bz2 에 사용한다.

remove : 패키지를 삭제할 때 사용한다.

SANE(Scanner Access Now Easy)
SANE 은 평판 스캐너, 핸드 스캐너, 비디오 캠 등 이미지 관련 하드웨어를 사용할 수 있도록 해주는 API 이다.
GPL 라이선스로 대부분의 운영체제를 지원한다.

XSANE(X based interface for the SANE)
XSANE 은 SANE 스캐너 인터페이스를 이용하여 X-Window 기반으로 만든 프로그램이다.

631 : 인터넷 기반으로 연결된 프린터에 접근할 때 사용하는 포트번호

lpstat : 프린터 큐의 상태를 출력 해주는 명령. 프린터 작업 상태를 확인할 수 있는 명령
cencel : 프린터 작업을 취소하는 명령으로 lpstat를 이용하여 먼저 요청 ID 를 확인해야 한다.

lpr
프린터 작업을 요청하는 명령
주요옵션
-# 값 : 인쇄할 매수(1-100)를 지정하는 옵션
-m : 작업이 완료되면 관련 정보를 E-mail 로 전송한다.
-P 프린터명 : 기본 설정된 프린터 이외에 다른 프린터를 지정할 때 사용한다.
-T : 타이틀 페이지에 들어갈 타이틀명을 설정한다.
-r : 출력한 뒤에 지정한 파일을 삭제한다.
-l : 필터링 없이 직접 보낸다.

lpr : 프린터 작업을 요청하는 명령
lpq : 프린터 큐(Queue) 에 있는 작업의 목록을 출력는 명령
lprm : 프린터 큐에 대기중인 작업을 삭제하는 명령
lpc : 라인 프린터 컨트롤 프로그램 으로 프린터나 프린터 큐를 제어할 때 사용.
lp : System V 계열에서 사용하는 인쇄 명령으로 BSD 계열의 lpr 명령과 유사하다

 

 

과목2 (49-80) 리눅스 활용(40%)

startx
X 윈도를 실행시키는 스크립트로 시스템 환경을 초기화시키고 시작하는데 필요한 여러 프로그램을 호출하고 최종적으로 xinit 을 호출하는 명령이다.
사용법
$ startx [option]
주요옵션
: 명령행의 인자값(argument)을 xinit 에 넘겨준다.

evince : 문서 뷰어 프로그램(pdf, PS, EPS 등)

DISPLAY
X 클라이언트 프로그램이 실행될 때 표시되는 창이 설정되어 있는 환경변수이다. 이 환경 변수의 기본값을 확인해 보면 ‘:0.0’ 이라고 설정되어 있는데, 첫 번째 0 은 시스템에 실행되고 있는 첫 번째 X 윈도를 뜻하고 두 번째 0 은 첫 번째 모니터를 뜻한다. X 클라이언트의 프로그램을 원격지의 X 서버로 전송하려면 이 값을 변경하면 된다.
ex)
# export DISPLAY=”203.247.21.100:0.0″
X 클라이언트 프로그램을 203.247.21.100 으로 전송한다.
# export DISPLAY=”203.247.21.100:0.1″
X 클라이언트 프로그램을 203.247.21.100 의 첫 번째 실행된 X 서버의 두 번째 모니터로 전송한다.

Xlib
C언어로 구현된 클라이언트 라이브러리로 X 서버와 대화를 해주는 역할을 한다. 최근 X.org에서는 XCB(X protocol C-language Binding) 로 대체하여 사용한다.

/etc/inittab
부팅과 관련된 런레벨이 정의되어 있다.
run level을 재부팅 후에도 적용하기 위해 변경해야 하는 파일

UTP 케이블의 배열
8가닥중 실질적으로 쓰이는 선은 4개로 1, 2, 3, 6번인 ‘흰주, 주, 흰녹, 녹’ 이다.
T568B 1번과 3번 2번과 6번의 위치를 바꾸면 T568A 가 된다.

배열순서
T568B 흰주 – 주 – 흰녹 – 파 – 흰파 – 녹 – 흰갈 – 갈
T568A 흰녹 – 녹 – 흰주 – 파 – 흰파 – 주 – 흰갈 – 갈

OSI 7계층
1계층 물리계층
실제 장치들을 연결하기 위해 필요한 케이블 및 연결장치 등과 같은 기계적인 항목과 전압, 신호 방식 등의 전기적인 항목에 대한 특성을 규정한다.
이 계층에서 동작하는 장치에는 허브나 리피터 등이 있다.

2계층 데이터링크 계층
신뢰성 있는 데이터 전송을 보장하기 위한 계층으로 오류 제어와 흐름 제어를 담당한다.
데이터를 전송하는 단위로 분할하는 기능 , 프레임 전달, 전송단위의 순서 제어 기능, 에러 제어 기능, 데이터 흐름 제어 기능 등을 제공한다.
네트워크의 오류 제어는 데이터를 재전송하는 방법으로 처리한다.
이 계층에서 동작하는 장치에는 브리지나 스위치 등이 있다.

3계층 네트워크 계층
네트워크 계층은 송신 호스트에서 전송한 데이터가 수신 호스트에 도착하기 위한 올바른 경로를 선택을 지원하는 역할을 한다.
송수신 호스트 사이의 패킷경로를 결정하는 라우팅, 트래픽이 집중되지 않도록 하는 혼잡 제어, 패킷의 분할과 병합, 인터네트워킹 등의 역할을 수행한다.
이계층에서 동작하는 장치에는 라우터가 있다.

4계층 전송 계층
전송계층은 송신 프로세스와 수신 프로세스간의 연결기능을 제공하고 안전한 데이터 전송을 지원한다.
계층 4까지의 기능은 운영체제에서 시스템 콜 형태로 상위 계층에 제공한다.

5계층 세션 계층
-세션 계층은 전송 계층과 유사하게 송수신 호스트의 세션연결을 지원하지만 더욱 더 상위의 논리적 연결을 지원한다.
즉 사용자간의 대화를 제어하는 대화 제어자로서 사용자들을 동기화하고 유효한 설정인지를 확인한다.

6계층 표현 계층
표현 계층은 송수신 호스트 간에 서로 다르게 사용하는 코드와 문자 등을 번역하여 일관되게 전송 데이터를 서로 이해할 수 있도록 하는 기능을 제공한다.
데이터의 암호화와 해독을 수행하고 효율적인 전송을 위해 필요에 따라 압축과 압축해제를 수행한다.

7계층 응용 계층
응용 계층은 응용 프로그램과 연계하여 사용자에게 편리한 환경을 제공하는 역할을 수행한다.
전자우편, 웹, 파일전송 등과 같은 응용 프로그램 환경에서 이루어진다.

 

SSL(Secure Socket Layer)
WWW(World Wide Web) 브라우저와 WWW 서버 간에 데이터를 안전하게 주고받기 위한 업계표준 프로토콜로서, 웹 제품뿐만 아니라 파일 전송규약(FTP) 등 다른 TCP/IP 응용 프로그램에 적용할 수 있으며, 인증 암호화 기능이 있다. SSL 프로토콜은 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다.
SSL은 Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용된다.

A 클래스 주소값( 255.0.0.0 ) 호스트개수 16,777,216
B 클래스 주소값( 255.255.0.0 ) 호스트개수 65,536
C 클래스 주소값( 255.255.255.0 ) 호스트개수 256

ICANN(Internet Corporation for Assigned Names and Numbers)
ICANN은 국제도메인관리기구 또는 국제인터넷주소관리기구하고 부르는데, 비영리기관으로 인터넷 도메인 관리와 정책을 결정하는 국제기구이다. 인터넷 주소 관리정책은 미상무부에서 주관하다가 1980년대 중반 도메인 루트 서버 관리를 IANA(Internet Assigned Numbers Authority)에 위임했으나 인터넷이 전 세계화되면서 세계 모든 국가의 참여가 필요하게 되었다. 이에 1998년 미국정부는 인터넷 도메인네임과 IP주소 운영을 미 연방정부에서 비영리 민간 국제대표기구에 이관하기로 하고 1998년에 ICANN을 조직하였다.

프로토콜의 기본 구성 요소 3가지
구문(Syntax) : 데이터의 구조나 형식을 말하는 것으로 부호화, 신호 레벨 등을 규정
의미(Semantics) : 전송의 조작이나 오류 제어를 위한 제어 정보에 대한 규정
순서(Timing) : 접속되어 있는 개체 간의 통신 속도의 조정이나 메시지의 순서 제어

100BASE-LX : 장파장의 광섬유를 사용하는 규격으로 최대 전송거리는 다중 모드가 550M, 단일 모드가 5KM 까지 가능

NFS
1984년 Sun Microsystems 사에서 개발한 프로토콜
TCP/IP 네트워크상에서 다른 컴퓨터의 파일 시스템을 마운트하고 공유하여 상대방의 파일 시스템 일부를 마치 자기 자신의 디렉터리인 것처럼 사용할 수 있게 해준다.

Safari : 애플이 개발한 웹 브라우저

삼바(SAMBA) 서버관리
삼바는 SMB를 이용하여 리눅스를 비롯한 유닉스 계열 운영체제와 윈도우 운영체제간의 자료 및 하드웨어를 공유할 수 있도록 해준다.

NIS
하나의 서버에 등록된 사용자 계정, 암호, 그룹정보 등을 공유하여 다른 시스템에 제공하는 서비스를 말한다.

POP3(Post Office Protocol Version 3)
서버에 도착한 메일을 클라이언트에서 직접 내려 받아 읽도록 해주는 프로토콜로 110번 포트를 사용

netstat
네트워크 연결 상태를 출력하는 명령이다.
네트워크 연결 상태 이외에도 라우팅 테이블 정보, 네트워크 인터페이스 상태, 매스커레이드 연결 상태, 멀티캐스트 멤버 등의 정보를 출력한다.

netstat 의 상태값
SYS-SENT : 로컬 시스템의 클라이언트 애플리케이션이 원격 호스트에 연결을 요청한 상태.
SYN_RECEIVED : 서버 시스템이 원격 클라이언트로부터 접속 요구를 받아 응답을 하였지만 아직 클라이언트에게 확인 메시지는 받지 않은 상태.
ESTABLISHED : 3Way-Handshaking 이 완료된 후 서버와 클라이언트가 서로 연결된 상태.
LISTEN : 서버에서 클라이언트로부터 들어오는 패킷을 위해 소켓을 열고 기다리는 상태.

DNS(Domain Name System)
도메인 네임 시스템은 호스트의 도메인 이름을 IP주소로 바꾸거나 그 반대의 변환을 위해 개발되었다.

/etc/resolv.conf : 시스템에서 사용하는 네임서버를 설정하는 파일이다.시스템에 설정된 DNS 서버 주소를 확인할 수 있는 파일.

255.255.255.192 는 4개의 네트워크로 나누고 호스트 개수는 64개씩 할당
64개의 호스트를 사용하려면 6개의 비트가 필요하다. 111111 = 63(0~64)
8개의 비트중 마지막 6개의 비트를 0 나머지를 1로 만들어서 10진수로 변환한다.
11000000 = 192
1*2^7 + 1*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^0
128 + 64 = 192

255.255.255.128 은 2개의 네트워크로 나누고 호스트 개수는 128개씩 할당

255.255.255.0 은 1개의 네트워크로 나누고 호스트 개수는 256개를 할당

B 클래스 주소값( 255.255.0.0 ) 호스트개수 65,536

depmod
modules.dep 파일을 갱신하고 관리하는 명령어.
모듈 사이의 의존성을 검사하여 modules.dep 와 map 파일을 생성

insmod
커널에 모듈을 적재하는 명령으로 해당 모듈이 자동으로 검색되고 삽입된다. 수동으로 모듈을 커널에 추가하는 명령어(문제내용)

lsmod
리눅스 커널에 적재된 모듈 정보를 출력하는 명령.

rmmod
커널에서 모듈을 제거하는 명령으로 다른 모듈에 의해 사용 중인 모듈은 제거할 수 없다.

modprobe
리눅스 커널에 모듈을 적제하거나 제거하는 명령이다.
insmod 나 rmmod 명령은 다른 모듈에 의존되어 있는 경우에는 사용 불가하나 modprobe 는 단일 모듈, 의존성이 있는 모듈, 특정 디렉터리의 모든 모듈들을 적재할 수 있다.
이 명령어는 최상위 모듈 디렉터리에 존재하는 modules.dep 파일을 참고해 모듈간의 의존성을 해결한다.

GENIVI : 차량 인포테인먼트(IVI In-Vehicle Infotainment) Open Source개발과 규격을 위한 비영리 협의체

Hyper-V : 마이크로소프트 하이퍼 V 는 x64 시스템을 위한 하이퍼바이저 기반의 가상화 시스템이다. 윈도우 서버 가상화(Windows Server Virtualization)라는 이름으로도 알려져 있다.

답글 남기기