자격증 - 리눅스 마스터

수현·2023년 2월 9일
1

IT (CS)

목록 보기
2/12

📂 1차

📌 문제

1.bash 환경에서 아래 명령의 실행 결과에 대한 설명으로 가장 적절한 것은?
#export PATH=$PATH:/etc

⓵ 기존의 경로(PATH)를 제거하고 새로운 경로를 추가하였다.
⓶ 기존의 경로(PATH)에 /etc라는 새로운 경로를 추가하였다.
⓷ 잘못된 명령으로, export $PATH=PATH:/etc로 실행하는 것이 옳다.
⓸ 잘못된 명령으로, export PATH=PATH:/etc로 실행하는 것이 옳다.

2.리눅스를 설치한 후 부팅을 하였는데, LILO boot: 프롬프트가 나오지 않고 LI문자만 출력하고 부팅이 이루어지지 않는 경우에 대한 설명으로 맞는 것은?

⓵디스크립터 테이블(Descriptor Table)이 깨어졌다.
⓶처음에는 부트 로더(Boot Loader)가 작동하였으나 Map 파일에서 디스크립터 테이블을 로드하지 못할 때 발생할 수
있다.
⓷두 번째 단계의 부트 로더(Boot Loader)가 작동하였으나 Map 파일에서 디스크립터 테이블을 로드하지 못할 때
발생할 수 있다.
⓸미묘한 지오메트리(geometry) 불일치에 의해서 또는 Map Installer 실행없이 /boot/map이 이동되어 두 번째 부트섹터 로더가 잘못된 주소로 로드되었다.

3.다음중 다수의 디스크나 파티션을 하나로 묶어서 구성하는 기술과 관련 있는 조합으로 알맞은 것은?

⓵ ㉠ext4 ㉡LVM
⓶ ㉠ext4 ㉡RAID
⓷ ㉠ext3 ㉡ext4
⓸ ㉠LVM ㉡RAID

  1. 현재 디렉토리의 위치가 /home/user1일 경우 다음중 그 의미가 다른 것은?
    ⓵cd ..
    ⓶cd /home
    ⓷cd ./..
    ⓸cd home

  2. 다음 명령의 실행결과에 대한 설명으로 가장 적절한 것은?
    ihd@ihd.or.kr:/etc$users
    ihdihdhonglinuxmaster

⓵/etc 디렉토리에 대한 접근 권한이 있는 사용자들을 확인하고 있다.
⓶시스템에 로그인한 사용자 계정을 조회하고 있다.
⓷자신의 계정이 속해있는 그룹들을 조회하고 있다.
⓸자신의 계정이 속해있는 그룹에 어떤 계정들이 있는지 조회하고 있다.

  1. 다음 중 리눅스 시스템의 파티션 분할에 대한 설명으로 틀린 것은?

⓵/와 스왑(Swap) 등 최소 2개의 파티션을 분할해야 한다.
⓶리눅스를 서버로 사용하는 경우에는 4개 이상의 파티션 분할이 필요하다.
⓷/home, /var, /usr 등의 파티션은 분할하도록 권장하고 있다.
⓸처음 설치시 분할한 파티션은 사용중에 변경할 수 있다

  1. 패스워드 설정에 대한 설명으로 틀린 것은?

⓵명령과 로그인 이름(예 : passwd lms)을 입력하고 Enter 키를 누른다.
⓶New password : 프롬프트에서 암호를 입력하면, 화면상에 입력한 암호가 그대로 표시된다.
⓷암호를 다시 입력하라는 프롬프트가 나오면 다시 입력한다.
⓸설정된 암호는 원하는 때에는 언제든 변경이 가능하다.

8.다음 설치 메뉴 중 사용중인 리눅스 시스템 이상이 발생했을 때 시스템 점검을 위한 선택할 수 있는 모드로 알맞은 것은?

⓵Install or upgrade an existing system
⓶Install system with basic video driver
⓷Rescue installed system
⓸Boot from local drive

9.다음중 리눅스에서 파티션을 분할하도록 권장하는 영역으로 틀린 것은?

⓵/etc
⓶/tmp
⓷/usr
⓸/var

  1. 시스템의 네트워크 인터페이스에 대한 정보를 확인하는 명령어로 적절하지 못한 것은?

⓵ifconfig
⓶netstat -l
⓷cat /etc/crontab
⓸route

11.배포판 설치 시 선택할 수 있는 설치 유형이 아닌 것은?

⓵워크스테이션
⓶업그레이드
⓷서버
⓸메인프레임

12.현재 호스트에서 ihd.or.kr까지 연결되는 과정을 알고 싶을 때 사용할 명령은?

⓵traceroute ihd.or.kr
⓶ping ihd.or.kr
⓷telnet.ihd.or.kr
⓸ftp ihd.or.kr

  1. ls 명령의 옵션에 대한 설명으로 틀린 것은?

⓵-a : 해당 경로 안의 모든 파일을 나열한다.
⓶-l : 대화형 옵션으로 진행한다.
⓷-R : 하위디렉토리의 내용까지 모두 출력한다.
⓸-F : 파일의 특성에 따라 끝에 특수문자를 덧붙여 출력한다

14.shutdown 명령어의 옵션에 대한 설명으로 틀린 것은?

⓵-c : 예약된 shutdown 명령을 취소한다.
⓶-h : shutdown 명령이 완료되면 시스템을 정지시킨다.
⓷-f : shutdown 전에 수행중인 모든 프로세스에게 kill 시그널을 보낸다.
⓸-r : shutdown 명령이 완료되면 시스템을 재부팅한다.

15.ihduser 사용자가 현재 hannam이라는 그룹에 속해 있다. 다음 중 ihduser 사용자의 그룹을 IHD로 변경할 때 알맞은 것은?

⓵usermod –n IHD ihduser
⓶usermod –g IHD ihduser
⓷usermod –n IHD hannam
⓸usermod –g IHD hannam

16.reboot명령어의 수행 과정에 대한 설명으로 틀린 것은?

⓵파일 시스템을 언마운트한다.
⓶시스템을 shutdown한다.
⓷시스템 실행수준(run level)을 3으로 변경시킨다.
⓸다중 사용자(multi-user)모드에서는 수행되지 않는다.

  1. 다음 중 텍스트 파일에서 특정 패턴을 갖는 줄을 찾아서 출력해주는 명령으로 알맞은 것은?

⓵file
⓶grep
⓷less
⓸find

  1. 다음 중 하드디스크 일부를 메모리처럼 사용하는 기술로 알맞은 것은?

⓵라이브러리
⓶스왑
⓷파이프
⓸리다이렉션

  1. 다음 중 파티션의 유형에 대한 설명으로 틀린 것은?

⓵확장 파티션은 2개 이상 설정이 가능하다.
⓶5개 이상의 파티션이 필요한 경우에는 확장 파티션의 선언이 필요하다.
⓷확장 파티션을 선언해야 논리 파티션을 선언할 수 있다.
⓸주 파티션은 4개까지 사용가능하다.

  1. 리처드 스톨만(Richard Stallman)에 의해 설립되었으며 컴퓨터 프로그램의 복제와 배포, 개작을 위한 소스 코드의 원용에 대한 제한들을 철폐하는 목적을 가진 단체는?

⓵FSF
⓶ISO
⓷ANSI
⓸IETF

  1. mount명령어의 옵션에 대한 설명으로 맞는 것은?

⓵-a : /etc/mtab에 나열되어있는 모든 파일시스템을 mount한다.
⓶-f : 특정 파일시스템만 선택적으로 mount한다.
⓷-n : mount에 대한 기록을 남기지 않는다.
⓸-w : 현재 mount를 선택적으로 해제한다.

  1. 다음 중 주 파티션에 대한 설명으로 틀린 것은?

⓵부팅 가능한 파티션으로 디스크에 하나 이상 존재해야 한다.
⓶하나의 디스크에 총 4개까지 사용가능하다.
⓷주 파티션 4개 사용후 확장 파티션의 선언이 가능하다.
⓸3개 영역으로 파티션 분할할 경우에 주 파티션내에 설치 가능하다.

  1. 기본적인 패스워드 설정 방법에 대한 설명으로 틀린 것은?

⓵최초 설정 후 바꿀 수가 없으므로 설정은 신중하게 하여야 한다.
⓶기본적으로 최소 6자 이상이어야 한다.
⓷특수 문자와 숫자 등도 가능하다.
⓸대, 소문자를 구분한다.

  1. 다음중 E-IDE 타입의 디스크를 Secondary Slave에 연결했을 경우에 인식하는 장치 파일명으로 알맞은 것은?

⓵/dev/hda
⓶/dev/hdb
⓷/dev/hdc
⓸/dev/hdd

26.교육용 유닉스로 리눅스 개발의 시발점이 된 운영체제는?

⓵Minix
⓶Windows 2000
⓷Mac OS X
⓸Solaris

  1. 다음 중 명령행에서 입력을 전환할 때 사용하는 기호로 알맞은 것은?

⓵|
⓶>
⓷<
⓸;

  1. 다음 중 우분투(ubuntu) 리눅스의 기반이 되는 리눅스로 알맞은 것은?

⓵Fedora
⓶RHEL
⓷Devian
⓸Slackware

  1. 다음 명령의 실행 결과에 대한 설명으로 가장 적절한 것은?
    #groupaddihd1
    groupadd:unabletolockgroupfile

⓵로그인한 계정이 ihd1 이라는 그룹에 추가되게 하였다.
⓶ihd1 이라는 새로운 그룹을 추가하였다.
⓷ihd1이라는 그룹을 생성하려 하였으나, 권한이 없어서 제대로 실행하지 못하고 있다.
⓸group file이 존재하지 않아서 새롭게 생성한 후, ihd1그룹을 추가하였다.

30.Bash쉘(Shell)에서 설정되어 있는 PATH 환경변수에 /user/local/bin 이라는 새로운 값을 추가하기 명령으로 알맞은
것은?

⓵export PATH=/usr/local/bin
⓶path=/usr/local/bin
⓷export PATH=$PATH:/usr/local/bin
⓸path=$PATH:/usr/local/bin

  1. 다음 중 명령어에 대한 출력이나 입력을 원하는 위치로 바꿀 때 사용되는 리다이렉션 명령어가 아닌 것은?
    ⓵>
    ⓶>>
    ⓷<
    ⓸~

32.다음 중 ihduser 계정의 삭제할 때 그 사용자의 파일 및 디렉터리를 같이 제거하려고 할때 알맞은 것은?

⓵userdel ihduser
⓶userdel –d ihduser
⓷userdel –r ihduser
⓸userdel –e ihduser

33.다음 명령의 실행 결과에 대한 설명으로 가장 적절한 것은?
[root@ihdroot]echo$PWD
/root

⓵현재 작업디렉토리의 위치를 확인해 보고 있다.
⓶홈 디렉토리 정보를 간직하고 있는 PWD 환경변수의 내용을 출력하고 있다.
⓷시스템 관리자의 권한으로만 위 환경변수를 확인해 볼 수 있다.
⓸일반적으로 디렉토리를 이동하면 PWD 변수를 수동으로 다시 설정해 주어야 한다.

34.다음중 국내에서 배포하는 리눅스로 알맞은 것은?

⓵SuLinux
⓶CentOS
⓷SUSE
⓸Fedora

35.다음 중 콘솔 모드(또는 텍스트 모드)의 실행레벨로 알맞은 것은?

⓵1
⓶3
⓷5
⓸6

36.다음은 mbox 파일이 어떤 종류의 파일인지 확인해 보기 위한 명령이다. ()안에 들어갈 가장 적절한 명령은?
[root@ihdroot]#()mbox
mbox:ASCllmailtext

⓵what
⓶file
⓷type
⓸tail

37.다음 중 텍스트 파일의 앞 부분 내용을 확인할 때 사용하는 명령으로 알맞은 것은?

⓵head
⓶tail
⓷more
⓸cat

  1. 특정 호스트의 IP주소를 찾기 위해 사용하는 명령어는?

⓵dia
⓶netfind
⓷nslookup
⓸vmware

39.다음은 ls –l명령을 실행시킨 결과이다. 이에 대한 설명으로 틀린 것은?
[-rwxr-xr-xihdproject1024Aug1310:10client.c]

⓵client.c의 소유자는 ihd이다.
⓶소유자는 client.c를 수정할 수 없다.
⓷project 그룹에 속한 사람은 client.c의 내용을 볼 수 있다. ⓸일반사용자도 client.c를 실행할 수 있다.

  1. 사용자 계정관리에 대한 설명으로 틀린 것은?

⓵일반적으로 사용자 계정을 생성할 때는 useradd 명령어를 사용한다.
⓶사용자 계정변경을 위한 usermod명령 사용시 사용자 계정 홈 디렉토리를 설정하고자 할때는 –d 옵션을 사용한다.
⓷사용자의 그룹에 대한 정보는 /etc/group 파일에 저장되어 있다.
⓸/etc/shadow 파일은 사용자의 uid, gid등의 정보를 포함하고 있다.

41.다음 중 영국 회사인 캐노니컬에서 데비안 리눅스를 기초로 고유한 데스크톱 환경인 유니티를 사용하여 만든 배포판으로 알맞은 것은?

⓵수세리눅스
⓶슬랙웨어
⓷CentOS
⓸우분투

  1. 시스템을 10분 후에 재시작하기 위한 명령은?

⓵shutdown –r +10
⓶shutdown –h +10
⓷shutdown –r 00:10
⓸shutdown –h 00:10

43.현재 디렉토리의 하위 디렉토리까지 모두 포함하여 linuxmaster라는 문자열을 포함한 파일을 검색하는 명령으로 가장 알맞은 것은?

⓵find . -string linuxmaster -print
⓶grep –r linuxmaster *
⓷ls –al | grep linuxmaster
⓸cat * | grep linuxmaster

44.두 개의 파일명을 매개 변수로 사용하여 화면에 그 차이점을 나열하는 명령어는?

⓵find
⓶break
⓷diff
⓸halt

  1. 다음 중 리눅스에서 지원하는 네트워크 파일시스템의 종류로 틀린 것은?

⓵SMB
⓶CIFS
⓷JFS
⓸NFS

47.다음 중 자유 소프트웨어에 대한 설명으로 틀린 것은?

⓵ 상업용 목적으로 사용할 수 있다.
⓶소스 코드를 임의로 개작할 수 있다.
⓷소스 코드 수정시에는 반드시 소스 코드를 공개해야 한다.
⓸무료로 얻은 소스 코드를 이용하여 프로그램을 만든 경우에는 무료로만 배포해야 한다.

  1. 파티션에 대한 설명으로 틀린 것은?

⓵ 하나의 물리적 디스크에는 4개의 Primary 파티션으로 분할이 가능하다.
⓶ 파티션은 실린더를 기준으로 나뉘어 진다.
⓷ 1개의 Extended 파티션은 6개의 Primary 파티션으로 분할이 가능하다
⓸ 하나의 물리적 디스크에 12개 이상의 파티션 생성도 가능하다.

50.파일 또는 디렉토리와 관련된 명령어가 아닌 것은?

⓵cp
⓶mkdir
⓷ps
⓸rm

  1. 다음 명령에 대한 설명으로 가장 적절한 것은?
    #ifconfig eth0 down

가.eth0이라는 네트워크 어댑터를 다시 설정하고 있다.
나.eth0이라는 네트워크 어댑터를 비활성화 시키고 있다.
다.eth0이라는 네트워크 어댑터를 시스템에서 완전히 삭제하고 있다.
라.eth0이라는 네트워크 어댑터의 아이피를 변경시키고 있다.

52.다음 명령에 대한 설명으로 가장 적절한 것은?
[root&@ihd root]# cat/etc/passwd | grep-v linuxmaster

가./etc/passwd 파일에서 linuxmaster라는 문자열이 포함된 행만 출력한다.
나./etc/passwd 파일에서 linuxmaster라는 문자열이 포함되지 않은 행만 출력한다.
다./etc/passwd 파일에서 linuxmaster라는 문자열을 추가한다.
라./etc/passwd 파일에서 linuxmaster라는 문자열이 계정이 존재하는지 확인한다.

  1. 다음은 어떤 명령어의 실행결과이다.()안에 들어갈 명령어로서 가장 적절한 것은?
    $ () com1.txt com2.txt
    com1.txt com2.txt differ, char 3,line 1

가.rm
나.cmp
다.mkdir
라.ls

  1. userdel 명령어로 계정을 삭제할 때, 해당 계정 홈 디렉토리의 하위 디렉토리까지 삭제시키는 옵션은?

가.-r
나.-R
다.-d
라.-D

55.diff명령어의 옵션에 대한 설명으로 틀린 것은?

가.-i:대,소문자를 구별한다.
나.-b:하나 이상의 공백문자는 같은 것으로 취급하여 비교한다. 다.-e:ed 에디터를 위한 스크립트를 생성한다.
라.-w:공백을 무시하고 비교 작업을 수행한다.

56.시스템을 재시작하지 않고 종료하는 명령으로 틀린 것은?

가.shutdown -h now
나.halt
다.init 0
라.reboot

57.현재 사용되는 리눅스의 특징에 대한 설명으로 틀린 것은?

가.멀티 프로세서(Multi Processor)를 지원한다.
나.TCP/IP 네트워킹을 지원한다.
다.리눅스 커널은 COBOL로 작업되었다.
라.애플,윈도우즈 NT등에서 사용되는 다양한 파일시스템을 지원한다.

  1. ls 명령어를 사용하여 다음과 같은 출력 결과가 나오게 하기 위한 옵션은?
    drwxr-xr-x 4 root level0 4096 Jul 5 08:29
    drwxr-xr-x 36 root root 4096 Jul 31 12:30..
    -rw-r--r-- 1 root root 24 Jul 5 08:29 bash_logout
    -rw-r-r-- 1 root root 230 Jul 5 08:29 ,bash_profile
    -rw-r-r-- 1 root root 124 Jul 5 08:29 ,bashrc
    -rw-r-r-- 1 root root 3394 Jul 5 08:29 .screenrc
    drwxr-x--x 2 root level0 4096 Jul 6 18:01 public_html

가.-c
나.-al
다.-d
라.-dl

  1. FSF의 설립자로서 GNU를 이끌면서 리눅스의 발전에 핵심적인 역할을 한 사람은?

가.리차드 스톨만(Richard Stallman)
나.리누스 토발즈(Linus Tovalds)
다.앤드류 타넨바움(Andrew Tanenbaum)
라.빌 게이츠(Bill Gates)

  1. 시디롬을 열고 닫을 때, 사용라는 명령어는?

가.eject
나.mount
다.mmd
라.close

  1. ftp에서 여러 개의 파일을 다운로드 받을 때 사용하는 명령어로 가장 적당한 것은?

가.put
나.mput
다.get
라.mget

  1. 아래의 /etc/passwd 파일에 대한 일반적인 설명으로 틀린 것은?
    lms:x:500:500::/home/lms:/bin/false

가.lms 계정의 패스워드는 x로 암호화되어 /etc/pass 파일에 저장되어 있다.
나.lms 계정의 uid와 gid 각각 500 이다.
다.lms 계정의 홈 디렉토리는 /home/lms 이다.
라.lms 계정은 이 시스템에 로그인할 수 없다.

  1. 사용자 계정 추가 시 기본적으로 설정되는 항목으로 틀린 것은?

가.Home directory
나.기본 쉘
다.그룹 및 그룹 id
라.vi 에디터

  1. 다음 명령에 대한 설명으로 맞는 것은?
    useradd -f -5lms

가.lms 계정의 우선순위를 5만큼 낮추어서 생성한다.
나.lms 계정은 앞으로 5일 동안 사용할 수 있도록 한다.
다.lms 계정의 id를 5로 지정한다.
라.lms 계정의 passwd 파일내의 위치를 5만큼 앞쪽으로 생성한다.

  1. 리눅스에서 쉘이 명령어를 찾을 수 있도록 지정하는 검색경로(PATH)를 설정하는 파일로 가장 알맞은 것은?

가./etc/profile
나./etc/passwd
다./etc/shadow
라./etc/environment

66.다음 명령 중 a.txt 파일과 같은 내용으로 b.txt 파일을 만드는 명령은?

가. cat a.txt <<b.txt
나. cat b.txt <a.txt
다.cat a.txt >b.txt
라.cat b.txt >a.txt

  1. LILO에 대한 설명으로 틀린 것은?

가.반드시 MBR(Master Boot Record)에 설치되어야 하는 것은 아니다.
나.Redhat 계열의 배포판에서만 제공된다.
다.LILO를 사용하면 다양한 OS를 선택하여 사용할 수 있다.
라.LILO외에도 GRUB(Grand Unified Bootloader)등의 부트 로더가 있다.

  1. bash 환경에서 아래 명령의 실행 결과에 대한 설명으로 가장 적절한 것은?
    #export PATH=$PATH:/etc

가.기존의 경로(PATH)를 제거하고 새로운 경로를 추가하였다.
나.기존의 경로(PATH)에 /etc라는 새로운 경로를 추가하였다.
다.잘못된 명령으로,export $PATH-PATH:/etc로 실행하는 것이 옳다.
라.잘못된 명령으로,export PATH=PATH:/etc로 실행하는 것이 옳다.

69.일반적으로 리눅스 설치 부팅 디스크를 만들 때 사용되는 부팅 이미지는?

가.rawrite.img
나.Boot.img
다.img
라.Boot.image

  1. LILO 설정 파일인 /etc/lilo.conf의 각 설정에 대한 설명으로 틀린 것은?

가.boot-/dev/hda : LILO가 설치될 위치
나.map=/boot/map : LILO에 의해서 자동으로 생성되는 파일
다.install=/boot/boot.b : 부트 섹터 위치 정보를 가진 파일
라.timeout=50 : 키보드 입력이 없을 시 자동 부팅시간 50초 설정

  1. 각 명령어에 대한 설명으로 틀린 것은?

가.pwd:현재 위치한 디렉토리 확인
나.tty:현재 접속한 터미널의 장치 확인
다.cd:지정한 디렉토리로 이동
라.ls:지정한 디렉토리내의 파일 목록만 출력
마.man : 현재로그인 되어 있는 사용자 확인
바.mkdir : 디렉터리 만들기

  1. 일반적으로 “/”디렉토리 바로 하단에 위치하는 디렉토리가 아닌 것은?

가./include
나./proc
다./usr
라./var

  1. 오류 메시지를 파일로 저장하기 위한 방향 재지정 명령으로 옳은 것은?

가.cat nofile 0> error_log_file
나.cat nofile 1> error_log_file
다.cat nofile 2> error_log_file
라.cat nofile >error_log_file

  1. LILO와 GRUB에 대한 설명으로 틀린 것은?

가.LILO는 GRUB보다 먼저 개발되었다.
나.LILO는 컴퓨터 바이오스(BIOS)의 정보를 참조하지 않는다.
다.GRUB은 IDE 하드디스크를 장착한 순서대로 인식한다.
라. GRUB에서는 부트 디스크를 통한 부팅을 지원하지 않는다.

  1. ftp 내부 명령어가 아닌 것은?

가.put
나.get
다.open
라.mcopy

  1. usermod 명령어에서 기본 로그인 쉘(shell)을 변경하는 옵션은?

가.-c
나-e
다.-s
라.-u

  1. 디렉토리 및 파티션에 대한 설명으로 틀린 것은?

가. / : 일반적으로 부팅에 필요한 시스템 파일이 위치한다.
나. swap : 일반적으로 메모리의 2배 크기로 설정한다.
다. /usr : 각종 라이브러리가 저장된 디렉터리로 커널 모듈도 있다.
라. /home : 사용자 파일이 저장된다.

  1. 하나의 디스크를 몇 개의 드라이브로 분할하여 사용할지 설정하는 것으로 그 용어와 툴(Tool)의 조합이 맞는 것은?

가.MBR,FDISK
나.MBR,LILO
다.파티션,Disk Druid
라.파티션,LILO

  1. 네트워크 설정 중 DHCP 옵션에 대한 설명으로 옳은 것은?

가.매스커 레이드(Masquerade)에 의한 네트워크 구현 시 사용한다.
나.Dynamic Host Configuration Program의 약자이다.
다.다수의 IP 주소를 확보해 두고 이를 다른 시스템에 유동적으로 할당하는 네트워크 시스템에서 사용한다.
라.bootp와는 전혀 다른 기능을 제공한다.

  1. GNU 프로젝트에 대한 설명으로 틀린 것은?

가.리차드 스톨만(Richard Stallman)에 의해 시작되었다.
나.많은 GNU 프로그램들은 GCC로 컴파일 되었다.
다.최초로 UNIX를 개발한 프로젝트이다.
라.소프트웨어의 독점에 반대해 프로그램을 자유롭게 사용하도록 하자는 취지이다.

82.현재 시스템에 접속한 사용자 계정을 조회하는 명령어는?
가.find
나.grep
다.ping
라.users

83.네트워크 인터페이스를 설정 또는 확인하는 명령어로 맞는 것은?

가. ifconfig
나. ipconfig
다. xconfig
라. iptable

84.디렉토리 내의 파일들의 정보를 화면단위로 출력할 때 사용하는 명령은?

가. ls-al | more
나. ls-al | cat
다. ls-al | screen
라. ls-al | page

85.다음 중 파일을 삭제할 때 사용하는 명령어는?

가. clear
나. delete
다. rm
라. mv

  1. test라는 바이너리 파일을 cat으로 출력하였더니 모니터에 이상한 문자들이 출력되었다. 이렇게 출력된 문자들을 깔끔히 모니터에서 제거하고자 할 때, 사용되는 명령어로서 가장 적당한 것은?

가. clear
나. sweep
다. swap
라. more

  1. 리눅스에 대한 설명으로 틀린 것은?

가.프로그램의 소스가 공개되어 있다.
나.1991년에 최초버전이 인터넷에 공개되었다.
다.배포판 회사에서는 개발 작업이 금지되어 있다.
라.배포판의 종류로는 레드햇,데비안,슬랙웨어 등이 있다.

  1. 일반적인 디렉토리에 대한 설명으로 틀린 것은?

가./bin에는 기본 실행파일들, 즉 사용자 명령어들이 있다. 나./etc에는 시스템 관리시 필요한 설정파일들이 있다.
다./op에는 각 장치에 필요한 socket 및 log 파일들이 있다.
라./proc에는 시스템 관리를 목적으로 메모리상에 만들어 놓은 가상 디렉토리로서, 디렉토리내의 파일들은 현재 시스템 설정을 보여준다.

  1. /home 디렉토리에 대한 일반적인 설명으로 맞는 것은?

가.일반적인 명령어와 라이브러리들이 설치되는 디렉토리
나.사용자 계정의 홈 디렉토리가 위치하는 디렉토리
다.시스템 관리에 관련된 바이너리 파일이 위치하는 디렉토리
라.기타 문서들이 저장되는 디렉토리

📄 MD5관한 설명으로 맞는것은?

보안관련 아닌것을 제외할것

📄 파티션과 장치명에 대한 설명으로 맞는 것은?

hda는 첫 번째 IDE HDD를 나타낸다.

📄 다음중 새로운 파일을 만드는 것과 관련이 없는 명령어는?

find

📄 단지 LILO 버전을 보기 위한 명령어 옵션?

lilo -v

📄 GRUB 설정중 ‘timeout=10’에 대한 설명으로 알맞은 것은?

10초 동안 대기한 후에 기본 설정된 운영체제로 부팅한다.

📄 리눅스 배포판을 구성하고 있는 것으로 틀린 것은?

라.허드(Hurd)

📄 리눅스 배포판에 포함되어 있는 대부분의 기본적인 유틸리티를 제공하는 곳은?

가.GNU

📄 현재 접속되어 있는 모든 사용자들에게 메시지를 보낼 때 사용되는 명령어는?

wall

📄 다음 명령어들의 실행 결과에 대한 설명으로 적절한 것은?

[root@ihd root]# mount /mnt/cdrom
[root@ihd root]# cd /mnt/cdrom
[root@ihd cdrm]# umount /mnt/cdrom~~

📄 마운트 되어 있는 장치가 사용되고 있기 때문에 언마운트가 되지 않고 있다. GRUB에 대한 설명으로 틀린 것은?

MBR에만 설치가 가능하다.

📄 GNU 프로젝트와 관련이 없는 것은?

Windows 2000

📄 다음 명령의 실행결과에 대한 설명으로 가장 적절한 것은?

ihd@ihd skel $ ls -al /etc/skel

현재 로그인된 계정의 bash 설정 파일들을 나열하고 있다.

📄 일반적으로 /etc 에 위치하며, 시스템을 부팅 시 자동으로 마운트되게 하기 위해 설정해야 하는 파일?

fstab

📄 일반적인 디렉토리에 대한 설명으로 틀린 것은?

/opt에는 각 장치에 필요한 socket 및 log 파일들이 있다.

📄 useradd의 사용법으로 틀린 것은?

USERADD -e -5 lms

📄 시스템의 메모리 사용량 정보를 확인하는 명령어는?

free

📄 디렉토리 내에 aa 파일이 존재할때, cat \bb 명령을 실행한후 bb를 실행했을 때의 결과는?

아무런 결과도 출력되지 않는다.

📄 GNU 정신에 입각하여 자유소프트웨어에 적용시킨 라이센스는?

GPL

📄 리눅스 배포판을 구성하고 있는 것으로 틀린 것은?

허드(Hurd)

📄 파일 비교와 관련이 없는 명령어는?

gcc

📄 간단한 인터페이스에 적은 용량으로 막강한 기능을 가진 파티션 분할 명령어는?

fdisk

📄 다음 중 파일의 일부만을 출력하는 명령어로 적절하지 않은 것은 ?

most

📄 다음 명령에 대한 설명으로 가장 적절한 것은?

# mount -t ext2 /dev/hdc1 /user/local /

/dev/hdc1 파티션을 /usr/local/apache 디렉토리에 마운트하고 있다.

📄 용량이 큰 파일을 여러 개의 작은 파일로 분리하여 플로피 디스크로 이동시킬 때 가장 적당한 명령어를 고르시오.

spllit

📄 다음 중 리눅스를 정상 설치했을 경우 기본적으로 생성되는 파일 시스템이 아닌 것은?

하나 이상의 Ext2 파일 시스템

📄 LILO와 GRUB에 대한 설명으로 틀린 것은?

GRUB에서는 부트 디스크를 통한 부팅을 지원하지 않는다.

📄 root 사용자가 사용자 choi의 비밀번호를 변경하는데 사용하는 명령어는?

passwd choi

📄 다음은 /etc/group 파일 내용 중 일부이다. 이에 대한 설명으로 틀린 것은?

그룹 관리자는 mipal이다.

📄 netstat 명령어에서 라우팅 테이블을 출력하는 옵션은?

-r

📄 netstat 명령어의 옵션에 대한 설명으로 틀린 것은?

-x:Unix domain socket의 상태만 화면에 출력한다.

📄 다음 설명을 듣고 () 안에 들어갈 가장 적당한 단어를 고르시오.

()은 TCP/IP 프로토콜을 사용하는 응용 프로그램으로 다른 호스트에 IP 데이터그램이 도착할 수 있는지를 검사하는 것을 의미한다.

ping

📄 rm 명령어의 옵션 중 파일을 지우기전에 대화형으로 확인과정을 거치는 것은?

-i

📄 자신의 호스트 명을 변경 또는 확인 하기위해 사용하는 명령어는?

hostname

📄 lms의 그룹 ID(GID)를 700으로 변경하는 명령은?

groupmod -g 700 lms

📄 CD-ROM이 IDE 장치의 Secondary Slave로 연결되었을 대, 일반적으로 사용하는 장치 파일 이름은?

나. /dev/hdd

📄 리눅스 설치 시 사용자 보안 인증에 관한 설정사항이 아닌 것은?

라. SSL(웹서버 보안인증)

📄 파이프(pipe)에 대한 설명으로 틀린것은?

라. 두 명령어를 연결할 때 임시 파일이 생성된다.

📄 시스템관리자 A는 실행중인 웹서버의 로그(log)파일을 백업시키기 위해, 웹서버를 잠시정지 시켰다가 다시 시작시키려한다. 이때에 사용하는 명령어로 가장 적당한 것은?

가. reboot

📄 리눅스 파일시스템에 대한 설명으로 틀린것은?

나. 트리구조에는 제한이 있다.

📄 파티션을 분할하는 장점으로 틀린것은?

파일의 크기가 커질 경우 다른 파티션을 활용할 수 있다.

📄 일반적으로 /etc에 위치하며, 시스템을 부팅 시 자동으로 마운트되게 하기 위해 설정해야 하는 파일은?

라.fstab

📄 diff 명령어의 옵션에 대한 설명으로 틀린것은?

-i: 대,소문자를 구별한다.

📄 기존의 파일 생성 시간을 현재 시간으로 갱신하는 명령어는?

touch

📄 리눅스용 그래픽 사용자 인터페이스는?

KDE

📄 시스템의 네트워크 인터페이스에 대한 정보를 확인하는 명령어로 적절하지 못한 것은 ?

cat /etc/crontab

📄 mkdir .fileA와 같이 디렉토리를 생성하면 그 결과는?

ls 명령에서 -a 옵션을 이용하면 .fileA디렉토리를 찾을 수 있다.

📄 ls 명령어를 사용하여 다음과 같은 출력 결과가 나오게 하기 위한 옵션은?

drwxr-xr-x 4 root level0 4096
drwxr-xr-x 36 root 4096

-al

📄 대부분의 배포판에서 보안을 위하여 패스워드를 다른 곳에 저장해 두는 기능인 쉐도우 패스워드(Shadow password)를 사용할때 일반적으로 패스워드가 실제 저장되는 경로와 파일명은?

/etc/shadow

📄 최초로 리눅스를 개발한 사람은?

리누스 토발즈

📄 시스템 관리자 홍길동은 사용자들로부터 시스템 시각이 잘못 설정되어 있다는 이야기를 들었다. 이를 시정하기 위한 명령으로서 가장 적당한 것은?

date

📄 다음 명령의 실행 결과에 대한 설명으로 가장 적절한 것은?

[root@susaek rentiz]#traceroute ihd.or.kr

나. ihd.or.kr까지 도달하기 위해 거쳐 가는 연결된 노드들을 확인해 보고 있다.

📄 오류 메시지를 파일로 저장하기 위한 방향 재지정 명령으로 옳은 것은?

cat nofile 2 >error_log_file

📄 a 라는 파일이 이미 존재하고 있을 때, touch a 명령의 사용 결과로 알맞은 것은?

a파일의 내용에는 아무런 변동이 없다.

📄 /home 디렉토리에 대한 일반적인 설명으로 맞는 것은?

사용자 계정의 홈 디렉토리가 위치하는 디렉토리

📄 다음 각 명령어에 대한 설명으로 틀린 것은?

uniq : 파일의 내용을 준 단위로 정렬하여 디스플레이 한다.

📄 리눅스 설치 시 사용자가 기본적으로 설정하지 않는 것은?

스캐너

📄 사용 중인 시스템의 MAC 주소를 확인할 수 있는 명령은?

ifconfig

📄 root(Super User)가 아닌 새로운 사용자에게 시스템에 대한 사용권한을 부여하는 명령어는?

useradd

📄 다음 명령의 실행 결과에 대한 설명으로 올바른 것은?

[root@ihd root] hostname -v ihd

현재 시스템의 호스트네임을 ihd로 설정한다.

📄 이미 생성된 계정의 홈 디렉토리, 유효기간, 기본 그룹 등을 변경시 사용하는 명령어는?

usermod

📄 다음은 ls -al 명령을 실행한 결과이다. 이에 대한 설명으로 맞는 것은?

-rwxr-xr-- 1 user1 user 4336 Oct 2 00:21 true

소유자는 user1이다.

📄 lilo.conf 파일의 설정항목과 이에 대한 설명으로 옳은 것은?

label - 하드 디스크의 레이블을 지정

📄 LILO에 대한 설명으로 틀린 것은?

반드시 MBR(Master Boot Record)에 설치되어야 하는 것은 아니다.

📄 일반적으로 리눅스 설치 부팅 디스크를 만들 때 사용되는 부팅 이미지는?

Boot.img

📄 디렉토리 및 파티션에 대한 설명으로 틀린 것은?

/usr : 각종 라이브러리가 저장된 디렉터리로 커널 모듈도 있다.

📄 물리적인 터미널 하나로 가상의 다중 터미널을 사용할 수 있게 하는 기능은?

가상콘솔

📄 rm -r [디렉토리]의 명령을 사용했을 때의 결과는?

디렉토리 내의 파일뿐만 아니라 하위 디렉토리와 그 안의 파일까지 모두 삭제한다.

📄 일반적으로 시스템 부팅에 필요한 파일이 있는 디렉토리는?

/boot

📄 리눅스의 기본 명령어에 대한 설명으로 틀린 것은?

내부 명령어는 실행 시 새로운 서브 프로세스를 exec하여 실행한다.

📄 리눅스에 대한 설명으로 맞는 것은?

POSIX 규격을 따르고 있다.

📄 다음 중 네트워크를 설정할 때 사용되는 명령어 또는 파일과 무관한 것은?

/etc/login.defs

📄 일반적인 파티션 설정에 대한 설명으로 틀린 것은?

스왑 파티션은 용량 제한이 없다.

📄 다음 명령의 실행 결과에 대한 설명으로 가장 적절한 것은?

[ihd@ihd ihd]$ cat -n foo.txt | more
foo.txt에 행 번호를 추가하여 한 화면씩 나누어 출력한다.

📄 리눅스 시스템에서 지원하지 않는 파일 시스템은?

NTFS

📄 홍길동은 자신이 사용하고 있는 시스템의 관리자로부터 너무 많은 디스크 용량을 사용하고 있다는 경고를 들었다. 홍길동의 홈 디렉토리에서 홈 디렉토리를 포함한 하위 디렉토리까지 사용하고 있는 디스크 용량을 확인하는 명령어로서 가장 알맞은 것은?

du -sh ~

📄 현재 시스템 접속자의 수를 숫자로 표시하는 명령은?

who | wc -l

📄 다음 명령에 대한 설명으로 맞는 것은?

groupadd -g 510 ihd
ihd라는 그룹을 생성한다.

📄 다음 파일에 대한 설명으로 틀린 것은?

/etc/shadow는 일반 사용자는 읽기 권한만 가지며, 쓰기 및 실행은 할수 없도록 지정되어 있다.

📄 ls 명령어 옵션 중 디렉토리를 보고자 할때 사용하는 것은?

-d

📄 오픈소스 소프트웨어의 본질적인 의미로 틀린 것은?

GPL 등의 라이센스를 따른다.

📄 저널링(Journaling)파일 시스템에 관한 설명으로 틀린 것은?

Ext2 보다 읽기,쓰기 성능이 우수하다.

📄 LILO의 설정 파일인 /etc/lilo.conf에 대한 설명으로 틀린 것은?

boot는 커널의 위치를 나타낸다.

📄 시스템관리자 A는 웹서버의 로그(log)파일을 백업시키기 위해, 웹서버를 잠시 정지시켰다가 다시 시작시키려 한다. 이때에 사용하는 명령어로 가장 적당한 것은?

sleep

📄 파일명이나 디렉토리명이 a인 파일과 디렉토리를 모두 찾고자 할 때 사용하는 명령은?

find / -name a

📄 리눅스 설치 시 설정하는 MD5에 대한 설명으로 맞는 것은?

패스워드를 255자까지 허용하여 강력한 보안기능을 설정한다.

📄 파일 bb와 aa가 한 디렉토리 내에 있을 때, mv -i bb aa 명령을 실행한 결과로 맞는 것은?

aa를 덮어 쓸 것인지 사용자에게 질의한다.

📄 다음 중 ping 명령어를 사용하여 확인할 수 없는 것은?

외부에서 사용 중인 시스템에 PING을 이용한 DOS attack을 하고 있는지 여부

📄 bash 기준으로 명령어의 검색경로를 지정할 수 있는 파일은?

.bash_find

📄 리눅스의 특징으로 틀린 것은?

동적 라이브러리를 제공하지 않는다.

📄 ping 명령어에 대한 설명으로 올바른 것은?

원격 호스트의 연결 상태를 확인한다.

📄 리눅스가 최초로 인터넷에 공개된 년도는?

1991년

📄 다음 명령의 실행 결과를 보고 가장 관련이 없는 항목을 고르시오.

[ihd@ihd ihd]$ cat /etc/passwd
패스워드 변경 최소일

📄 사용자 계정 생성 명령어인 useradd 명령어와 관련된 파일에 대한 설명으로 틀린 것은?

/etc/default - 사용자 계정의 기본 홈 디렉토리

📌 명령어

addbib -도서목록 형식의 데이터베이스를 만들거나, 확장
alias - 명령어 간소화하기
apropos - 관련된 명령어 찾기, 사용설명서의 키워드 검색
ar - 라이브러리 만들기, 관리
arch - 컴퓨터 종류 알기
arp - 같은 서브넷의 IP 보여주기
at - 작업 시간 정하기
atd - 계획성 있는 작업 실행하기
awk - 특정 패턴 문자 처리하기
a2p - 펄 파일로 바꾸기
badblocks - 배드 블럭 검사하기
banner - 큰 글자(배너) 만들기
basename - 경로 이름에서 마지막에 있는 이름만 출력
batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령
bc - 계산기
biff - 메일 수신 소리로 확인하기
bin-mail, binmail - 예전에 사용한 전자우편 프로그램
bg - 후면작업; 배경화면 설정
bind - 키나 함수 순서 결합하기
builtin - 내부 명령어 알아보기
break - 루프 빠져나가기
cal - 달력보기
calendar - 간단한 일정표
cat - 파일 병합과 내용 보기
case - 조건 처리하기
cc - C 컴파일러
cd - 디렉토리 변경하기
cfdisk - 디스크 설정하기
chattr - 파일 속성 변경하기
checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다
chfn - 사용자 정보 변경하기
chgrp - 파일, 디렉토리가 속했던 그룹 바꾸기
chmod - 파일 권한 바꾸기
chown - 파일 주인 바꾸기
chsh - 지정된 셸 바꾸기
cksum - CRC값을 점검한다
clear - 화면 청소하기
clock - CMOS 시각을 조정하기
cmp - 두 파일을 바이트 단위로 비교
colcrt - troff 파일의 밑줄 속성 문자 처리
colrm - 열 삭제하기
column - 가로 정렬하기
comm - 지정 두파일의 줄 단위 비교와 그 처리
command - 명령어 알아보기
compress, uncompress, zcat - 파일 압축관련 유틸리티들
continue - 루프 계속돌기
cp - 파일 복사하기
cpio - 복사본 만들기
cpp - C 언어 전처리기
crontab - cron을 관리한다
csh - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘
csplit - 파일에 서식, 규칙 정하기
ctags - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령
cut - 필요한 필드만 출력하기
date - 날짜 보기
dbx - 소스 수준의 디버거
dd - 블럭장치 읽고 쓰기
debugfs - ext2 파일 시스템 디버깅하기
declare - 변수 선언하기
deroff - nroff, troff, tbl, eqn 관련 내용 지움
df - 파일 시스템의 사용량 보기
diff - 두 파일의 차이점 비교
dirs - 디렉토리 목록 표시하기
dmesg - 부팅 메시지 보기
dnsdomainname - DNS 이름 출력
domainname - NIS 이름 출력&설정
du - 디렉토리와 파일의 용량 파악하기
dumpe2fs - 파일 시스템 정보 보기
echo - 표준 출력하기
ed, red - 기본 줄 편집기
eject - 장치 해제하기
elm - 메일 관련
enable - 내부 명령어 지정
env - 환경변수 출력하기
eqn, neqn, checkeq - 수식 표현 포멧 도구
error - 컴파일러 오류 메시지 목록
eval! - 인수 읽기
exec - 셸 명령어 실행하기
exit - 종료하기
ex, edit, e - 줄 편집기
expand, unexpand - TAB 문자를 공백문자로 바꿈, 또는 그 반대로
expr - 인자를 수식으로 처리
export - 변수 지정하기
e2fsck - 파일 시스템 복구하기
fc - 지정된 편집기 받기
fdformat - 플로피 디스크 포맷하기
fdisk - 파티션 나누기
fg - 지정된 작업을 전면 프로세스로 시작하기
file - 파일 형식 보기
find - 파일 찾기
finger - 사용자 정보 알기
fold - 긴 줄 출력 방법 지정
fmt, fmt_mail - 간단한 문서나, 편지 포멧 도구
for - 반복 실행하기
free - 메모리 사용량 알아보기
fsck - 파일 시스템 검사하기
fstab - 파일 시스템에 대한 고정적인 정보 저장하기
ftp - 파일 전송 프로그램
fuser - 프로세스 ID 출력
gcore - 실행 중인 프로세스의 core 이미지를 구한다. getkeycodes - 매핑 테이블 출력하기
gprof - call-graph profile data -?를 보여줌
grep - 특정 문자(열) 검색하기
groups - 사용자의 그룹을 보여줌
gzexe - 실행 파일 압축하기
gzip - 압축하기
halt - 시스템 종료하기
hash - 기억해 두기; index 역할
head - 파일의 앞부분 출력하기
help - 도움말 보여주기
host - 호스트 정보 보기
history - 사용 명령어 목록보기
hostname - 현재 시스템 이름을 보여줌
id - 계정 정보 알기
if - 조건문 실행하기
ifconfig - 랜카드에 주소 할당하기
imake - makefile 만드는 프로그램
imolamod - 모듈 설치하기
indent - C 프로그램 소스 파일을 들여쓰기 하는 포멧 도구
inetd - 인터넷 서비스의 최상위 데몬
init - 실행 단계 정하기
install - 파일 설치
ispell - 철자법 검사하기
jobs - 수행중인 프로세스 알기
kbd_mode - 키보드 모드 출력하기
kill - 프로세스 죽이기
klogd - 커널 로그 데몬
last - 사용자가 마지막 접속 상태를 보여줌
ld, ld.so - 링크 편집기, 동적 링크 편집기
ldd - 공유 라이브러리의 의존성 알기
leave - 자신의 접속 종료 시간을 알려줌
less - more 명령의 확장
let - 정규식 표현하기
lex - 어휘 분석 프로그램 생성기
lilo - 부팅하기
lint - C 프로그램 verifier
ln - 파일의 하드, 심벌릭 링크 명령
locate - 패턴에 맞는 파일 찾기
login - 로그인하기
logger - 시스템 로그 기록하기
logname - 사용자 로그인명 보여주기
logout - 로그인 셸 종료하기
look - 시스템 디렉토리나, 정열된 목록에서 단어 찾기
lookbib - 도서목록형 데이타베이스에서 찾기
lorder - 오브젝트 라이브러리의 관계 찾기
losetup - 중복 장치 확인하기
lp, cancel - 인쇄 시작, 취소
lpd - 프린트 데몬
lpq - 인쇄 작업 상황 보기
lpr - 인쇄
lprm - 인쇄 작업 지우기
ls - 디렉토리 내용보기
lsattr - 파일 시스템의 속성 보여주기
lsdev - 하드웨어 장치 출력하기
lsmod - 모듈 정보 출력하기
mail - 메일 관련
make - 실행 파일을 만들거나, 특정 작업 파일을 만들 때 사용하는 도구
man - 매뉴얼 보기
mattrib
mbadblocks
mcd
mcopy
mdel
mdeltree
mdir
mesg - 메시지를 받을 수 있는지 확인하기
mformat
minfo
mkdir - 디렉토리 만들기
mke2fs - 파일 시스템 생성하기
mkfs - 파일 시스템 만들기
mknod - 특수 파일 만들기
mkstr - C 소스 파일을 참조로 오류 메시지 파일을 만듬. mkswap - 스왑 영역 지정하기
mlabel
mmd
mmount
mmove
mpartition
mount - 장치 연결하기
more - 화면 단위로 출력하기
mrd
mren
mtoolstest
mtype
mutt - 메일 관련
mv - 파일 이동이나, 이름 바꾸기
mzip
nawk - 패턴 검색과 언어 처리
netstat - 현재 네트웍 상황 보기
nice - 낮은 우선권에서 명령 실행
nm - 심블 이름 목록 보기
nroff - 문서 포멧 도구
od - 8진수, 10진수, 16진수, ascii 덤프
passwd, chfn, chsh - 비밀번호, 핑거정보, 쉘 바꾸기
paste - 여러파일의 서로 관련 있는 줄 연결시키기
pidof - 실행중인 프로그램의 프로세스 ID 찾기
pine - 메일 관련
ping - 네트웍 확인하기
popd - pushd 취소
pr - 문서 파일 양식화 도구
printenv - 현재 환경 변수들의 내용과 그 값 알아보기
prof - profile 자료 보기
ps - 현재 프로세스 정보 보기
pstree - 프로세스 상관관계 알기
ptx - permuted(순열화된?, 교환된?) 색인 만들기
pwd - 현재 작업 디렉토리 보기
quota - 한 사용자에게 지정된 디스크 할당량보기
ranlib - archive를 random 라이브러리로 변화
rarp - rarp 테이블 관리하기
rcp - 리모트 카피
rcs - RCS 파일 속성 바꾸기
rcsdiff - RCS revisions 비교
rdev - 루트, 스왑장치, 램 크기, 비디오 모드를 조사하고 설정하기
rdate - 네트웍으로 시간 설정하기
reboot - 재부팅하기
rev - 한 줄의 문자열 꺼꾸로
rmmod - 모듈 지우기
readonly - 읽기 전용으로 표시하기
renice - 프로세스 우선 순위 바꾸기
reset - 터미널 초기화하기
restore - 다시 저장하기
rlogin - 리모트 로그인
rm - 파일 지우기
rmdir - 디렉토리 지우기
roffbib - 도서목록형 데이터베이스 보기 또는 양식화
route - 라우팅 테이블 추가/삭제하기
rpm - 프로그램 추가/삭제
rpm2cpio - rpm을 cpio로 변환하기
rsh - 원격으로 명령어 실행하기
rup - 로칼 머쉰의 호스트 상태 보기(RPC version)
rusers - 호스트에 로그인한 사용자 출력하기
rwall - 호스트 사용자에게 메시지 뿌리기
rwho - 현재 접속자 보기
script - 화면 갈무리
sed - stream editor
set - 변수값 설정하기
setup - 시스템 관련 설정하기
sh - 유닉스 표준 쉘
showmount - 호스트의 마운트 정보 보여주기
shutdown - 전원 끄기
size - 오브젝트 파일의 크기들을 보여줌
sleep - 지정한 시간 만큼 실행 보류
sort - 줄 정열과 검색
sortbib - 도서목록형 데이터베이스 정열
source - 스크립트 번역하기
spell, hashmake, spellin, hashcheck - 맞춤범 검사 - 물론 영어겠지요
split - 파일 나누기
ssh - 암호화된 원격 로그인하기
strings - 오브젝트 파일이나, 실행 파일에서 문자열 찾기
strip - 오브젝트 파일에서 심벌 테이블과 중복된 비트 삭제
stty - 터미널라인 설정 보여주기
su - super-user, 임시적으로 새 ID로 바꿈
suspend - 셸 중단하기
swapoff - 스왑 해제하기
swapon - 스왑 활성화하기
symorder - 심벌 순서 바꿈
sync - 버퍼 재설정하기
syslogd - 로그인 과정 설정하기
tabs - 터미날 tab 크기 지정
tac - 거꾸로 보기
tail - 문서 끝부분 출력하기
talk - 다른 사용자와 이야기하기
tar - 여러 파일 묶기 또는 묶긴 파일 풀기
tbl - nroff 또는 troff의 도표 작성 도구
tcpdchk - tcp wrapper 설정하기
tcpmatch - 네트웍 요청에 대해 예측하기
tee - 표준 입력으로부터 표준 출력 만들기
telnet - TELNET 프로토콜을 이용한 원격 리모트 호스트 접속
test - 주워진 환경이 참인지, 거짓인지를 돌려줌
tftp - 간단한 ftp.
time - 명령 실행 시간 계산
times - 셸에서의 사용자와 시스템 시간 출력하기
top - cpu 프로세스 상황 보여주기
touch - 파일 날짜 관련 부분을 바꿈
tr - 문자열 바꿔주기
troff - 문서 양식화 도구
true, false - 쉘 스크립트에서 사용되는 참/거짓을 리턴하는 명령
tsort - topological sort
tty - 현재 터미날 이름 보기
type - 유형 보기
ue - MICROemacs
ul - 밑줄 처리해서 보여주기
ulimit - 제한하기
umask - 매스크 모드 설정하기
umount - 장치 해제하기
unalias - 별명 제거하기
uname - 시스템 정보 보기
unexpand - 공백 문자를 탭으로 변환하기
unifdef - cpp 입력 줄에서 ifdef 부분 바꾸거나 지움
uniq - 중복되는 빈줄 지우기
units - 프로그램 변환도구
useradd - 사용자 계정 만들기
userdel - 계정 삭제하기
usermod - 사용자 계정정보 수정하기
unset - 설정 변수 해제
uptime - 시스템 부팅시간, 부하 평균 보여주기
users - 로그인된 사용자 보여주기
uucp, uulog, uuname - 시스템 간의 복사
uuencode, uudecode - 이진 파일을 아스키파일로 인코딩, 반대로 디코딩
uusend - 리모트 호스트에 파일 보내기
uux - 리모트 시스템 명령 실행
vacation - 자동으로 편지 답장하기
vgrind - grind nice program listings
vi, view, vedit - ex 바탕의 편집기
vtroff - 문서 양식화 도구
w - 현재 누가 접속해 있으며, 무엇을 하고있는지 보기
wait - 프로세스가 마치기를 기다림
wall - 모든 사용자에게 메시지 보내기
wc - 문자, 단어, 라인수 세기
whatis - 명령어의 간단한 설명보기
whereis - 찾는 명령의 실행파일, 소스, 맨페이지 경로 보여줌(패스에 해당하는 모든 디렉토리를 뒤져서 해당 명령어를 찾음)
which - 특정명령어의 위치가 어디인지를 찾아줌
while - 루프 명령어
who - 시스템에 접속되어 있는 사람만 보여줌
whoami - 현재 사용하고 있는 자신이 누군지 보여줌
write - 다른 사용자의 화면에 메시지 보내기
xargs - 명령행 인자 처리 명령
xcopy - 반복적으로 복사하기
XFree86
xstr - extract strings from C programs to implement shared strings
yacc - yet another compiler-compiler: 파싱. 형태소분석 프로그램 생성기
yes - 항상 yes만 응답하는 명령
ypchfn - NIS에서 사용하는 chfn 명령어
ypchsh - NIS에서 사용하는 chsh 명령어
yppasswd - NIS에서 사용하는 passwd 명령어
zcat - 압축 파일 보기
zcmp - 압축 파일 비교하기
zforce - 강제로 gz 만들기
zgrep - 압축 상태에서 grep 실행하기
zmore - 압축 상태에서 more 실행하기
znew - .Z 파일을 .gz로 다시 압축하기

📂 2차

📌 개념

1. 파일 시스템 관련 명령어

1) 권한 및 그룹 설정

  • ls -l : 파일 속성을 나타냄 (파일 유형과 허가권)

    • 예) -rw-rw-r-- 1 youngjin youngjin 53 2017-09-16 18:49 TST)

    • 파일 허가권, 파일 연결 개수, 소유자명, 소유 그룹명, 파일크기, 변경 시간, 파일명

  • 소유권과 관련 명령어 : chown, chgrp

    • chown : 사용자 소유권과 그룹 소유권을 변경 #chown [옵션] 소유자[:그룹명] 파일명
      • -R : 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 소유권 변경
      • 예) #chown –R root Youngjin / #chown :root TST
    • chgrp : 파일이나 디렉터리의 그룹 소유권을 변경 #chgrp [옵션] 그룹명 파일명
      • -R : 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 그룹 소유권 변경
      • 예) #chgrp youngjin TST
  • 허가권과 관련 명령어 : chmod, umask

    • 예) -rw-rw-r--

    • 파일 유형 : 일반 파일 (-), 디렉터리 파일 (d), 특수 파일 (b, c, l, p, s)

    • 파일 사용자 : 파일 소유자 (u), 그룹 소속자 (g), 기타 사용자 (o)

    • 파일 권한 : 기호모드 읽기 (r), 쓰기 (w), 실행 (x) + 접근 제판 (-) 또는 숫자 모드

    • chmod : 파일이나 디렉터리의 접근 허가권을 변경 #chmod [옵션] 파일명

      • -R : 하위 디렉터리에 포함되어 있는 모든 디렉터리 및 파일의 권한 변경
      • 예) chomod 666 TST.txt
    • umask : 새로 생성되는 파일이나 디렉터리의 기본 허가권 값을 지정 #umask [옵션][값]

      • -S : umask 값을 문자로 표기
  • 특수 권한 : SetUID (u+s, 4000), SetGID (g+s, 2000), Sticky bit (o+t, 1000)

    • SetUID : 프로그램 실행 동안 프로세스는 파일의 소유자와 같은 권한으로 실행
    • SetGID : 프로그램 실행 동안 프로세스는 파일의 그룹과 같은 권한으로 실행
    • Sticky bit : 공용으로 사용가능한 디렉터리 생성 (공유 디렉터리), /tmp 안에 생성
  • 디스크 쿼터 : 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것
    (블록 단위의 용량 제한, inode의 개수를 제한)

    • quotaoff : 쿼터 서비스를 비활성화 (-a, -u, -g, -v)
    • quotaon : 쿼터 서비스를 활성화
    • quotacheck : 쿼터 설정한 디스크 사용 상태를 검색 (-a, -u, -g, -m, -n, -p, -v)
    • edquota : 사용자나 그룹에 쿼터를 설정, 편집기를 이용해서 사용량 할당 (-u, -g, -t, -p)
    • setquota : 명령행에서 사용량 할당 (-u, -g, -a, -t)
    • quota : 디스크 사용량 및 할당량 표시
      -requota : 지정된 파일 시스템의 할당량 및 디스크 사용량 요약

2) 파일 시스템의 관리

  • 파일 시스템 = 파일 관리자

    • Super Block, Group Descriptor Table, Block bitmap, inode
    • +) inode : 파일 이름, 소유주, 권한, 시간 등에 대한 정보를 담고 있는 것
  • 리눅스 전용 디스크 기반 파일 시스템 : ext, ext2 (2GB), ext3 (2TB), ext4 (16TB)

  • 저널링 파일 시스템 : 시스템의 비정상적인 종료 시 저널을 이용해 안정적인 복구

    • ext3, ext4, XFS (100TB), ResierFS, JFS
  • 네트워크 파일 시스템 : 파일 공유 시 사용, SMB, CIFS, NFS

  • 기타 지원 가능 파일 시스템 : FAT, VFAT, FAT32, NTFS, ISO9660, UDF, HPFS

  • 관련 명령 : mount, umount, eject, fdisk, mkfs, mke2fs, fsck, e2fsck, du, df

    • mount : 특정 디바이스를 특정 디렉터리처럼 사용하기 위해 장치와 디렉터리를 연결
    • #mount [옵션][디바이스명][디렉터리명] (-a, -n, -f, -t, -o)
    • /etc/mtab : 현재 마운트된 블록 시스템 정보를 표시 (현재 시스템의 마운트 정보를 확인)
    • umount : 마운트 해제
    • #umount [옵션][디바이스명][디렉터리명] (-a, -n, -t)
    • eject : 이동식 보조기억장치 등과 같은 미디어를 해제하고 장치를 제거
    • #eject [옵션][디바이스명] (-r, -f)
    • fdisk : 새로운 파티션 생성, 삭제, 타입 결정, 파티션 정보 확인
    • #fdisk [옵션][장치명] (-v, -l, -s) (p, n, t, d, w, q)
    • mkfs : 해당 파티션에 맞는 파일 시스템을 생성
    • #mkfs [옵션] 장치이름 (-V, -t 파일 시스템, -c, -l 파일명, -v)
    • mke2fs : ext2, ext3, ext4 타입의 리눅스 파일 시스템을 생성
    • #me2kfs [옵션] 장치명 (-t, -b, -f, -i, -j, -R, -T)
    • fsck : 파일 시스템의 무결성 점검, 복구, 손상된 파일 수정을 위해 /lost+found 디렉터리 사용
    • #fsck [옵션] 장치명 (-A, -a, -r, -s, -t 파일 시스템)
    • e2fsck : ext2, ext3, ext4 타입의 리눅스 파일 시스템을 점검 및 복구, 디스크 포맷
    • #e2fsck [옵션][디바이스명] (-p, -n, -y, -c, -f)
    • du : 디렉터리별로 디스크 사용량 확인, 특정 사용자의 홈 디렉터리 사용량 확인
    • #du [옵션][파일 및 디렉터리명] (-h, -a, -m, -k, -s, -c)
    • df : 시스템에 마운트된 하드 디스크의 남은 용량을 확인
    • #df [옵션][파일명] (-h, -T, -t, -a, -k, -i) - 파일 - /etc/fstab : 6개의 필드로 파일 시스템 정보를 정적으로 저장하고 있는 파일

    리눅스 파일 시스템 정보와 부팅 시 마운트 정보를 가지고 있음
    파일 시스템 장치명, 마운트 포인ㅌ, 파일 시스템 종류, 옵션, dump 관련 정보, 파일 점검 옵션

2. 셸

1) 개념 및 종류

  • 셸 : 명령어 해석기, 사용자가 입력한 명령어를 해석하여 커널에 전달

  • 셸의 종류 : $ 본셸 계열 (본셸, 콘셸, 배쉬셸, 지셸), % C셸 계열 (C셸, tc셸)

    • 본셸 – C셸 – tc셸 – 콘셸 – 배쉬셸 – 지셸
      • 본셸 sh : 스티븐 본, 유닉스의 기본 셸
      • 콘셸 ksh : 데이비드 콘, 명령어 완성 기능, 히스토리 기능
      • 배쉬셸 bash : 브레인 폭스, GNU 프로젝트, 리눅스 표준 셸, 다양한 운영체제
      • 지셸 zsh : 폴 팔스타드, 강력한 히스토리, 향상된 명령행 편집 기능
      • C셸 csh : 빌조이, C 언어의 특징을 많이 포함, 히스토리, 별명, 작업 제어 등 기능
      • tc셸 tcsh : Ken Greer, 확장 C셸, 명령어 편집 기능 제공
  • 셸 확인 및 변경 : 사용자가 로그인 후 자동으로 생성되는 로그인 셸,
    사용자가 직접 변경 실행하는 서브 셸

  • 로그인 셸 확인

    • 사용할 수 있는 셸들 확인 : cat /etc/shells, chsh —list-shells, chsh –l 현재 작업 중인 셸 확인 : ps
    • 계정마다 할당된 셸 확인 : /etc/passwd
    • 현재 로그인한 사용자가 사용하고 있는 셸 확인 : echo - - $SHELL, finger –l - 셸 변경 : 반영구적인 셸 변경 방법으로 명령어 chsh, usermod 사용
    • chsh : 일반 사용자 환경에서 셸 변경 시 사용, 재부팅 필요
    • #chsh [옵션] 계정명 셸
    • chsh, chsh –s /bin/bash, chsh —shell /bin/bash (-s, -l)
    • usermod : 관리자 환경에서 계정의 정보를 변경할 때 사용
    • #usermod [옵션] 계정명
    • usermod –s /bin/bash ihd (-s)

2) 환경 설정

  • 환경 변수와 셸 변수 : 전역 변수 ↔ 지역 변수

    • 환경 변수 : 전체 셸에서 사용 가능한 전역 변수, 서브 셸에 기능 상속 가능, env
    • 셸 변수 : 현재 로그인 셸에서만 사용 가능한 지역 변수, 상속 불가능, set - 주요 환경 변수 : PATH, HOME, HOSTNAME, USER, DISPLAY, PS1, PS2,
      PWD, SHELL, TERM, TMOUT, LANG, PRINT, MAIL
  • 환경 변수 설정 : export, export 변수명 = 변수값, echo $변수명,

    • export 변수명 =$변수명:변수값, unset 변수명
  • 프롬포트 설정 형식 : \t, \W, \w, \s, \u, \h, \d

    • 예) PS1 = “[\u@\t\w][root@15:42:31/var/log]” → [root@15:42:31 /var/log]
  • bash 셸 관련 설정 파일들 : 전역적 파일, 지역적 파일

    • 전역적 파일 : 사용자에게 공통으로 영향을 주는 전역 설정 파일

      • /etc/profile : 모든 사용자의 셸 환경을 제어하는 전역적인 시스템 설정 파일
        관리자만 설정 가능, 모든 사용자들에게 반영
      • /etc/bashrc, : 별칭과 bash가 수행 시 실행되는 함수를 전역적으로 제어
    • 지역적 파일 : 사용자 개개인을 위한 지역 설정 파일

      • ~/.bash_profile : 개인 사용자의 셸 환경을 제어하는 지역적인 시스템 설정 파일
      • ~/.bash_history : 사용자가 명령어나 키보드로 입력한 내용들을 파일 안에 기록
      • ~/.bashrc : 별칭과 bash가 수행 시 실행되는 함수를 지역적으로 제어
      • ~/.bash_logout : 로그아웃하기 직전에 실행되는 시스템 설정 파일
      • +) /etc/profile.d : 응용 프로그램들 시작 시 자동 실행할 스크립트 파일경로 저장
  • 배쉬셸의 주요 기능 : History 기능, alias 기능

    • History 기능 : 사용했던 명령어를 .bash_history에 저장해두고 다시 불러서 사용

    • 다양한 옵션 : !!, !n, !-n, !string, !$ 또는 !!$, !*, !?string?

    • 관련 환경 변수 : HISTSIZE, HISTFILE, HISTFILESIZE,
      HISTTIMEFORMAT, HISTCONTROL

    • alias 기능 : 자주 사용하는 명령얼ㄹ 특정 문자로 입력해두고 간편하게 사용

      • alias, alias 별명 =‘명령어 정의’, unalias 별명

3. 프로세스 관리

1) 개념 및 유형

  • 프로세스 : CPU와 메모리를 할당받아 실행시키는 프로그램 (현재 실행 중)

    • 프로세스들마다 고유의 프로세스 ID안 PID를 할당받음
      가상 먼저 실행되는 프로세스인 init의 PID는 1
  • 포그라운드 프로세스와 백그라운드 프로세스 : 실행 형태에 따라 나뉨

    • 포그라운드 프로세스 : 사용자와 상호작용, 명령 입력 후 수행 종료까지 기다림, 화면에서 실행되는 것이 보임
    • 백그라운드 프로세스 : 사용자와 대화하지 않고 뒤에서 실행, 사용자의 입력에 관계없이 실행, 화면에 나타나지 않음
  • fork()와 exec() : 새로운 프로세스 생성을 위해 사용되는 시스템 호출 함수

    • fork() : 새로운 프로세스를 위한 메모리 할당,
      원본은 부모 프로세스라고 부르고,
      복제된 프로세스를 자식 프로세스라고 부름. (둘은 똑같은 코드)
    • exec() : 호출하는 포로세스가 새로운 프로세스로 변경,
      새로운 프로세스를 위한 메모리가 할당 되지 않고 코드를 덮어씌워 버림
  • 데몬 : 시스템이 부팅 시 자동으로 실행되는 백그라운드 프로세스, 지속적인 서비스

  • 데몬을 실행하는 방법 : standalone 데몬, inetd 데몬, inetd 타입 데몬

    • standalone 데몬 : 독립적 수행, 자주 실행되는 서비스를 항상 메모리에 상주
    • inetd 데몬 (슈퍼 데몬) : 자체적으로 여러 서비스들을 제어하고 관리 = xinetd
    • inetd 타입 데몬 : 슈퍼 데몬이 활성화 되어야 서비스 제공,
      요청이 있을 때 메모리에 상주, 자주 사용하지 않는 서비스 관리
  • 시그널 : 프로세스에 이벤트 발생을 전달해주는 소프트웨어 인터럽트

    • 시그널이 프로세스에게 전달될 때의 4가지 상황
      : SIG_ING, SIG_ERR-1, SIG_DFL 0, SIG_HOLD 2
  • 이벤트의 시그널이 프로세스에 전달될 때 발생하는 상황 (기본 동작)

    • 1 SIGHUP – 터미널과 연결이 끊어졌을 때 – 종료 후 재시작
    • 2 SIGINT – Ctrl + C 입력 시 - 종료
    • 3 SIGQUIT – Ctrl + \ 입력 시 - 코어덤프
    • 6 SIGABRT – 비정상 종료 함수에 의해 발생 - 코어덤프
    • 9 SIGKILL – 프로세스 강제 종료 시 - 종료
    • 13 SIGPIPE – 종료된 소켓에 쓰기를 시도할 때 - 코어덤프
    • 14 SIGALRM – 알람 타이머 만료 시 - 코어덤프
    • 15 SIGTERM – Kill 시스템 호출 시 - 종료
    • 17 SIGCHLD – 자식 프로세스가 종료 시 - 무시
    • 18 SIGCONT – 중지된 프로세스 실행 시 - 무시
    • 19 SIGSTOP – SIGCONT 시그널을 받을 때까지 - 종료
    • 20 SIGTSTP – Ctrl + Z 입력 시 – 프로세스 대기로 전환 (Suspend)

2) 프로세스 유틸리티

  • 프로세스 관련 명령어 : ps, pstree, jobs, bg, fg, kill, killall, nice, renice,
    top, nohup, tail
    • ps : 현재 실행 중인 프로세스의 상태를 보여주는 명령어 #ps [옵션] (a, e, u, x, l)
    • ps aux : USER, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME, CMD
      • +) STAT : 현재 프로세스 상태 → P, R, S, D, T, Z
    • ps –l : F, S, UID, PPID, C, PRI, NI, ADDR, SZ, WCHAN
    • pstree : 실행 중인 프로세스들을 트리구조로 나타낸다. #pstree [옵션] (p, n, a, h)
    • jobs : 작업 내용 확인 (작업이 중지된 상태, 백그라운드로 진행 중인 상태 등을 표시)
      • +는 현재 작업 실행, - 앞으로 실행된 작업 #jobs [옵션][작업번호] (l, n, p)
      • 작업의 상태값 : Running, Stopped, Done, Done(code)
    • bg : 포그라운드에서 백그라운드로의 전환 #bg %작업번호 또는 bg 작업번호
      • 작업을 유지한 상태로 다른 작업을 실행하고 싶을 때
      • Ctrl + Z를 사용하여 일시 중지시킨 후 bg 수행하며 명령어 뒤에 &을 붙임
    • fg : 백그라운드에서 포그라운드로의 전환 #fg %작업번호 또는 fg 작업번호
      • 작업번호를 부여하지 않으면 현재 수행 중인 작업을 포그라운드로 전환
      • 포그라운드 작업 종료 시 Ctrl + C를 입력
    • kill : 프로세스를 종료 #kill [옵션][시그널번호 또는 시그널이름][PID 또는 %작업번호]
      (l, -s 시그널번호, -s 시그널명, -1, -9, -15)
    • killall : 프로세스명으로 연관된 프로세스들을 종료, 같은 데몬의 여러 프로세스를 한 번에 종료
    • #killall [옵션] 프로세스명 (g, i, l, v)
    • nice : 프로세스 사이의 우선순위를 확인하고 우선순위를 변경 - #nice [옵션] 프로세스명
      • NI 조정하여 프로세스 우선순위 변경 (-n 조정수치, -조정수치, --adjustment 조정수치)
      • NI값 범위는 –20~19, 일반사용자는 증가만 가능, root는 감소 가능, 양수 : -, 음수 : --
    • renice : 이미 실행 중인 프로세스의 우선순위 변경, 루트 권한자만 가능, 지정한 NI값을 설정
    • #renice [옵션] NI값 PID (p, u, g)
    • top : 시스템의 운영 상태를 실시간으로 모니터링, 프로세스 상태 확인 #top [옵션][PID]
      • PID, USER, PR, NI, VIRT, RES, SHR, S, %CPU, %MEM, TIME+ (-d 시간, -p PID)
      • 실행된 상태에서 명령을 입력하여 프로세스의 상태를 출력하거나 제어 가능
        : h 또는 ?, t, i, n 수치, r 조정치, k PID, q 또는 Ctrl+C, c, m, W
    • nohup : 프로세스가 중단되지 않고 백그라운드로 작업을 수행, 명령행 뒤에 &를 명시
    • nohup.out : 실행 중인 프로세서의 표준 출력 결과 기록
    • $HOME/nohup.out : 작업 디렉터리에 쓰기가 불가능할 경우 이 파일에 기록
    • tail : 마지막 행을 기준으로 지정한 행까지 파일 내용의 일부를 출력 #tail [옵션][파일명]
      • 기본값으로 마지막 10줄을 출력 (f, n N) - 스케줄링과
    • cron : 주기적으로 반복되는 일을 자동적으로 실행될 수 있도록 설정
      스케줄링 데몬은 crond, 관련 파일은 /etc/crontab
    • crontab : 주기적인 작업 등록 #crontab [옵션] 파일명 (l, e, r, u)
      • 7개의 필드로 구성,
        분 (0 - 59), 시 (0 - 23), 날 (1 - 31), 달 (1 - 12), 요일 (0 - 6), 명령어

4. 에디터

1) 에디터 종류

  • 리눅스에서 지원하는 편집기 : vi, emacs, pico, gedit, xedit 등
    원래의 파일은 남겨두고 파일의 복사판을 만들어 임시 기억 장치에 둠
  • Pico : Aboil Kasar, 유닉스 기반의 텍스트 에디터
    윈도우의 메모장과 유사, 간단, pico의 복제 버전인 nano 개발
  • Emacs : 리처드 스톨만, 매크로 기능이 있는 텍스트 교청 및 고성능 문서 편집기
    LISP 언어를 기반, 포괄적인 통합 환경, Ctrl 또는 Alt 키 조합 구성
  • vi : 빌 조이, 유닉스에서 가장 많이 쓰임, 모드형 편집기 (명령, 입력, 편집) - vim : 브람 무레나르, 다양한 색상을 통해 가시성, 하이라이트 기능, 빠른 검색,
    ex모드에서 히스토리 기능 제공, 강력한 문법, 다국어 지원 등
  • gedit : 그놈 데스크톱 환경, X-윈도우 시스템에 맞춰 개발

2) 에디터 활용

  • Pico : #pico [옵션][파일명] (-w)
    Ctrl + O : 파일 저장
    Ctrl + X : 파일 종료
    Ctrl + R : 현재 커서 위치에 다른 파일 불러오기
    Ctrl + A : 현재 행의 맨 앞으로 이동 ↔ Ctrl + E : 현재 행의 맨 끝으로 이동
    Ctrl + V : 이전 페이지로 이동 ↔ Ctrl + Y : 다음 페이지로 이동
    Ctrl + C : 현재 커서의 위치를 표시
    Ctrl + T : 영문자의 철자를 확인 (오타방지용)
    Ctrl + W : 문자열 찾기
    Ctrl + K : 현재 라인을 삭제 ↔ Ctrl + U : 마지막으로 삭제된 라인 복구
    Ctrl + I : 화면 갱신
    Ctrl + J : 상위 줄과 결합하여 한 문단으로 만들기
    Ctrl + G : 도움말 출력
    Ctrl + P : 커서의 윗줄로 이동
    Ctrl + B : 커서를 뒤(왼쪽)로 이동 Ctrl + O : 커서를 앞(오른쪽)으로 이동
    Ctrl + N : 커서의 아랫줄로 이동
  • Emacs
    Ctrl + X, Ctrl + S : 파일 저장
    Ctrl + X, Ctrl + C : 종료
    Ctrl + W : 잘라내기
    Ctrl + K : 커서 뒤에 있는 한 줄 모두 삭제
    Ctrl + A : 커서를 줄의 맨 앞으로 이동 ↔ Ctrl + E : 커서를 줄의 맨 뒤로 이동
    ↕Ctrl + N : 커서를 한 줄 아래로 이동
    Ctrl + F : 커서를 오른쪽으로 이동
    Ctrl + S 찾을 문자열 : 커서의 아랫부분에서 문자열 검색
    ↕Ctrl + R 찾을 문자열 : 커서의 윗부분에서 문자열 검색
    Ctrl + G : 진행되고 있는 명령 끔
    Ctrl + J : 행의 끝 맞추기
  • vi 에디터 : 명령모드, 입력모드, 편집모드로 구성 (가장 먼저 명령모드 실행)
    명령모드 → 입력모드 전환
    i : 현재 문자 앞에 입력 ↔ a : 커서 뒤부터 입력
    I : 줄의 시작 부분에 입력 ↔ A : 줄의 마지막에 입력
    o : 현재 줄의 다음 줄에 입력 ↔ O : 커서가 있는 줄 위에 입력
    s : 현재 커서가 위치한 곳의 윗줄에 입력
    편집모드에서 저장, 종료, 환경 설정
    :wq 버퍼를 파일에 기록하고 종료
    :q! 버퍼의 내용을 파일에 기록하지 않고 무조건 종료
    :q 버퍼의 내용과 파일의 내용이 일치하는 경우 종료
    :set nu 줄 번호 표시 설정 ↔ :set nonu 줄 번호 표시 설정 해제
    :set ts : 탭의 크기
    :set ai : 자동 들여쓰기 기능 (바로 윗줄 행의 열 위치와 동일하게 커서 이동)
    명령모드에서 삭제, 복사, 붙여넣기
    x : 커서가 위치한 곳의 한 문자 삭제
    dd : 한 라인 삭제 +) 삭제할 줄 번호 dd : 다수 개의 줄 삭제
    dw : 커서 위치에서 오른쪽 한 단어 삭제 ↔ db : 커서 위치에서 왼쪽 한 단어 삭제
    yy : 한 라인 복사
    yw : 커서 위치에서 오른쪽 한 단어 복사 ↔ yb : 커서 위치에서 왼쪽 한 단어 복사
    P : 커서 위치에서 윗줄에 붙여넣기 ↔ O : 커서 위치에서 아랫줄에 붙여넣기
    u : 줄 삭제 명령을 취소하여 복원
    +) 커서 이동
    k (위)
    h (왼쪽) l (오른쪽)
    j (아래)
    +)
    :$ 편집 중인 테스트 파일의 가장 마지막 줄로 이동
    :% 전체 줄을 표시
    : 시작 줄, 끝줄 s/바꿀 문자열/바뀔 문자열/g 지정 범위 내에서 특정 문자열 치환
    . : 현재 커서
    $ : 줄의 끝
    n : 같은 방향으로 다음 문자열 검색
    ? : 커서의 윗부분에서 문자열 검색 ↔ / : 커서의 아랫 부분에서 문자열 검색
    map q : 매크로 선언 기능
    vi + [num] 파일명 : 파일을 열면서 커서를 해당 줄로 이동 (num 생략 시, 커서 위치 마지막)
    vi –r 파일이름 : 파일 편집 중 시스템 다운과 같은 갑작스러운 사고로 인해 파일이 손상될 경우 파일을 복구할 때 사용

5. 소프트웨어 설치 및 삭제

1) 프로그램 설치

  • 소프트웨어 설치 방법 : 1. 패키지 설치 2. 소스코드 컴파일

  • 리눅스의 패키지 관리 유틸리티 : 데비안 계열, 레드햇 계열
    데비안 계열 배포업체 : Dabian, Ubuntu, Xandros, Linspire
    데비안 계열 패키지 툴 : dpkg, apt-get, apitude, dselect
    레드햇 계열 배포업체 : Fedora, CentOS, RHELL, openSUSE, mandirva
    레드햇 계열 패키지 툴 : rpm, yum, dnf (yum의 문제점 보완)
    RedHat : YUM, CentOS : RPM, Debian : DPKG, SUSE : YAST, Zypper - RPM : 레드햇 사에서 만들어낸 패키지 관리 툴, 파일 확장명 *.rpm
    파일명 구성 : sendmail-8.14.3-5.fc11.i586.rpm
    (패키지명-버전-릴리즈번호.페도라버전(CentOS버전).아키텍처)
    rpm #rpm [옵션] 패키지명
    (i, h, U, e, q, f <파일>, F, v, vv, nodeps, oldpackage, replacepkgs, replacefiles, force)
    (V, a) → RPM 검증 코드 : 5, S, L, T, D, U, G, M

  • YUM : RPM의 의존성 문제를 해결하기 위한 유틸리티, 인터넷을 기반으로 설치
    yum install 패키지명, yum groupinstall 패키지명, yum –y install 패키지명
    yum update 패키지명, yum localistall 패키지명
    yum remove 패키지명, yum groupremove 패키지명
    yum info 패키지명, yum groupinfo 패키지명, yum list, yum grouplist,
    yum check update, yum research 문자열, yum check-update, yum history - dpkg : 데비안의 저레벨 패키지 관리 툴, 우준투 리눅스에서도 사용, 확장자 deb
    루트 권한으로 패키지 설치와 삭제, 의존성 문제가 있음
    파일명 구성 : 패키지명버전-릴리즈번호-리버전아키텍처.deb
    dpkg #dpkg [옵션] 패키지명.deb (i, r, P, s, L) - apt-get : 데비안 리눅스에서 소프트웨어 설치, 제거를 위한 패키지 관리 유틸리티
    의존성과 충돌문제를 해결하기 위해 /etc/apt/source.list 파일 참조
    Source.list는 패키지 유형, 저장소 주소, 우분투 정보, 카테고리로 구성
    apt-get #apt-get [옵션] 명령어 패키지명 (y, u, V)
    (install, dist-update, update, upgrade, remove) - aptitude : 우분투 패키지 관리 유틸리지, APT처럼 패키지 관리를 자동화
    aptitude #aptitude 서브명령

    2) 소스 파일 설치

  • 파일 아카이브 : 파일이나 디렉터리를 하나의 파일로 묶는 것 (묶기+압축)
    다수 개의 파일을 한 번에 전송하거나 파일 백업용으로 사용
    tar #tar [옵션] 파일명 (c, x, d, r, t, u, f, v, a, j, P, J, exclude, Z, p, m, C) - 파일 압축과 해제 : compress, gzip, bzip2, xz
    가장 많이 사용되는 압축 명령어는 gzip, bzip2
    압축률이 가장 낮은 compress, 가장 높은 xz
    compress와 uncompress : 압축 파일명 .Z
    #compress [옵션] 파일명 (d, c, v, V) #uncompress 파일명
    gzip와 gunzip : 압축 파일명 .gz
    #gzip [옵션] 파일명 (d, l, v) #gunzip 파일명 = gzip –ds
    #zcat
    bzip2와 bunzip2 : 압축 파일명 .bz2
    #bzip2 [옵션] 파일명 (d, l, v) #bunzip2 파일명 = bzip2 -d
    #bzcat 파일명
    xz와 unxz : 압축 파일명 .xz
    #xz [옵션] 파일명 (z, d, v) #unxz 파일명 = xz -d - 소스 코드 설치 : 압축 해제 후 컴파일 순서에 따라 프로그램을 설치

  • 컴파일 순서 : 환경설정(configure) → 컴파일(make) → 파일 설치(make install)

  1. 환경설정 (./configure) : 환경파일 makefile 생성, 시스템 파일 위치 지정
  2. 컴파일 (make) : makefile을 기반으로 소스 파일 컴파일, 실행파일로 전환
  3. 파일 설치 (make install) : 실행파일을 지정된 속성으로 지정 디렉터리에 설치 - CMake : Make의 대용품을 만들기 위한 오픈소스 프로젝트
    cmake → make install 기존의 Make 과정을 수행하지 않고 Make 파일의 생성만 수행
    유닉스 계열, 마이크로포스트 윈도우 계열의 프로그래밍 도구 지원
    타임스탬프, 평행 빌드, 크로스 컴파일 가능

6. 장치 설정

1) 주변 장치 연결 및 설정

  • 프린터 설치 및 설정 : LPRng, CUPS
    LPRng : 버클리 프린팅 시스템으로 BSD 계열 유닉스에서 사용
    라인 프린터 데몬 프로토콜 사용, 설정 파일은 /etc/printcap
    프린터 스풀링과 네트워크 프린터 서버를 지원, 515 포트
    CUPS : 애플이 개발한 오픈 소스 프린팅 시스템, 유닉스 계열,
    HTTP 기반의 IPP 시용하여 웹 기반으로 제어, 631 포트
    설정 파일은 /etc/cups, 관련 파일 4가지
    /etc/cups/cupsd.conf : 프린터 데몬 환경 설정 파일
    /etc/cups/printers.conf : 프린터 큐 관련 환경 설정 파일
    /etc/cups/classes.conf : 프린터 데몬의 클래스 설정 파일
    cupsd : 프린터 데몬 (프린터 출력 시 실행파일) - 프린터 설정 (CUPS 인쇄 시스템 사용)
  1. 주메뉴 → 시스템 설정 → 인쇄 항목 / system-config-printer 입력
  2. 로컬 접속으로 프린터를 직접 연결
    직렬 포트의 경우 /dev/Ip0, USB 포트의 경우 /dev/usb/Ip0
    그 후 http://localhost:631 접속하여 네트워크 프린터처럼 설정 가능
    +) 네트워크 프린터 설정 경우 5가지
    AppSocket/Hp Jetdirect, LPD.LPR 호스트 또는 프린터,
    Window Printer via SAMBA, 인터넷 프린터 프로토콜 (https),
    인터넷 프린터 프로토콜 (ipp) - 사운드 카드 설치 및 설정 : OSS, ALSA
    OSS : 리눅스 및 유닉스 계열 운영체제에서 사운드를 만들고 캡처하는 인터페이스,
    표준 유닉스 장치 시스템 콜에 기반
    ALSA : 사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널 요소,
    GPL, LGPL 라이센스 기반 배포, 환경 설정 파일은 /etc/asound.state
    사운드 카드를 자동으로 구성, 시스템에 여러 개의 사운드 장치를 관리
  • 스캐너 설치 및 설정 : SANE, XSANE
    SANE : 이미지 관련 하드웨어를 제어하는 API,
    디바이스 드라이브에 따라 다르게 인식함
    SCSI 스캐너 (/dev/sg0, /dev/scanner),
    USB 스캐너 (/dev/usv/scanner, /dev/usvcanner)
    XSANE : SANE 스캐너 인터피에스를 이용하여 X-Windows 기반 스캐너 프로그램
    X-window 터미널에서 xsane이라고 입력하면 실행

2) 주변 장치 활용

  • 프린터 관련 명령어 : BSD 계열, System V 계열
    BSD 계열 : Ipr, Ipq, Iprm, Ipc
    Ipr : 프린터 작업 요청 #Ipr [옵션][파일명] (#값, m, P 프린트명, r)
    Ipq : 프린터 큐에 있는 작업 목록을 출력 #Ipq [옵션] (a, l, P 프린터명)
    Iprm : 프린터 큐에 대기 중인 작업을 삭제, 취소할 프린트 작업 번호를 입력,
    작업번호가 명시되지 않을 경우 가장 마지막에 요청한 작업 취소
    #Iprm [옵션][파일명] (-, U 사용명, P 프린트명, h 서버)
    Ipc : 라인 프린터 컨트롤 프로그램, 프린터나 프린터 큐를 제어
    System V 계열 : Ip, Ipstat, cancel
    Ip : 프린터 작업 요청 #Ip [옵션][파일명] (n 값, d 프린터명)
    Ipstat : 프린터 큐의 상태를 확인 #Ipstat [옵션] (p, t, a)
    cancel : 프린트 작업을 취소, 취소할 요청 ID를 Ipstat로 확인 후 삭제
    #cancel 요청 ID (a) - 사운드 카드 관련 명령어 : alsactl, alsamixer, cdparanoia
    alsactl : ALSA 사운드 카드를 제어 #alsactl [옵션][명령] (d, f) (store, restore, init)
    alsamixer : 커서 라이브러리 기반의 오디오 프로그램
    cdparanoia : 오디오 CD로부처 음악 파일을 추출 시 사용 #cdparanoia [옵션] (w, a, B) - 스캐너 관련 명령어 : sane-find-scanner, scanimage, scanadf, xcam
    sane-find-scanner : SCSI 스캐너와 USB 스캐너 관련 장치 파일을 찾아주는 명령어
    #sane-find-scanner [옵션][장치파일명] (q, v, p)
    scanimage : 이미지를 스캔 (d, --format, L, h)
    scanadf : 자동 문서 공급 장치가 장착된 스캐너에서 여러 개의 사진을 스캔
    #scanadf [옵션] (d, L)
    xcam : GUI 기반으로 평판 스캐너나 카메라로부터 이미지를 스캔

7. X-Windows

1) 개념 및 사용법

  • X-윈도우 개념 : 그래픽 사용자 인터페이스 (GUI) 제공, 독립적으로 작동
    = X11, X, X Window System
    아데나 프로젝트 → x컨소시엄 → 오픈 그룹 → X.org

  • X-윈도우 특징
    네트워크 기반의 그래픽 환경 지원, 이기종 시스템 사이에서 사용 가능, 원격 연결
    그래픽 환경 자원들이 특정 형태로 정의되어 있지 않음 (표준화 X),
    디스플레이 장치에 의존하지 않고 원하는 인터페이스를 만들 수 있음,
    네트워크 프로토콜 기반의 클라이언트/서버 시스템,
    서버는 클라이언트들의 디스플레이에 관한 접근 허용, 클라이언트 간의 자원 공유,
    네트워크 메시지 전달, 클라이언트와 입출력 기기와의 중계를 담당,
    클라이언트는 애플리케이션으로 X 서버가 제공하는 기능들을 이용,
    오픈 데스크톱 환경으로 KDE, GNOME, XFCE 등이 있음

  • X-윈도우 구성요소의 종류
    XProtocol : 서버와 클라이언트 라이브 사이에 정보를 주고받게 해주는 프로토콜
    Xlib : XProtocol 지원 클라이언트 라이브러리, 저수준 클라이언트 라이브러리,
    윈도우 생성, 이벤트 처리, 창 조회, 키보드 처리와 같은 라이브러리 제공
    XCB : Xlib보다 향상된 스레드 기능을 지원하고 확장성이 뛰어남
    Xtoolkit : 고급 레벨의 GUI 생성시 이용, Widget과 Xt Intrinsic 포함, XView, Xaw, Motif, Qt, KTX, GTK 등도 포함
    XFree86 : 인텔 X86 계열의 유닉스 운영체계에서 동작하는 X 서버
    XF86Config : XFree86 설정 파일, Xconfigurator, XF86Config, XF86Setup포함

  • X 윈도우 설정과 실행
    파일 /etc/inittab : init 프로세스가 읽는 파일, init 프로세스가 무엇을 할지 결정
    사용자 환경을 초기화, 서비스 프로세스 관리, 가상 콘솔 관리,
    실행 level 관리 (3→ 텍스트 모드, 5→ 그래픽 모드)
    X-윈도우 실행 : 터미널 윈도우로 그래픽 환경에 로그인 할 경우
    startx -- [인자값] : X-윈도우를 실행하는 스크립트,
    시스템 환경을 초기화하고 xinit를 호출, startx 실행 시 인자값을 xinit에 전달하는 옵션은 --
    (터미널 변경, X-window 상태 전환, 강제 종료) 환경 변수 DISPLAY : 컴퓨터에서 동작하는 방식에 영향을 주는 동적인 값
    현재 X-윈도우 Display 위치를 지정
    export DISPLAY=IP주소:디스플레이번호.스크린번호

  • 윈도우 매니저 : 창의 배치와 표현을 담당하는 시스템 프로그램, Xlib, XCB 사용
    fvwm, twm, AfterStep, Window Maker, Blackbox, kwm,
    Enlightment, fvwm2, xfwm, Mutter - 데스크톱 환경 또는 데스크톱 매니저 : GUI 사용자에 제공하는 인터페이스 스타일,
    다양한 도구를 제공 패키지 형태 프로그램
    KDE, GNOME, LXDE, XFCE

  • 디스플레이 매니저 : X window system 상에서 작동하는 프로그램,
    X-윈도우 구성요소로 사용자 로그인 및 세션 관리를 수행,
    사용자에 그래픽 로그인 환경을 띄워주고 아이디와 패스워드를
    입력받아 인증을 진행, 인증이 정상적으로 완료되면 세션 시작
    xdm, dtlogin, kdm, gdm

    2) X-윈도우 활용

  • 원격지에서 X 클라이언트 이용 : xhost, xauth
    xhost : 인증 방식으로 IP나 도메인명 이용해서 서버에 접속 요청,
    X 서버에 접속할 수 있는 클라이언트를 지정하거나 해제,
    환경변수 DISPLAY로 X서버프로그램이 실행될 때 클라이언트 주소 지정
    xhost [+|-][IP|도메인명]
    (xhost +, xhost -, xhost + IP 주소, xhost – IP 주소) xauth : MMC 방식의 인증 방식 사용 (사용자 인증 기반),
    원격지에서 접속하는 X 클라이언트를 허가할 때 IP 주소나 호스트명이
    아닌 X-윈도우 실행시에 생성되는 키 값으로 인증할 때 사용,
    $HOME/.Xauthority 파일에 사용자 인증이나 쿠키 값들이 저장되어서
    관리 진행 (매직 쿠키를 가지고 있어야 함)
    xhost [옵션] (list, list [표시장치명])
    +) X서버에서 보내온 키 값을 서치하는 명령 : xauth add $DISPLAY . 키 값

  • X-윈도우 응용 프로그램
    오피스 : LibreOffice (Writer, Impress, Calc, Draw),
    gedit, kwrite, okular, evince
    그래픽 : GIMP, ImageMagick, eog, kolourpaint, gThumb, gwenview
    멀티미디어 : Totem, RHYTHMBOX, CHEESE, KMid, Dragon Player
    개발 : Eclipse
    기타 : Dolphin, KSnapshot, nautilus

8. 인터넷 활용

1) 네트워크 개념

  • 통신망 종류 : 지역적 범위에 따라 LAN, MAN, WAN으로 구분 + Internet
    LAN 근거리 통신망 : Ethernet, Token Ring, FDDI
    Ethernet : IEEE 802.3 LAN, 매체 접근 제어 기술 CSMA/CD 사용
    Token Ring : IEEE 802.5 LAN, 매체 접근 제어 기술 토큰 패싱 사용
    FDDI : 고속스테이션 연결, 백본망 연결 시 사용, 이중 링 구조, 토큰 패싱 사용
    MAN : 근거리 통신망을 연결하여 백본라인을 형성,
    DQDB는 MAN에서 사용되는 IEEE 802.6 규격인 QPSX의 제어접속에 사용
    WAN 원거리 통신망 : 전용회선 & 회선 교환망, 패킷 교환망
    전용회선 & 회선교환망 : HDLC, PPP
    HDLC : 동기종 간 동기식 전송 연결 시 사용
    PPP : 이기종 간 연결 시 사용
    패킷교환망 : X.25, Frame-relay, ATM
    X.25 : ITU-T 표준화 통신 규약, 프레임릴레이의 근간,
    회선 종단장치와 데이터 단말장치 사이의 상호 작용을 위한 프로토콜
    Frame-relay : 속도에 초점, 가변 길이 프레임 전송, 실시간 데이터 전송 어려움
    ATM : 프레임을 셀 단위로 쪼개어 전송, 실시간 데이터 전송 용이
    SAN : 스토리지 전용 고속 네트워크, 파일 I/O요청을 블록 I/O로 전환해 전송
  • 네트워크 개요 : LAN 토폴로지, 매체 접근 제어 방식
    LAN 토폴로지 : 성형, 망형, 버스형, 링형, 트리형
    성형 : 중앙 집중식, 대규모 네트워크, 중앙 컴퓨터 고장 시 네트워크 사용 불가
    망형 : 시스템 사이 영향이 적고, 신뢰성이 높은 대신 구축 비용이 많이 듦
    버스형 : 하나의 통신회선에 여러 컴퓨터를 연결, 컴퓨터 수에 따라 성능 감소
    링형 : 토큰패싱을 통해 데이터 전송, 고속 네트워크, 분산 제어, 검사, 회복 가능,
    노드 숫자가 증가하더라도 망 성능 저하가 적음,
    하나의 노드 장애가 전체에 영향을 주지 않음, 확장성이 용이하지 않음
    트리형 : 트래픽 양 증가 시 병목 현상의 가능성 증대
    매체 접근 제어 방식 : CSMA/CD, 토큰 패싱
    CSMA/CD : 이더넷 LAN에서 주로 사용
    네트워크 캐리어를 감지해 전송이 가능한지 검사
    → 전송이 가능할 경우 전송 시작
    → 충돌이 감지될 경우 잼 신호를 브로드캐스트
    → 백오프 알고리즘에 따라 랜덤한 시간이 지난 후 다시 전송 시도
    토큰 패싱 : FDDI, 토큰링에 사용
    제어신호가 free token인지 busy token인지 확인
    → free token인 경우 busy token으로 변환 후 데이터 전송
    → 데이터 전송이 완료되면 free token으로 전환, 데이터 전송 완료
  • 네트워크 구성 장비 : LAN 구성 장비, 인터네트워킹 장비, UTP 케이블링
    LAN 구성 장비 : 케이블, 리피터, 허브, LAN 카드, 브릿지, 스위치
    케이블 : 보호 외피나 외장 안에 두 개 이상의 전선이나 광섬유로 묶여 있는 것
    피복되지 않은 UTP와 피복된 STP
    100 BASE FX (속도, 채널, 케이블 타입)
    예) 100BaseTX, 100BaseFx, 1000Base-CX, 1000Base-T,
    1000Base-SX, 1000Base-LX
    리피터 : 신호의 재생 및 증폭 기능을 수행하여 물리적인 거리를 확장
    허브 : 신호를 노드로 전달해 주는 장비
    LAN 카드 : 네트워크에 접속할 수 있도록 컴퓨터 내에 설치되는 확장 카드,
    전기신호로부터 데이터를 송신하고 변환,
    데이터를 전기신호로 변환하여 송신,
    MAC 주소를 이용하여 데이터의 수신 여부를 판별
    브릿지 : 수신 프레임을 버퍼에 저장하고, 주소에 따라 목적지 포트로 프레임 전달
    스위치 : ≒ 브릿지의 기능, 소프트웨어 기반의 처리 방식, 맥 주소 테이블 기반
    인터네트워킹 장비 : 라우터, 게이트웨이
    라우터 : 물리, 데이터링크, 네트워크 계층의 기능을 지원, 서로 다른 통신망과 프로토콜을 사용하는 네트워크 간의 통신을 가능하게
    게이트웨이 : 전송 계층에서 지원하며, 라우터를 포함하는 개념
    서로 다른 통신망이나 프로토콜을 사용하는 네트워크 간의 통신을
    가능하게, 중계자 역할
    UTP 케이블링 : 다이렉트 케이블, 크로스오버 케이블
    다이렉트 케이블 : 이기종간의 장비를 연결, 568-B
    크로스오버 케이블 : 동기종간의 장비를 연결, 568-B, 568-A
    +) 568-A : 흰녹-녹-흰주-파-흰파-주-흰갈-갈
    568-B : 흰주-주-흰녹-파-흰파-녹-흰갈-갈

9. 응용 분야

1) 기술 동향

  • 리눅스 동향 : 주로 서버로 이용 → 서버, 데스크톱 및 개발, 임베디드 분야
  • 리눅스 관련 기술 : 클러스터링, 임베디드 시스템
  • 클러스터링 정의 : 여러 개의 시스템이 하나의 거대한 시스템으로 보이게 하는 기
  • 클러스터링 구성요소 : 클러스터 노드 (즉, 컴퓨터), 클러스터 관리자
  • 클러스터 구축 목적 : 고성능 컴퓨팅 구축, 부하 조정, fail-over - 클러스터링 종류 : 고계산용 클러스터, 부하 분산 클러스터, 고가용성 클러스터
    고가용성 클러스터 (HPC) : 베어울프 클러스터, 고성능의 계산 능력, 과학계산용
    부하 분산 클러스터 (LVS) : 대규모 서비스 제공, 로드밸런서에 연결
    고가용성 클러스터 (HA) : 지속적인 서비스 제공 목적, 로드밸런서 이용
  • 임베디드 시스템 정의 : 소프트웨어와 하드웨어를 포함하는 응용시스템
  • 임베디드 시스템 구성 요소 : 하드웨어, 소프트웨어
    하드웨어 (프로세서, 컨트롤러, 메모리, I/O 장치, 네트워크 장치, 센서 구동기),
    소프트웨어 (운영체제, 시스템 S/W, 응용 S/W) - 임베디드 시스템 특징 : 특정 목적에 부합하는 최적화 설계 가능,
    실시간 처리 지원, 높은 신뢰성 보장, 소형, 경량 및 저전력
  • 임베디드 리눅스의 장점 : 기능성과 확장성이 우수, 로열티가 없어 가격에 우수,
    안정성 우수, 변경과 재배포 용이
  • 임베디드 리눅스의 단점 : 기존의 RPOS보다 많은 메모리 요구, 접근 복잡

2) 활용 기술

  • 리눅스 서버 분야 : 서버 가상화, 클라우드 컴퓨팅, 빅데이터
  • 서버 가상화의 정의 : 단일의 물리적 IT 자원이 다수의 논리적인 IT 자원으로 사용, 데스크탑, 서버, 스토리지, 네트워크 가상화
  • 서버 가상화의 도입 목적 : 서버 트래픽 증가에 따른 유연한 대처,
    데이터 및 서비스 가용성 증가,
    응급 재해 시 서비스 중단없는 빠른 서비스 복구
  • 하이퍼바이저 : 다수의 가상머신들이 동작할 수 있게 해줌 (네이티브 ↔ 호스티드) - 오픈 소스 하이퍼바이저 비교 : Xen, KVM, Virtual Box
    Xen : 반가상화 및 전가상화 모두 가능, 상용화된 제품이 많음, 장치명 Xenbr()
    KVM : Qumranent에서 개발, x86 시스템 기반으로 CPU 전가상화 방식 사용
    Virtual Box : 전가상화만 지원, 호스티드 방식, 확장자 .vdi, 장치명 virbr0
  • 클라우드 컴퓨팅 정의 : 공유가능한 컴퓨팅 리소스를 통합해 네트워크를 통해 접근
  • 클라우드 컴퓨팅 특징 : 사용자의 개별 관리 화면을 통해 서비스 시용, 다양한 디바이스를 통해 서비스에 접근, 필요에 따라 스케일업, 스케일다운, 이용한 만큼 요금 부과
  • 클라우드 컴퓨팅 장점 : 데이터 통합으로 인한 효율성 증가로 비용 절약, 유연한 활동, 높은 가용성, 신속하게 구축
  • 클라우드 컴퓨팅 서비스 종류 : IaaS, PaaS, SaaS
    IaaS : 서버나 스토리지 같은 하드웨어 자원만을 임대 예) AWS의 EC2
    PaaS : 소프트웨어 서비스를 개발하기 위한 플랫폼을 제공 예) 구글 앱 엔진
    SaaS : 응용 프로그램을 서비스 형태로 제공 예) 네이버메일, 네이버 클라우드
  • 클라우드 서비스 모델 : 사설, 공용, 하이브리드 클라우드 (사설+공용) - 클라우드 컴퓨팅 구축환경 : 오픈스택, 클라우드스택, 유칼립투스 (모두 IaaS 형태) - 빅데이터 정의 : 대규모 데이터로부터 가치를 추출하고, 데이터의 빠른 수집,
    발굴 분석을 지원할 수 있도록 고안된 차세대 기술 및 아키텍처
  • 빅데이터의 3대 요소 : 볼륨 (규모), 속도, 다양성 (정형, 반정형, 비정형) - 하둡 : 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크
    분산 파일 시스템인 HDFS에 데이터를 저장하고,
    분산 처리 시스템인 맵리듀스를 이용해 데이터를 처리
  • 임베디드 시스템 : 모바일, 스마트 TV, IVI - 모바일 정의 : 스마트폰의 OS란 스마트폰을 구성하는 하드웨어 부품을 효율적으로
    관리 및 구동하게 하며, 사용자와의 편리한 의사소통을 위해
    만들어진 소프트웨어 플랫폼
  • 리눅스 기반 공개형 운영체제 : 마에모, 모블린, 미고, 리모, 타이젠 (인텔+삼성),
    iOS, 안드로이드 (자바, Kotlin 언어, ART 사용)
    +) Bada OS, QNK
  • 스마트 TV 정의 : 텔레비전에 인터넷 접속 기능이 결합된 다기능 TV
  • 스마트 TV 운영체제 : 타이젠, 웹 OS
    타이젠 : 리눅스 커널 기반, 삼성전자, 인텔, 파나소닉 공동 개발, IoT 강점
    웹 OS : 팜이 개발, HP가 인수, LG전자가 인수, 멀티태스킹 편리
  • IVI 정의 : 정보 전달에 오락성을 가미한 시스템, 차량용 인포테인먼트
  • IVI 특징 : 운전자 편의성 및 안전성을 증대 - GENIVI : 리눅스 운영체제 기반의 표준화된 자동차용 IVI 플랫폼
    BMW 등 유럽, 북미 자동차 OEM과 자동차 부품업체들을 중심으로
    결성된 오픈소스 기반 인포테인먼트 SW 플랫폼 구축을 위한
    차동차 산업 표준 협의체
    필기 (GaGa-Kim)
  • OSI 7 모델과 TCP/IP 모델
    : ISO가 서로 다른 시스템 간의 통신을 허용하기 위한 프로토콜 지침서, OSI 참조 모델은 네트워크가 제공하는 기능을 7개의 계층으로 나누어
    각 계층의 기능과 프로토콜을 정의, TCP/IP는 다양한 프로토콜의 집합체
  • OSI 7 모델과 TCP/IP 모델
    OSI 응용, 표현, 세션 계층 = TCP/IP 응용 계층
    : 사용자에게 유저 인터페이스를 제공하고, UI로 데이터를 생성
    HTTP, Telnet, NFS, SSH (응용)
    : 부호화, 압축, 암호화 (표현)
    : 종단 간 애플리케이션의 연결 설정, 유지 해제 (세션)
    → 데이터 캡슐화 단위 : 데이터 또는 메시지
    OSI 전송 계층 = TCP/IP 전공 계층
    : 종단 간 연결, 논리적인 통로 제공
    TCP, UDP (전송)
    → 데이터 캡슐화 단위 : Segments
    OSI 네트워크 계층 = TCP/IP 인터넷 계층
    : 논리적인 주소를 사용, 경로 관리, 최적 경로 결정
    ICMP, ARP, IP, RARP, IGMP (네트워크)
    → 데이터 캡슐화 단위 : Packets
    OSI 데이터링크, 물리 계층 = TCP/IP 네트워크 엑세스 계층 (네트워크 인터페이스)
    : 데이터 전송을 위한 형식 결정, 오류 검출 (데이터링크)
    이더넷, 토큰링, CSMA/CD, CRC
    → 데이터 캡슐화 단위 : Frames
    : 물리적인 연결, 전기적, 기계적, 기능적 절차적인 수단 제공 (물리)
    → 데이터 캡슐화 단위 : Bits - 계층별 프로토콜 : 형식, 의미, 순서
    형식 (= 문법, 구문) : 데이터 포맷 (형식), 부호화 및 신호 레벨
    의미 : 특정 패턴 해석 방법 및 동작 결정
    순서 : 속도 일치 및 순서 제어
    인터넷/네트워크 계층 프로토콜 : IP, ICMP, IGMP, ARP, RARP
    IP : 송신 호스트가 패킷 교환 네트워크에서 정보를 주고받는데 사용하는 규악
    TCP에 의해 패킷으로 변환된 데이터를 데이터 링크에 전달,
    비신뢰성, 비연결형 서비스 지원
    ICMP : IP 전달에 대한 다양한 메시지를 전달하기 위한 프로토콜,
    오류 상황에 대한 보고, 예상치 못한 상황이 발생할 경우 이를 알림
    IGMP : 멀티캐스팅, 그룹 제어 수행
    ARP : IP 주소를 물리적 하드웨어 주소로 대응시키기 위해 사용하는 프로토콜
    RARP : 하드웨어 주소를 기반으로 IP 주소를 변환
    전송 계층 프로토콜 : TCP, UDP
    TCP : 연결 지향, 신뢰할 수 있는 방법,
    3-Way Handshaking 과정으로 연결 (SYN → ACK/SYN → ACK),
    4-Way Handshaking 과정으로 해제
    FTP, Telnet, SMTP, DNS, HTTP, POP 등이 TCP 계열 프로토콜
    UDP : 비연결 지향, 비신뢰성, 매우 빠른 전송 속도,
    DNS, BOOTP, DHCP, TFTP, SNMP 등이 UDP 계열 프로토콜
    응용 계층 프로토콜 : SMTP, POP, Telnet, SSH, FTP, HTTP,
    SNMP, TFTP, DHCP
    SMTP : 전자 우편을 송신할 때 사용, 포트번호 25
    POP : 전자우편을 수신, 보관하기 위해 사용, 포트번호 110
    Telnet : 원격지 컴퓨터 접속 지원 인터넷 표준 프로토콜, 포트번호 23
    SSH : Telnet의 보안 기능을 강화, 암호화 전공, 포트번호 22
    FTP : 대량의 데이터를 고속으로 전송, 익명 FTP 계정 가능, 포트번호 20, 21
    HTTP : WWW를 이용 시 서버와 클라이언트 간의 정보 교환, 포트번호 80
    SNMP : 네트워크 장비들을 관리 감시, 포트번호 161, 162
    TFTP : FTP보다 단순화된 파일 전송 프로토콜, 포트번호 69
    DHCP : 유동 주소 체계를 사용하는 호스트들의 환경설정, 포트번호 67, 68
  • IP 주소와 도메인 : IPv4, 서브넷팅, IPv6
    IPv4 주소체계 : 4개의 옥텟으로 구성되며, 각 옥텟은 8비트이므로 총 32비트,
    5개의 클래스로 구분되며, 네트워크 ID와 호스트 ID로 구성,
    서브넷 마스크는 네트워크 부분과 호스트 부분을 구분해주는 값
    루프백 주소 : 127.0.0.0~127.255.255.255
    A 클래스 사설 IP 주소 : 10.0.0.0~10.255.255.255
    B 클래스 사설 IP 주소 : 127.16.0.0~172.31.255.255
    C 클래스 사설 IP 주소 : 192.168.0.0~192.168.255.255
    서브넷팅 : 특정 네트워크를 여러 개의 네트워크로 분리해 IP 주소 부족 현상 해소
    네트워크 ID 비트수를 늘리고 호스트 ID 비트수를 줄이는 것, 늘어난 네트워크 ID 비트는 서브넷 ID라고 불림
    IPv6 주소체계 : 16진수 8자리로 표현, 128비트로 자동 설정 주소 방식,
    확장 필드로 암호 및 인증, QoS 관련, 보안 기능 추가

3) 인터넷 서비스의 종류

  • WWW 서비스 : HTTP 프로토콜을 기반으로 멀티미디어와 하이퍼텍스트를 통합한
    정보 검색 시스템,
    인터넷에 연결된 전 세계 컴퓨터의 모든 문서들을 언제 어디서든
    다양한 컴퓨터 환경에서 검색이 가능하게 해줌,
    CERN에서 시작, 브라우저 필요, 분산 클라이언트-서버 모델 기반

  • 메일 서비스 : 컴퓨터 사용자끼리 편지를 주고받는 서비스
    MTA : 메일 서버에 SMTP를 사용하여 메일 전달
    MUA : 메일을 작성하고 읽는 사용자 인터페이스
    MDA : 수신자의 메일박스에 메일 전달
    송신은 SMTP (25번), 수신은 POP3 (110번), IMAP4 (143번) 이용

  • FTP 서비스 : TCP/IP에 의해 제공되는 호스트 간의 파일 복사를 위한 프로토콜
    패시브 모드 : FTP 서버 지정 포트로 클라이언트는 트래픽 송신
    액티브 모드 : 클라이언트가 요청한 포트로 FTP 서버는 트래픽 송신
    익명의 로그인을 허용
    open, close, ascii, binary, (m)get, (m)put, hash, delete - DNS 서비스 : 호스트 이름을 기반으로 IP 주소로 변환
    또는 IP 주소를 기반으로 호스트 이름을 변환시켜 주는 프로토콜
    최상위 도메인 : org, net, com, edu, gov, mil, int, kr, jp, fr
    서브 도메인 : ac, co, re, go
    DNS 설정 정보나 질의응답을 점검하기 위해 nslookup과 dig 사용

  • Telnet과 SSH 서비스 : 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령 실행,
    파일 복사 등을 제공하는 서비스,
    Telnet은 정보를 Byte 스트림 형식으로 전송,
    SSH는 암호화 기법을 사용해 전송 (안전한 데이터 전송)
    telnet을 이용해 특정 인터넷 서비스의 활성화 상태 확인
    : telnet 서버 IP 주소 포트번호 / telnet 도메인명 포트번호
    #telnet [hostname] (d, a, l user, port)
    #ssh [옵션][서버IP주소|도메인명] 또는 ssh [계정자명@서버IP주소] (a, c, p, l) - NFS : 네트워크 기반에 다른 시스템과 파일 시스템을 공유하기 위한
    클라이언트/서버 프로그램,
    원격지의 서버 특정 디렉터리를 로컬 시스템의 하위 디렉터리처럼 사용
    RPC프로토콜 기반으로 작동되므로, 해당 서비스를 해주는 portmap 데몬이
    먼저 수행되어 있어야만 서비스가 실행

  • RPC : 동적으로 서비스와 포트를 연결할 /때 사용하는 방법
    정적으로 구성될 때는 /etc/services 파일을 참조,
    동적으로 포트를 할당받아 사용할 땐 RPC인 rpcbind를 사용

    4) 인터넷 서비스의 설정

  • 네트워크 인터페이스 종류 : lo, eth, ppp, dl, plip, sl lo : 루프백 인터페이스 (자기 자신, 127.0.0.1)
    eth : 이더넷 인터페이스
    ppp : PPP 인터페이스 (WAN 구간과 연결, 전화라인과 연결)
    dl : D-Link-DE-600 인터페이스
    plip : 병렬 라인 인터페이스
    sl : SLIP 인터페이스

  • 네트워크 수동 설정 방법 : 컴파일된 인터페이스 모듈을 커널에 적재 (수동, 자동)
    수동 : /sbin/lsmod 현재 적재되어 있는 모듈들의 정보 확인
    /sbin/insmod 적재하고자 하는 모듈을 삽입
    /sbin/rmmod 현재 적재되어 있는 모든 모듈을 제거
    /sbin/modprobe 모듈의 적재 및 제거 (/sbin/modprode –r 모듈 제거)
    자동 : 부팅 시 자동으로 적재할 정도가 담긴 /etc/modprobe.conf 파일을 읽어옴 - 네트워크 설정 파일
    /etc/sysconfig/network
    : 네트워크의 기본 정보가 설정되어 있는 파일
    NETWORKING, HOSTNAME, GATEWAY, GATEWAY DEV
    /etc/sysconfig/network-scripts/ifcfg-ethX
    : 네트워크 환경 설정 정보가 저장 (IP, 서브넷마스크, 게이트웨이, DNS 정보들)
    DEVICE, BOOTPROTO, BROADCAST, IPADDR, NETMASK, NETWORK,
    ONBOOT, TYPE +) HWADDR, GATEWAY
    ethX에서 X는 0, 1, 2등 이더넷 카드번호가 들어감
    /etc/reslov.conf
    : 기본적으로 사용할 도메인명과 네임서버를 설정 (DNS 서버 설정),
    실제 DNS 서버주소가 기록되어 지정하는 파일 (domain, nameserver)
    /etc/hosts
    : IP 주소와 도메인 주소를 1:1로 등록하여 도메인에 대한 IP 주소를 조회
    IP 주소와 호스트명을 매칭할 때 사용하는 파일 (IP 주소 도메인명)
    /etc/host.conf
    : DNS 서비스를 제공할 때 먼저 이 파일을 검사하여 파일의 설정에 따라 서비스
    DNS 환경 설정을 컨트롤하는 파일

  • 네트워크 설정 : IP 주소 설정, 라우팅 테이블 설정 및 관리
    IP 주소 설정

  1. 네트워크 설정 파일로 주소 설정
    : /etc/sysconfig/network 또는 /etc/sysconfig/network-scripts/ifcfg-ethX로
    IP 주소를 할당 (재시작이 필요하며, 재부팅 시에도 계속 적용)
  2. 명령어를 이용한 주소 설정
    : 명령어 ifconfig를 이용하여 IP 주소를 할당 (즉시 반영)
    ifconfig 인터페이스명 netmask [broadcast ][up|down] 3. 유틸리티를 이용한 주소 설정
    : netconfig, system-config-network, redhat-config-network 등의 다양한
    유틸리티 이용하여 주소를 할당
    +) nm-connection-editor : X 윈도 기반의 네트워크 주소 설정 (GUI 기반)
    라우팅 테이블 설정 및 관리 : 명령어 route를 이용해 라우팅 테이블 설정 및 확인
    route add default gw dev <인터페이스명>
    (게이트웨이 주소가 바뀌게 됨) - 네트워크 관련 명령어
    TCP/IP 주소 설정 정보 확인 : ifconfig, nslookup
    ifconfig : 네트워크 인터페이스 구성을 위한 설정 또는 확인
    (이더넷 인터페이스명, 루프백 인터페이스명, eth0인터페이스 MAC주소,
    IP 주소, 브로드캐스트주소, 서브넷 마스크, 인터페이스의 운영상태,
    송신패킷 수 TX, 수신패킷 수 RX) nslookup : 도메인 네임서버에게 특정 호스트에 대한 정보를 질의
    #nslookup [-type=레코드][호스트명] 네트워크 경로 상태 확인 : ping. traceroute
    ping : 특정 호스트 또는 네트워크 장비까지의 통신 가능 여부를 점검, ICMP 기반
    traceroute : 어떤 통신경로를 걸쳐 패킷이 전달되었는지를 확인,
    목적지까지의 홉 수 및 장애 구간을 확인
    네트워크 연결 상태 확인 : netstat
    netstat : 전송 제어 프로토콜, 라우팅 테이블, 네트워크 인터페이스, 네트워크 프로토콜 통계 및 네트워크 연결 상태를 확인
    #netstat [옵션] (r, e, n, i, s, c, l, a, p) 라우팅 테이블 확인 : route
    route : 라우팅 테이블 확인 및 변경, 시스템에 설정된 게이트웨이 주소 값 확인
    NIC 상태 확인 : ethtool, mil-tool, arp
    mil-tool : 네트워크 인터페이스의 속도와 전송모드 등을 확인
    ethtool : 네트워크 인터페이스의 물리적 연결 여부를 확인할 수 있는 명령어
    mil-tool보다는 상세한 네트워크 인터페이스의 상태 정보 확인
    (네트워크 인터페이스 카드 설정)
    arp : arp 테이블 확인, 추가, 삭제
    #arp [옵션] (a, s IP 주소 MAC 주소)

📌 문제

profile
Notion으로 이동 (https://24tngus.notion.site/3a6883f0f47041fe8045ef330a147da3?v=973a0b5ec78a4462bac8010e3b4cd5c0&pvs=4)

2개의 댓글

comment-user-thumbnail
2023년 2월 12일

wow.... Awesome^.^

1개의 답글