2013년 9월 5일 목요일

보수교육 받다. 내용 괜찮네.

Part 1 리눅스 일반
  
Chapter 1 리눅스 개요
  Section 1 리눅스의 개념 과 특징

  [1] 리눅스의 개념

  리눅스는 1991 필란드의 헬싱키 대학의 리누스 토발즈(Linus Benedict Torvalds)라는 학생에 의해 만들어진 컴퓨터 운영체제
  이며, 1969년에 탄생한 unix를 사용하던 필란드의 헬싱키 대학의 앤디 타넨바움교수가 학생들의 교육 목적으로 최초의 PC급
  유닉스인 minix 만들었는데 이를 배운 리누스 토발즈가 취미의 일환으로 시작한 프로젝트가 linux 임

  [2] 리눅스의 특징

   완벽한 멀티유저, 멀티태스킹 시스템
   뛰어난 네트워킹(완벽한 TCP/IP 구현)
   실시간 페이지 적재기능(Demand Loading Executables)
   CPU 최적화
   효율적인 가상 메모리
   유연한 사용자 환경
   가상콘솔
   POSIX 완벽한 호환
   동적 공유 라이브러리 (Shared Libraries) 제공

  Section 리눅스 시스템의 디렉토리 구조

  [1] 리눅스에서는 디렉토리를 하나의 파일로 인식

   리눅스의 디렉토리 구조
    - 리눅스 디렉토리는 트리 구조의 형식으로 되어있다.
    - 최상위는 루트(/) 파일시스템을 중심으로 하위 디렉토리 /usr, /var, /boot, /bin, /etc, /home, /sbin, /proc, /lib.. 등이
      존재한다.

  [2] 각 디렉토리의 종류와 특징

   리눅스는 트리구조의 형식으로 되어있으며 다음과 같은 디렉토리 등으로 구성
    - / : 최상위에 있는 디렉토리, 루트 디렉토리라 한다.
    - /bin : 기본 실행 명령어가 들어 있는 바이너리 디렉토리, 사용자 명령어 들이 들어 있다.
    - /boot : 시스템 부팅 필요한 파일들이 들어있다. 다시 말해 시스템을 부팅시키는 커널이미지와 부팅 정보 파일이 있다.
      /etc/lilo.conf에서 지정한 커널부팅 이미지 파일(vmlinuz)이 들어 있다.
    - /dev :플로피디스크, 하드디스크, CD-ROM 드라이브 등의 각종 장치 파일들을 모아놓은 곳이다.
    - /etc : 시스템 관리 필요한 명령어와 설정 파일들이 들어있다.
    - /home : 사용자들이 사용할 있는 독립적인 공간으로 생성되는 계정의 홈이 위치된다. 하지만 계정이 home안에만 있는
                   것은 아니다.
    - /lib : 각종 라이브러리가 저장된 디렉토리로 커널 모듈도 이곳에 있다.
    - /lost+found : 파일시스템 복구를 위한 디렉토리이다.
    - /mnt : 마운트될 파일시스템의 마운트 포인터가 되는 부분으로 시스템에 설치된 입출력 장치들과 연결 시 해당 디렉토리에
                위치한다.
    - /opt : 추가된 응용 프로그램 패키지가 설치되는 디렉토리이다.
    - /root : 루트 사용자의 디렉토리로 루트 사용자만 접근할 수 있다.
    - /usr : 시스템이 정상적으로 가동되는데 필요한 모든 명령들과 라이브러리들, 매뉴얼 페이지들이 있다.
    - /var : 자료 데이터가 변경될 저장되는 디렉토리이다.
    - /tmp : 장치에 필요한 socket 및 log 파일들이 위치하고 시스템에 필요한 임시 파일들을 만들고 삭제하는 디렉토리이다.
    - /proc : 시스템 관리를 목적으로 메모리 상에 만들어 놓은 가상 디렉토리로, 디렉토리 안의 파일들은 현재 시스템
                 설정을 보여준다.
    - /sbin : 시스템 점검 복구명령, 네트워크 인터페이스 설정명령, 시스템 초기 종료명령, 커널 모듈 등 시스템 관리에
                 관련된 실행 파일들이 포함되어 있다.

  Section 리눅스 관련용어

  [1] GNU

   Gnu is Not Unix 로써 유닉스와 비슷하면서도 강력한 운영체제를 만들고자 하는 프로젝트를 의미한다.
    - GNU 프로젝트의 목적 : GNU 프로젝트는 소프트웨어의 상업화에 반대해 프로그램을 자유롭게 사용 하도록 하자는 운동으로
                                       리눅스는 바로 대표적인 성과물이다.
    - 리차드 스톨만 : GNU프로젝트를 시작했으며 FSF(Free Software Foundation) 조직화한 사람이다.

  [2] GPL과 Opne Source Software

   GPL(General Public License) FSF에서 GNU 정신에 입각하여 오픈 소스프로그램에 적용시킨 라이센스이다.
   오픈소스 소프트웨어는 프로그램의 소스 코드까지 공개되어 있는 소프트웨어를 의미한다. Apache, Perl 등이 이에 해당된다.



Chapter 2 리눅스 기본 명령어
  Section 1 사용자 생성 및 계정 관리

  [1] 사용자 생성을 하기 위해 필요한 리눅스 기본명령어

   외부명령어 : /bin 안에 파일의 형태로 존재하며 사용하는 명령 cd /bin 안에 들어있지 않은 내부 명령어이다.
   내부명령어 : 쉘에 내장되어 있는 명령어로 쉘이 명령어를 이해한다.

  [2] 사용자 계정 생성 기본 설정 파일

   /etc/default/useradd 파일
   /etc/login.defs 파일( 셰도우 패스워드 사용시)
    - 사용자 계정은 시스템에 실제적으로 접근하는 주요한 방법이다. 이러한 계정들은 사용자와 환경을 분리시키고, 시스템의
      장애를 일으키는 거나 다른 사용자들로부터 보호하고, 사용자들이 다른 사용자들과 상관없이 자신의 환경을 설정하게 한다.
    - 모든 사람들이 시스템에 접근할 때 그 들의 유일한 사용자 계정으로 접근해야 한다. 그렇게 함으로서 누가 무엇을 하는지
      알아내고, 다른 사용자들의 설정을 고치거나 다른 사용자들에게 온 메일을 읽는 것을 방지한다.
    - 각각의 사용자들은 다른 (shell)이나 편집기, 바인딩(key binding) 언어(language) 사용해서 그들의 시스템 사용
      목적에 맞게 자신만의 환경을 설정할 수 있다.

  [3] 사용자 계정 생성 및 암호 설정에 대한 설명 및 명령어를 제시한다.

   사용자 계정 생성 및 암호 설정
    - 사용법: useradd [옵션] 계정명

useradd 옵션
  -c  comment
  사용자 이름 또는 정보

  -d  home_dir
  사용자 계정 디렉토리

  -e  expire_date
  사용자 계정 유효기간

  -f  inactive_time
  비활성 기간

  -g  initial_time
  기본 그룹

  -G  grout[,....]
  다중 그룹

  -s  shell
  로그인 기본셀

  -u  uid
  사용자 계정 uid
   사용자 계정 변경 및 계정 삭제
    - 계정 변경 : usermod 이용한 계정자의 디렉토리, 유효기간, 기본그룹 변경이 가능하다.
    - 계정 삭제 : userdel 계정명
        usermod [옵션] 계정명
usermod 옵션
  -c  comment
  사용자 이름 또는 정보

  -d  home_dir
  사용자 계정 디렉토리

  -e  expire_date
  사용자 계정 유효기간

  -f  inactive_time
  비활성 기간

  -g  initial_time
  기본 그룹

  -G  grout[,....]
  다중 그룹

  -s  shell
  로그인 기본셀

  -u  uid
  사용자 계정 uid

  Section 2 디렉토리 및 파일

  [1] 위치 확인 명령어에 대한 내용을 먼저 설명한다.

   pwd : 현재 디렉토리의 위치를 확인
   cd : 작업 중인 디렉토리의 위치 변경 (cd.: 현재 디렉토리, cd ..: 상위 디렉토리)
   tty : 현재 로그인되어 있는 터미널의 장치 이름 보기
   man : 주어진 명령이나 유틸리티의 매뉴얼을 출력

  [2] ls 명령 사용법 및 그에 수반하는 옵션에 대해 설명한다.

   ls 명령 사용법
   ls [option] .... [file_name]
   option

  -a
  dot(.)으로 시작하는 파일을 포함한 모든 파일 출력
  -c
  변경시간 순서로 표시
  -C
  다중 column으로 표시
  -d
  디렉토리를 이름만 표시(디렉토리 내용은 표시 )
  -F
  이름 끝에 파일 형식 표시(* / = @)
  -l
  long format 으로 표시
  -r
  역순으로 표시

  [3] 파일 내용 출력하거나 텍스트 파일 생성하는 명령어

   cat
    - 사용법 : cat [option] 파일
   리다이렉션
    - > (n) : n 파일이나 하드웨어 장치로 여기에 명령의 결과 출력한다.
    - (n) < : n 이라는 파일이나 하드웨어 장치 안으로부터 명령의 입력.
    - >> (n) : 출력방향이 n 이라는 파일일 출력된 결과 내용이 파일의 부분에 추가된다.

  [4] 파일 생성 및 복사 관련 명령어와 이동 및 삭제 관련 명령어

   파일 생성 및 복사 관련 명령어
    - touch : 새로운 파일 생성 기능 / 파일의 액세스 시간이나 갱신 시간을 수정
    - mkdir : 디렉토리 생성 / usage : mkdir directory_name
    - cp : 하나 또는 이상의 파일이나 디렉토리 복사 / usage : cp source destination
   파일의 이동 삭제 관련 명령어
    - mv : 파일 이동, 파일 변경 / mv source destination
    - rm : 파일 삭제 / rm file_name
    - rmdir : 비어있는 디렉토리를 삭제하는 명령어 / rm [option] 파일명

  [5] 파일 내용의 전체 혹은 부분 출력에 관련된 명령어

   파일 내용 전체 출력 관련 명령어
    - more : 주어진 파일의 내용을 화면 단위로 출력. 파일의 내용이 많을 경우 이용하면 편리하다.
    - less : more 비슷한 명령어로 페이지씩 문서를 보여주며 문서의 앞으로 이동 가능하다.
    - pg : more, less 보다 좀더 방대한 양의 파일 내용을 유용.
   파일 내용 부분 출력 관련 명령어
    - head : 파일의 부분만 필요 있을 경우 사용 / 파일의 머리 부분을 보는데 사용
    - tail : 파일의 꼬리 부분을 보는데 사용

  [6] 특정한 파일을 찾고자 한다고 할 때

   특정한 파일을 찾고자 하는 방법
    - 와일드카드 이용 검색 방법 : # find . -name '*.txt'
    - 마지막 수정한 일수로 검색 : # find . -mtime +5 -print / # find . -type f -atime -20 -print
    - 퍼미션을 이용한 검색
        # find . -perm -521 -print / # find . -type d -perm 777 -print / # find . -user root -perm -4000 -print

  [7] 파일 비교 명령어와 정보 추출 명령어

   파일 비교 명령어
    - cmp
        유사한 파일을 비교하여 처음으로 틀린 문자가 나타나는 위치만을 출력
        바이트 단위 파일로 비교.
    - comm : 단위 파일로 비교하는 명령어
    - diff : 표본이 되는 문자는 번째 파일이다.
   파일 정보 추출하는 명령어
    - cut : 파일에서 특정 필드를 추가해서 가공해야 하는 경우 사용하는 명령어
    - wc (word counter)
        파일의 정보를 추출하는 명령어
        파일 내의 단어 , 라인 등의 정보를 제공한다.

  [8] 특정 파일의 내용을 검색하려고 할 때 관련 명령어와 옵션

   grep
    - 특정 단어, 문자열, 문장을 포함하는 파일 탐색
    - usage : grep [option] pattern files
    - 파일의 수가 많아 어떤 파일이 특정 문자나 문구를 포함하고 있는지 알고자할 때 유용하다.

  [9] 파일 압축 및 Archive 관련 명령어

   tar (tape archive)
    - 파일과 디렉토리를 하나의 파일로 묶어주는 아카이브를 생성하는 유틸리티
    - 사용법 : tar [option] 아카이브명.tar 디렉토리 및 파일
   백업할 파일의 리스트를 작성 이를 이용한 백업하기
    - cat > list : 백업할 파일의 리스트를 기록한 ctrl + D
   작성한 tm트를 tar 묶기
    - # tar -cvf pro.tar 'cat list'
   gzip gunzip
    - 리눅스 파일중 .tgz 또는 .tar.gz으로 된 파일들은 gzip 유틸리티로 압축하는데, gzip 유틸리티는 파일을 압축하고 푸는데
      사용되는 GNU 압축 유틸리티이다. gzip에 의해서 압축되는 파일들은 .gz 확장자를 갖게 된다.

  [10] 리모트 디렉토리의 마운트와 언마운트

   리모트 디렉토리의 마운트일 때에 대해 설명한다.
    - mount : 사용법(mount special-device mount-point)
        플로피 디스크 경우 : mount /dev/fd0 /mnt/floppy
        cd-rom 경우 : mount -t iso9660 /dev/cdrom /mnt/cdrom
        ->파일 시스템 타입이 iso9660 cd-rom(/dev/cdrom) /mnt/cdrom에 마운트 하라는 명령어이다.
        멀티 OS window setting 되어 있는 경우의 마운트 방법 : mount -t iso9660 /dev/cdrom /mnt/cdrom

  우선 마운트 포인트 디렉토리를 생성해줘야 한다. : mkdir /mnt/win
  mount -t vfat /dev/mnt /mnt/win

   리모트 디렉토리의 언마운트
    - umount : 사용법(umount special-device(또는 mount-point))
        umount /dev/floppy (또는 /mnt/floppy) 플로피일 경우
        umount /dev/cdrom (또는 /mnt/cdrom) cd-rom일 경우

  [11] 그 밖의 기타 명령어

   Mtools 정의와 사용법
    - Mtools는 리눅스에서 DOS로 통하는 유틸리티의 모음이다.
    - 모든 명령어 앞에 m자를 붙인 dos 명령어와 같이 쓰면 된다.
   명령어의 종류 : mcd, mcopy, mdel, mdir, mformat, mmd, mrd, mren, ...
   네트워크 서비스 이용을 위한 사용자 명령어에 대해 설명한다.
    - telnet
        사용법 : telnet hostname 또는 IP address port(port 번호 생략, 기본 텔렛 포트는 23포트로 접근)
    - ftp
        사용법 : ftp hostname 또는 IP address
        명령어 : dir, put, size, mkdir, pwd, get, mput
    - ifconfig : 네트워크의 인터페이스 설정 또는 확인하는 명령어
        네트워크 인터페이스 확인
        네트워크 인터페이스 활성 비활성
        네트워크 인터페이스 설정
        사용법 : ifconfig 인터페이스 이름
    - ping : 원격의 호스트의 연결 상태 확인
        사용법 : ping [option] 대상 IP
    - nslookup : 특정 호스트를 찾기 위해 사용하는 명령어로서 호스트가 속한 네임 서버에 질의하는 네임서버 질의 도구
    - netstat
        네트워크의 연결 상태를 확인하는 명령어
        형식 : netstat [-i] [-r] [-s] [-c] [-a]


Part 1 리눅스 운영 및 관리
  
Chapter 1 파일시스템 관련 명령어
  Section 1 파일 시스템 관리

  [1] 파일의 퍼미션

   -rw-rw-r-x 1 icbs project 1024 Aug 13 10:10 client.c
    - r read 읽기가 가능하다는 것을 나타내며, w write 쓰기가 가능하다는 것을 나타내며, x는 execute로 실행이
      가능하다는 것을 나타낸다.

  [2] 대표적인 명령어의 사용방법

   chmod (파일 권한 바꾸기) : 각각의 파일에 주어진 접근권한을 바꿀 사용하는 명령어
   chown (파일 소유자 변경) : 파일의 소유자를 수정해야 사용하는 명령어
    () # drwxrwxrwx 2 icbs project 1024 Aug 13 10:10 client.c

파일
속성
소유자
(user)
권한
그룹
(group)
권한
타인
(others)
권한
링크수
소유자
(user)
그룹
(group)
파일
사이즈
작성월
작성일
시간
파일명
d
rwx
rwx
rwx
2
icbs
project
1024
Aug
13
10:10
client.c
   umask (사용자 파일생성 매스크를 모드로 설정)
   chgrp (파일, 디렉토리가 속했던 그룹 바꾸기) : 파일의 소유자나 파일이 속한 그룹을 수정해야 사용하는 명령어
   chsh (사용자가 사용하고 있는 로그인 바꾸는 명령)

  [3] 리눅스의 파일시스템

  현재 리눅스가 지원하는 파일시스템들 주목할 만한 몇가지 파일시스템은 ext, ext2, minix, xiafs, umsdos, hpfs, OS/2,
  msdos, sysv, isofs, CD-ROM 등이다. 여기에 최근에 주목받고 있는 파일시스템인 ext3 저널링 파일시스템까지 다양하다.

  [4] 파일시스템의 종류

  리눅스에서 지원하는 ext, ext2, minix, xiafs, umsdos, hpfs, OS/2, msdos, sysv, isofs, CD-ROM 등의 간략한 특성에 대해
  설명한다.

  [5] 파일시스템 유지보수

   fsck : 손상되거나 훼손된 파일이 있는 파일시스템을 점검하는 명령어
   du : 현재 디렉토리를 포함하여 하위에 있는 디렉토리의 파일까지 한번에 보여주는 명령어
    - 권한 : 번째 소유자(user) 권한은 파일소유자가 가지는 파일에 대한 속성을 가르키며, 번째 그룹(group) 권한은
               소유자와 같은 그룹에 속한 사람들의 파일에 대한권한을 가르키며, 타인(others)권한은 소유자와 같은그룹에
               속한 사람을 제외한 모든 사람들의 파일에 대한 권한을 나타낸다. 권한 설정시 아래의 표와 같이 문자 또는 숫자(8진수)
               로서 의미부여가 가능한데 소유자가 읽기, 쓰기, 실행이 가능하게 하려면 자리의 weight 값을 모두 더하면 된다.
    () client.c

소유자(user)


그룹(group)


타인(others)


4
2
1
4
2
1
4
2
1
r
w
x
r
w
x
r
w
x
  예를 들어 위의 client.c 파일에 대해 소유자는 읽기, 쓰기, 실행이 가능하도록 하고 같은 그룹에 속한 사람들에게는 읽기, 실행을
  허용하고, 타인들에게는 단순히 실행만 가능하도록 권한을 설정하고 싶다면 아래와 같이 설정해 주면 될 것이다.
    () # chmod 751 client.c

소유자(user)


그룹(group)


타인(others)


4
2
1
4
2
1
4
2
1
r
w
x
r

x


x
  만약 위와 같이 설정된 파일의 속성을 문자형태를 사용하여 바꾸고자 한다면 다음과 같이 할 수 있다.
    () 751 mode 설정된 client.c 파일을 그룹에 속한 사람들도 쓰기가 가능하도록 고치고 싶을 때
        # chmod g+w client.c         사용자는 u(user), 그룹은 g(group), 타인은 o(other), 모두 a(all) 속성을 추가하고 싶으면 +,
        삭제하고 싶으면 - , 지정하고 싶으면 = 을 쓰면 된다.

  
Chapter 2 Shell
  Section 1 Shell의 환경설정

   이란 무엇인가?
      우리가 사용하는 프로그램은 명령어의 집합체를 의미한다. 이러한 형태의 프로그램이 실행되기 위해서는 CPU 적절하게
      전달되고 그에 따른 부가적인 작업들을 조정해 있는 능동적인 매개체가 필요한데 이 역할을 수행하는 프로그램을
      셀(Shell)이라고 한다.


   이란 무엇인가?
    - 셀의 환경설정 방법과 주요 환경변수의 역할
        환경설정의 의미 : 로그인 프로세스의 일부는 환경작성이다. 모든 Linux 프로세서(실행중인 프로그램을 지칭함)는 프로그램
                                 자체와는 다른 고유한 환경을 갖는다. 셀 환경이라고 부르는 Linux 환경은 수많은 변수의 값으로 이루어짐
                                 이들 변수와 값을 사용하여 같은 실행프로그램이 환경의 모습을 판별할 수 있다. 환경은 예를 들면
                                 사용자가 사용하는 , 디렉토리 및 사용중인 터미널의 유형을 의미한다.
                                 이러한 변수의 상당수는 로그인 프로세스 중에 정의되며 변경할 수 없거나 변경해서는 안 된다. 변수가
                                 읽기 전용으로 표시되어 있지 않으면 사용자가 원하는 만큼 많은 변수를 추가하거나 변경할 수 있다.
        주요 환경변수의 의미 설정방법

변 수
설 명
  HOME=/home/login
  HOME 사용자가 시작하는 위치인 디렉토리를 설정한다. 왼쪽에서 login 부분을
  로그인 ID 대치하게되면 HOME /home/로그인 ID 정의된다.
  LOGNAME=login
  LOGNAME 자동으로 로그인 ID 동일하게 설정된다.
  PATH=path
  path 옵션은 셀이 명령에 대해 찾는 디렉토리 목록을 표현한다.
  PATH=/usr:/bin:/usr/local/bin 과 같이 설정할 수 있다.
  PS1=prompt
  PS1 프롬프트의 모습을 정의하는 1 프롬프트이다. 프롬프트를 특정한 것으로
  설정하지 않으면 프롬프트는 달러 기호($) 이다. 원하는 경우 보다 독창적인 것으로
  프롬프트를 설정할 있다. 예를 들어, PS1="linux #" 명령어 프롬 프트로서
  linux # > 표시한다.
  PWD=directory
  PWD 자동으로 설정된다. 이것은 사용자의 현재 위치를 나타 내어주는 역할을 한다.
  예를 들어 PWD (명령줄에 echo $PWD 입력하여) 점검하고 Linux /home 표시
  하면 사용자는 현재 /home directory 밑에 있는 것이다. 다시 말하면 pwd 명령은 현재의
  디렉토리를 표시한다.
  SHELL=shell
  SHELL 사용자 셀로서 기능하는 프로그램의 위치를 식별한다. 예를들어 .profile 또는
  .login 파일에서 SHELL을 SHELL=/bin/csh로 설정 csh을 로그인 셀로 만들 수 있다.
  TERM=termtype
  이 변수는 터미널 데이터베이스에 의해 지정되는 대로 터니널 유형의 이름을 설정한다.
  예를 들어 .profile 또는 .login 파일에서 TERM=vt100 과 같이 TERM을 설정할 수 있다.



Chapter 3 프로세서 관리
  Section 1 프로세서의 개념 및 유형

  [1] 프로세스의 개념

  프로그램은 프로세스가 가능성을 간직한 채 디스크에 잠들어 있는 정보를 의미하며 프로세스는 그것이 활동하고 있는 상태를
  의미한다.

  [2] signal의 의미

  프로세스간의 통신 수단이 signal이라고 있다. 프로세스 통신이 막연하게 들릴지도 모르지만 사실은 단순한 개념이다.
  그것은 하나의 프로세스가 다른 프로세스에게로 메시지를 보내기 위한 수단이다. kill 프로세스를 죽이는 명령이 아니라
  signal 보내는 명령이다.

  [3] 일반적으로 사용되는 signal의 의미 및 종류


이 름
번 호
의 미
HUP
1
  Hangup ( 실행 종료. 로그 아웃하거나 모뎀 접속을 끊을 보내 진다.
INT
2
  Interrupt ( 실행 종료. CTRL-c 쳤을 보내진다.)
QUIT
3
  Quit ( 실행 종료. CTRL-\를 쳤을 보내진다.
KILL
9
  Kill ( 무조건 종료.)
SEGV
11
  Segmentation Violation (허가되지 않은 메모리 영역에 접근하였다.)
TERM
15
  Terminate (가능한한 정상 종료)
STOP
19
  무조건적으로 그리고 즉각적으로 정지
TSTP
20
  Stop( 실행을 정지후 다시 실행을 계속하기 위하여 대기, CTRL-z)
CONT
18
  Continue (STOP이나 TSTP 의해 정지된 프로세스가 다시 실행을 계속한다.)
  [4] 멀티태스킹에 따른 foreground, background & suspend

   foreground : 화면에 보여주면서 실행되는 상태(입력을 받아 들인다.)
   background : 화면에 보여주지 않으면서 실행되는 상태(입력을 받아 들이지 못한다.)
   suspend .: 메모리에 올라가 있지만 정지되어진 상태

  [5] 멀티타스킹 의 demon standalone 방식

   demon standalone : process 중에는 특별한 이름을 가지고 있는 것들이 있다. 중에서 deamon 백그라운드로 실행
                                   되면서 server 역할을 하거나 기능을 도와주는 process를 가르키는 말이다. 보통 booting시에 실행
                                   되는 process 메모리에 계속상주에 있으면서 client에게 service를 해준다. 서비스 요구가 빈번하거나
                                   항상 요구되어지는 서비스일 경우 이러한 방법으로 수행된다.

  [6] 프로세스 utility의 사용법

   pstree (프로세스 상관관계 알기) : 프로세스들간의 연결구조를 트리형식으로 출력한다.
   ps (프로세스 상태 알기) : 프로세스(Process)라는 것은 현재 실행되고 있는 프로그램들을 가리키는 말이다.
   top (CPU 프로세스 상황 보여주기)
      : top시스템의 프로세스 수가 얼마이고 몇 개의 프로세스가 돌아가고 있고 어떤 사용자와 데몬들이 있는지, CPU 상태는
        어떤지 등에 대한 정보를 실시간으로 보여준다. 그리고 실행 도중에 프로세스를 제어할 수 있다.
   kill (프로세스 죽이기)
      : 윈도우 운영체제를 사용하다 보면 간혹 특정 프로그램이 먹통이 되는 경우가 있다. 이러한 경우에 주로 ctrl + alt + Del 키를
        눌러 [프로그램 종료]창이 뜨면 종료하고자 하는 프로그램을 선택하고 [작업종료] 버튼을 눌러 해당 프로그램을 종료하게
        된다. 그러나 방법은 한번에 종료되진 않아서 번이나 반복해야 하는 경우가 간혹 있다. 이런 윈도우와는 달리 리눅스
        에서는 kill 명령어를 이용해 한번에 프로그램을 종료할 수 있다.
   nice (프로세스 우선 순위 변경하기)
      : 대부분의 시스템은 단지 하나의 프로세스가 실행되기보다는 많은 프로세스들이 동시에 실행된다. 이를 위해서는 각각의
        프로세스들에 우선 순위를 부여하여 프로세스를 관리하여야 한다. 또한 프로세스들의 우선 순위를 변경해야 될 필요가
        있을 사용하는 명령이 nice 이다.
   cron crontab
      : 정기적으로 명령이나 프로세스를 스케줄 할때 cron 프로그램을 사용한다. crontab 파일에 명령을 실행하려는 시간과 날짜를
        지정하면 되는데 시간은 , , , 또는 요일의 항목으로 지정할 수 있다.

  
Chapter 4 에디터
  Section 1 에디터의 종류 및 활용

  [1] pico 에디터

   피코에디터의 특징
    Pico에디터는 그리 많이 사용되는 에디터는 아니다. 리녹스 배포판의 버전의 낮았을 때는 다수의 사용자를 가지고 있었다. 원래
    에디터는 사용자의 개인적 취향이 많이 가미된 것이므로 Pico에디터도 많이 사용하는 것이다. Pico는 vi 나 emacs에 비해서
    상대적으로 매우 쉽다. pico 능숙하게 다룬다면 텔넷 작업 필요한 파일 편집 작업도 쉽게 할 수 있기 때문 에 vi와 emacs
    대신 Pico 먼저 배우는 것입니다. 먼저 아래와 같이 pico를 실행시켜보면 아래와 같은 초기 화면을 보게 될 것이다.

  [2] vi 에디터

   vi 에디터 : 현재 가장 많이 사용되고 있는 vi 에디터의 사용법에 대해 익숙해지도록 한다.
    - vi 에디터의 환경설정 : vi에디터에는 여러 가지 설정을 해 놓은 파일이 따로 있는데 /usr/share/vim/ 디렉토리에 vimrc라는
                                      이름으로 존재한다.

    - vi 의 사용법
        vi 에디터의 시작

  vi file
  vi 에디터를 시작하여 지정한 파일을 편집하는 메뉴
  vi -R file
  파일을 읽기 전용 (read-only)으로 사용하는 옵션
  view file
  파일을 읽기 전용 모드로 시작해서 편집한 다른 이름으로 저장할 사용
        종료 명령어

  :w
  편집한 파일을 저장하는 명령, w 뒤에 파일명을 쓰면 다른 이름으로 저장
  :wq
  편집중인 파일을 저장하고 종료
  :q!
  편집중인 파일을 저장하지 않고 종료
        불확실한 종료 되살리기

  vi -r
  되살릴 있는 모든 파일의 이름을 보여줌
  vi -r file
  vi 시작하고 나서 지정한 파일을 되살려줌
        화면상태 제어

  ^L
  화면을 다시 디스플레이
  :set nu, number
  편집중인 문서의 번호를 보여줌
  :set nonu or nonumber
  편집중인 문서의 번호를 보여주지 않음
        마지막으로 지운 내용 복사하기

  p
  화면을 다시 디스플레이
  P
  마지막으로 지워진 내용을 커서의 /아래에 삽입
  xp
  두 문자를 바꿈
  deep
  두 단어를 바꿈
  ddp
  두 줄을 바꿈
  u
  작업 내용을 이전으로 돌림
        패턴으로 검색하기

  /rexp
  지정된 정규 표현식에 대해 앞으로 이동
  /
  이전의 패턴에 대해 앞으로 검색을 반복
  ?rexp
  지정된 정규 표현식에 대해 뒤로 이동
  ?
  이전의 패턴에 대해 뒤로 검색을 반복
  n
  / 또는 ? 명령에 대해 같은 방향으로 반복
  N
  / 또는 ? 명령에 대해 반대 방향으로 반복
        약자의 사용

  :ab short long
  short long 대한 약어로 변경
  :ab
  현재 약어 목록을 표시
  :una short
  약어 short 표시
        화면 길이 조정

  r
  문자를 라인으로 변경
  J
  줄의 결합
  :set wm=n
  오른쪽으로 n 문자 위치에서 자동적으로 나눔
        편집 버퍼를 이용한 이동

  ^F
  한 화면 아래로 이동
  ^B
  한 화면 위로 이동
  n^F
  n 화면 아래로 이동
  n^B
  n 화면 위로 이동
  ^D
  반 화면 아래로 이동
  ^U
  반 화면 위로 이동
  n^D
  n 줄만큼 아래로 이동
  n^U
  n 줄만큼 위로 이동
        커서의 이동 명령

  h (Left)
  커서를 왼쪽으로 이동
  j (Down)
  커서를 아래로 이동
  k (Up)
  커서를 위로 이동
  l (Right)
  커서를 오른쪽으로 이동
  (Backspace)
  커서를 왼쪽으로 이동
  (Space)
  커서를 오른쪽으로 이동
  -
  커서를 이전 줄의 처음으로 이동
  +
  커서를 다음 줄의 처음으로 이동
  (Return)
  커서를 다음 줄의 처음으로 이동
  O
  커서를 현재 줄의 앞으로 이동
  $
  커서를 현재 줄의 끝으로 이동
  ^
  커서를 현재 줄의 글자(공백이나 탭이 아닌) 이동
  w
  커서를 다음 단어의 글자로 이동
  e
  커서를 다음 단어의 글자로 이동
  b
  커서를 이전 단어의 글자로 이동
        모드 전환 방법

  i
  입력모드로 전환, 커서 위치 앞에서 삽입
  a
  입력모드로 전환, 커서 위치 뒤에서 삽입
  I
  입력모드로 전환, 현재 줄의 앞에 삽입
  A
  입력모드로 전환, 현재 줄의 끝에 삽입
  o
  입력모드로 전환, 현재 줄의 아래에 전개
  O
  입력모드로 전환, 현재 줄의 위에 전개
  [2] emacs 에디터

   기초적인 명령어
    - 커서의 이동 : 커서의 이동은 기본적으로 화살표 키를 이용해서 있다. 그러나 다음의 명령들을 이용하면 보다 편하게
                         이동할 있다.

명 령
설 명
  C-a
  라인 처음으로 이동
  C-e
  라인 끝으로 이동
  M-a
  문장 처음으로 이동
  M-e
  문장 끝으로 이동
  C-x]
  한 페이지 앞으로 이동
  C-x[
  한 페이지 뒤로 이동
  C-v
  한 화면 앞으로 이동
  M-v
  한 화면 뒤로 이동
  M-<
  파일 시작 부분으로 이동
  M->
  파일 끝으로 이동
    - 삭제

명 령
설 명
  (Del)
  커서 글자 삭제
  C-d
  커서 우치의 글자 삭제
  M-(Del)
  이전 단어 삭제
  M-d
  이전 단어 삭제
  C-x (Del)
  이전 문장 삭제
  M-k
  현재 문장 커서 뒤부터 모두 삭제
  C-k
  현재 라인 커서 뒤부터 모두 삭제



Chapter 5 소프트웨어 설치
  Section 1 개념 및 사용법

  [1] RMP 패키지의 구조

    위 그림의 .rpm 확장자는 RPM으로 만들어진 패키지라는 것을 나타내기 위하여 사용한다. ② 사용되는 시스템의 아키텍처를
    말하는 것으로, i386 인텔 386 이상 CPU 플랫폼에서 작동하는 것을 뜻한다. 알파 플랫폼에 만들어진 RPM이라면 alpha라는
    이름을 사용하고, 스팍 플랫폼에서 돌아가는 RPM이라 한다면 sparc으로 표시된다. ③ 릴리즈(Release) 번째로 만들어진
    패키지인가를 나타내는 것으로, 15는 제작자가 15번에 걸쳐 그 파일을 패키징했다는 의미이다. 일반적으로 패치(Patch) 버전을
    뜻하며 번호가 높을수록 최신 파일이고, 전 버전보다 향상되었음을 의미한다. ④ 2.2.5 패키지의 버전을 나타낸다.
    ⑤ 패키지의 이름을 나타내는 것으로, 커널 패키지를 말하고 있다.

  [2] RMP 패키지의 사용법

   -i 옵션 : RPM 패키지를 설치할 있다. -i옵션으로 설치하게 되면 설치하는 과정이 나오지 않아 제대로 설치되었는지 애매한
                  경우가 있다. 이럴 그러한 과정을 보여주는 옵션이 있는데, 바로 -v라는 옵션이다.
   -v 옵션 : -i 옵션과 함께 -v 옵션을 사용하면 패키지가 인스톨되고 있다는 메시지를 알려 준다.
   -h 옵션 : -h 옵션을 추가하면 단순한 메시지보다는 진행 과정을 눈으로 확인할 수 있도록 연속적인 샵(#) 문자로 그 과정을
                   보여 준다.
     RPM 패키지를 설치할 대부분 -ivh 옵션을 한번에 지정하여 사용한다.
   RPM 제거하기 : RPM 패키지를 삭제하는 방법은 -e 옵션을 사용하는 것이다.
   RPM 업그레이드
    - -U 옵션을 사용합니다.
      업그레이드할 설정 파일이 존재한다면 파일을 세이브 파일(.rpmsave) 저장하고 새로운 설정 파일을 설치하게 된다.
      따라서 업그레이드할 기존 설정 파일이 그대로 보존되기 때문에 안전하게 업그레이드할 있으며, 사용자는 새로 설치된
      설정 파일과 구버전 설정 파일과 비교하여 수정할 있다.
    - 예를 들면 sendmail 업그레이드한다고 하면 sendmail의 주요 설정 파일인 sendmail.cf파일은 sendmail.rpmsave로 변경
      되고 새로운 sendmail.cf 파일이 생기게 된다. 구버전의 리눅스를 새로운 버전으로 업그레이드하더라도 이처럼 기존 설정
      파일을 보관하기 때문에 레드햇 패키지 관리자는 안정적인 업그레이드를 보장해 준다.
    - 패키지 업그레이드시 낮은 버전으로 설치하고자 때에 에러 메시지가 나오면 이럴 때는 -oldpackages라는 옵션을 이용.
      업그레이드할 사용되는 -F(Freshen) 옵션은 이미 설치된 패키지와 비교하여 오직 설치하고자 하는 패키지 버전이 높을
      때만 업그레이드를 실시하게 된다.

  [3] DEB 페키지의 특징

  RPM 패키지와 같이 Debian 패키지에는 프로그램이나 프로그램 집합을 설치하는 필요한 모든 파일이 포함되어 있다. Debian
  패키지는 .deb 확장자로 끝나고, dpkg툴을 사용하여 패키지를 설치한다.

  [4] DEB 패키지의 명령규칙

  Debian 패키지에 사용된 명명 규칙은 packagename-version-debian-revision-number.deb 형식을 따르는데 여기서 version은
  프로그램 버전 번호이고 debian-revision-number는 패키지에서 지원하는 Debian의 버전(현재 2.1)을 나타낸다.

  [5] DEB 패키지의 주요사용 옵션

   uota 프로그램을 설치하려면 다음과 같은 명령을 사용한다.
    - #dpkg --install quota-1.6-2.deb
    - dpkg 종속성을 점검하여 필요한 모든 구성요소가 설치되어 있는지 확인하고 필요하면 설치해 준다. 그런 다음, RPM처럼
      사전 설치 스크립트와 설치 스크립트를 실행한다.
   패키지를 완전히 제거하려면 -purge 플래그 명령을 다음과 같이 사용한다.
    - #dpkg --purge quota
    - 다음에 참조하거나 사용하기 위해 프로그램의 구성 파일을 보관해야 하는 경우에는 -remove 플래그를 사용하여 패키지의
      실행 가능 구성요소만 제거한다.

  [6] tar, compress/uncompress, gzip/gunzip 등의 사용법

   gzip
    - gzip GNU에서 개발한 압축 프로그램으로 compress에 비해 압축률이 높기 때문에 리눅스에서 주로 사용된다. 사용 방법은
      compress 같으며 대신.gz 파일을 생성한다. 이 경우도 각각의 파일을 압축해줄 뿐 묶어 주는 기능은 없다.
    - -1 옵션을 주면 압축 시간이 단축되는 대신 압축률이 떨어진다. -9 옵션을 줄 경우는 반대로 압축시간이 길어지고 압축률이
      좋아진다. -r 옵션을 경우는 서브디렉토리에 있는 파일까지 압축해 준다. -c 옵션의 경우는 출력을 표준 출력으로 해서
      파이프와 함께 사용할 옵션을 사용하면 된다.
    - 다음의 예는 앞의 compress 같은 파일인 file1 gzip으로 압축한 것이다. 압축률이 훨씬 높아 졌음을(결과적으로 압축된
      상태의 파일의 용량이 줄어든다) 확인 있을 것이다.

  [user1@note user1]$ gzip file1
  [user1@note user1]$ Is -1
  total 24
  drwxrwxr -x 2 user1 user1 4096 Feb 17 18:18 GNUStep
  drwxrwxr -x 2 user1 user1 4096 Feb 17 18:18 Mail
  -rwxr-xr -x 1 user1 user1 14333 Feb 17 18:16 file1.gz

    - gzip으로 압축한 파일은 gunzip이나 gzip -d 옵션을 사용하여 풀어준다.
      gzip 명령줄 플래그에 관해서는 아래의 표를 참고하면 될 것이다.

플래그
플래그 이름
설 명
-a
ascii
  ASCII텍스트:로컬 규약을 사용하여 행의 문자를 변환한다.
-c
stdout
  표준 출력 결과 위에 씁니다. 원래 파일을 바꾸지 않은 상태로 보관한다.
-d
decompress
  압축 해제한다.
-f
force
  출력 결과 파일의 겹쳐쓰기를 강제하고 링크를 압축한다.
-h
help
  도움말 목록을 제공해준다.
-I
list
  압축된 파일의 내용을 나열해준다.
-L
license
  소프트웨어 라이선스 정보를 표시해준다.
-n
no-name
  원래 이름과 시간 스탬프를 저장하거나 복원하지 않는다.
-N
name
  원래 이름과 시간 기록을 저장하거나 복원한다.
-q
quiet
  모든 경고를 없앤다.
-S suffix
suffix .suf
  압축된 파일에 접미사 .suf 사용한다.
-t
test
  압축된 파일의 통합성을 테스트한다.
-v
verbose
  자세한 정보 표시(verbose) 모드로 바꾼다.
-V
version
  비전 번호를 표시해 준다.
-1
fast
  보다 빠르게 압축한다.
-9
best
  보다 낫게 압축하다(, 파일이 작아지게).
file

  압축(해제) 파일() 지정합니다. 아무것도 제공되지 않았다면 표준 입력을 사용한다.
   compress/uncompress
    - compress는 확장자가 z인 파일(즉*.z)을 만드는 압축 프로그램으로 유닉스에서 일반적으로 사용되어왔다. 압축률이 그다지
      좋지 않기 때문에 그다지 많이 사용되지 않는다.
    - 용법 : compress [파일명]
    - 압축 수행 원래 파일은 없어지며 .z 파일만 남게 된다. DOS Windows에서의 압축 프로그램처럼 압축 파일을 묶어
      주는 기능은 없다. 리눅스에서는 파일을 묶어주는 명령이 tar라고 따로 있다. 이에 대해서는 뒤에서 자세히 언급하겠다.
    - uncompress compress 압축된 파일을 푸는데 사용된다. 이 경우 .z 파일만을 풀어 주므로 만약 이름이 다를 경우 mv
      명령을 이용하여 이름을 바꿔주어야 한다.
    - 용법 : uncompress [파일명]
   tar
    - 여러 개의 파일을 하나로 묶을 경우 사용하는 명령이 tar이다. tar를 사용하면 파일 및 서브 디렉토리까지 모두 묶을 수 있으며
      파일의 여러 가지 속성들이 그대로 보존이 되므로 특정 디렉토리를 허가권 등을 보전한 채로 다른 디렉토리로 통째로 옮길 때
      아주 유용하게 사용할 있다.
    - 용법 : tar [명령][만들 파일명][파일명()]
    - 앞에 오는 만들 파일명에는 tar 묶어서 만들기를 원하는 파일의 이름을 적으며(보통.tar를 뒤에 붙인다) 뒤에 파일명(들)에는
      묶기를 원하는 파일명들을 적는다. 주로 디렉토리명이 오는 경우가 많다.
    - 파일들을 묶을 경우는 c 명령을 사용하고 경우는 x 명령을 사용한다. 또한, v 명령을 사용하면 파일들을 묶으면서(또는
      풀면서) 묶여지는 (풀리는) 파일들의 이름과 크기를 동시에 있다. 그리고 파일명을 쓰기 전에 앞에 f 명령을 줘야 한다.
      예를 들어, dir1이라는 디렉토리를 통째로 묶으려 한다면
    - tar cf dir1.tar dir1 이라고 하면 된다. 여기서 파일명 대신 - 쓰면 명령의 대상이 표준 입출력이 되어서 파이프와 함께 사용
      할 주로 사용하는 명령이 된다. 예를 들어, dir1이라는 디렉토리를 tar로 묶은 후 gzip으로 압축하려 할 경우 다음과 같이
      할 수 있다.
    - tar cvf - dir1 l gzip > dir1.tar gz
    - 일반적으로 .tar.gz나 .tgz로 된 파일의 경우 tar로 묶은 후 gzip으로 압축한 파일이다. 반대로 dir1.tgz를 풀기를 원한다면
      다음과 같이 하면 된다.
  
Chapter 6 장치 설정
  Section 1 주변 장치 연결 및 설정

  [1] 프린터의 기본명령

   lpd : 라인프린터의 스풀러 데몬
   lpq : lpd(프린터 데몬) 사용하는 스풀링 영역에서 라인프린터에 프린팅 파일이 있는지를 검사하여 특정작업의 상태나
             사용자와 관련된 모든 작업의 상태를 보고한다. 인자가 없는 lpq 현재 대기열(, 프린터 ) 있는 모든 작업을
             보고한다.
   lpr : 터미널이나 한텀같은 콘솔환경에서 명시된 파일은 인쇄할 사용하는 명령
   lprm : 프린터하기 위해 보낸 파일들은 프린터 스풀링 대기열에서 출력할 순서를 기다리고 있다. 대기열에서 출력하려고
               하는 파일을 삭제하면 인쇄가 취소됨을 의미한다.
  [2] 기타 멀티미디어 관련 장치의 설정

   오디오 CD
    - 오디오 CD 플레이어와 CD-ROM 드라이브는 같은 기본 기술을 사용하고 있습니다. 대부분의 CD-ROM 드라이브는 오디오
      CD 재생할 있습니다.
        CD-ROM 드라이브를 사용하려면, 이를 제어해 줄 소프트웨어가 필요합니다. 간단한 명령줄 툴 부터 복잡한 그래픽 응용
        프로그램에 이르기까지 많은 CD 플레이어 프로그램이 존재하고 있습니다. 보다 일반적인 프로그램 중에는 cdplay, cdp,
        kscd xplaycd가 있습니다.




Part 3 리눅스 활용
  
Chapter 1 X 윈도우
  Section 1 개념 및 사용법
  [1] X윈도우의 개념 및 특징

   유닉스 시스템의 표준 그래픽 인터페이스이며 많은 어플리케이션을 갖춘 강력한 환경을 제공한다.
   표준 X 어플리케이션으로는 텍스트기반의 터미널 에뮬레이터인 xterm, 로그인 관리자인 xdm, 간단한 시계를 표시하기
      위한 Xclock, X기반의 man 페이지를 있도록 하는 Xman 등이 있다.
   리눅스에서의 X윈도우 사용은 리눅스시스템을 워크스테이션으로 만든다.
   X 윈도우의 특징

  - 네트워크 기반의 그래픽 환경이다.
  - 프로그램 작성시 가장 많은 종류의 컴퓨터에서 구동 있을 정도로 이식성이 뛰어나다.
  - 스크롤바, 아이콘, 색상 등의 그래픽 환경에 필요한 자원들이 특정한 형태로 정의되어 있지 않다.
  - 사용자가 원하는 모양의 인터페이스를 만들 수 있다.
  - 서로 다른 기종을 함께 사용한다.
  - 디스플레이 장치에 의존적이지 않다.


  [2] X윈도우의 구성원리

  [3] X윈도우의 구동과정

   xinit 실행시키면 X윈도우서버가 구동되고 사용자 홈디렉토리에서 어떤 X클라이언트를 실행시킬지를 .xinitc 스크립트를
      사용한다.
   콘솔에서 startx명령을 치면 된다.
    - startx 실행되면 처음 사용자 홈디렉토리에서 .xinitrc 를 찾고, 없으면 /usr/X11R6/lib/xinit/.xinitrc 파일을 찾는다. .xinitrc
      파일에 의해서 각종 리소스들을 불러 실행하고 사용자의 홈디렉토리에서 .XClients 스크립트를 찾아 실행하게 된다.
    - XClients 스크립트를 찾아서, 없으면 /etc/X11/xinit/Xclients 실행시킨다. .XClients 스크립트는 어떠한 데스크탑 환경을
      사용할 것인지를 /etc/sysconfig/desktop에서 프로그램을 찾아 실행한다.

  [4] X윈도우 설정

   XFree86 인텔x86계열의 유닉스계열 운영체계에서 동작하는 X 서버임
   XF86Setup
    - 자신이 가지고 있는 버전을 알기 위해서는 Redhat호환 배포판의 "rpm -qa |grep XFree86" 이라는 명령을 실행시키면 된다.
      (XFree86-FBDev-version-build 나오면 출력된 버전의 FBDev 패키지가 설치되어 있는 것이다.)
    - 그밖에 다른 배포판의 경우에는 /usr/X11R6/bin 이나 /usr/bin/X11 의 디렉토리에 XF86_FBDev 라는 파일이 있는지를
      확인한다.

  - XF86Setup XFree86 프로젝트 팀에서 제공하는 프로그램으로 xf86config GUI 방식으로 확장
  - XF86Setup 그냥 설치되지 않으므로 레드햇 리눅스 CD에서 별도로 설치
  - XF86Setup XFree86-VGA16패키지를 사용하므로 함께 설치
  - 조금 복잡하긴 하지만 다양한 설정과 해상도를 지원해 준다는 장점


  Section 2 X윈도우 데스크탑 환경(KDE, GNOME)

   GNOME KDE 단순히 윈도우의 외관을 관리해 주는 윈도우 매니저가 아니라 데스크탑 환경이다.
   데스크탑 환경은 윈도우 매니저(twm, mwm, fvwm, enlinghtenment) 포함하여 파일매니저, 도움말 시스템, 제어판,
      바탕화면 등의 다양한 도구를 제공한다.
   GNOME KDE 사용자가 전체적인 데스크탑 환경을 제어할 수 있다.

  [1] KDE 데스크탑


구 분
내 용
KDE
- 파일매니저, 윈도우 매니저, 헬프 시스템 , configuration 시스템과 각종 어플리케이션들의 집합체
최신 버전
- ftp://ftp.kde.org/pub/kde/stable/latest/distribution/rpm 으로 가서 RPM 형태로 다운로드
KDE의 구성
- 패널(pannel), 테스크바(taskbar), 데스크탑(desktop)
KDE의 메뉴편집
- 프로그램을 추가 또는 삭제하는 것으로 시작버튼에서 K버튼-패널-메뉴편집의 순서로 선택한다.
패널편집
- K버튼-패널-설정을 차례로 선택하면 '패널', '옵션', '데스크톱', '디스크 네비게이터' 등의 항목을
  가진 윈도우가 나온다.
- 패널항목에서는 K버튼-패널-Add Application을 선택하여 패널에 추가하고자 하는 응용프로그램
  이나 하위디렉토리를 선택한다.
파일관리
- 파일이나 폴더열기
- 드래그 엔 드롭 (Drag and Drop)
- 파일의 속성 설정하기
- ftp사용하기
템플릿 사용하기
- Device, WWWURL, Mime Type, Program
KDE 제어판
- KDE는 다양한 설정이 가능하고 사용자는 데스크톱의 동작 중 복잡한 텍스트로 된 설정파일을
  편집하지 않고도 쉽게 버튼들을 클릭하여 데스크톱의 특성을 변경
KDE 윈도우
종료 방법
- K버튼을 눌러 가장 아래 메뉴의 '로그아웃'을 클릭
  [2] GNOME 데스크탑


구 분
내 용
GNOME
- GNOME은 패널, 표준 데스크탑 툴, 응용프로그램, 그리고 그 외의 다른 프로그램들과 서로간에
  협동적으로 동작할 있도록 지원한다
최신 버전
- "http://www.gnome.org"를 방문한다.
주 메뉴 사용하기
- 원하는 응용프로그램을 실행하고 싶으시면 패널의 가장 왼쪽에 있는 발바닥 모양의 아이콘 Click
패널 숨기기
- 화면이 좁게 느껴지거나 패널을 보고 싶지 않을 때는 패널 숨김 버튼을 눌러준다.
패널 이동하기
- 패널은 어디로든지 원하는 곳으로 이동할 수 있다.
패널 추가하기
- 패널은 원하는 만큼 추가시킬 수 있는데 주 메뉴의 패널 메뉴를 보면 맨 밑에 새 패널 추가 메뉴를
  선택한다.
응용프로그램과
애플릿의 추가
- 패널에 응용프로그램 실행하기를 추가하려면 패널에서 마우스의 오른쪽을 클릭한다. 그러면 팝업
  메뉴가 나타나는데 메뉴 중에 '새로운 실행기 추가' 메뉴를 선택한다.
- 애플릿을 추가하는 방법도 실행하기 추가만큼 간단하다. 패널에서 마우스의 오른쪽 버튼을 누르면
  팝업 메뉴가 뜬다.
- 그 메뉴에서 '애플릿 추가' 메뉴를 선택하면 도구, 시계, 모니터 등의 애플릿을 설치할 수 있다.
응용 프로그램
실행하기
- 주 메뉴를 사용하는 방법
- 응용프로그램 실행기를 추가하거나 메뉴 편집기를 이용하는 방법
시작과 종료
- 로그인 박스가 그래픽으로 뜨고 바로 X-window로 들어간다.
- 그래픽 로그인으로 하지 않고 텍스트 모드로 들어온다.
- 주 메뉴를 클릭하면 주메뉴 가장 밑에 '로그아웃'이란 메뉴를 클릭한다.
  Section 3 개념 및 사용법
  윈도우 매니저의 대표적인 종류로는 fvwm, twm, mw, windowMaker, AfterStep 등이 있다.
   리눅스에서 사용 가능한 윈도우 매니저
    - twm
        윈도우 관리자이다.
        twm x 윈도우 시스템에 포함된 기본 윈도우 관리자 프로그램으로 vtwm, ctwm, tvtwm, piewm, fvwm 같은 많은 다른
        윈도우 관리자의 조상이며, 최초의 ICCM 윈도우 관리자이다.
        ICCM 프로그램이 서로 통신하는 방법에 대한 표준이다.
    - fvwm
        fvwm twm에서 파생되어 나온 것으로 안정적이고 일반화되어 오랜 기간동안 많이 사용되어 온 프로그램이다.
        fvwm Virtual Window Manager 약자로 가상 윈도우 매니저로 실제로 가상 데스크탑을 지원하고, 마우스나 적절히
        설정한 핫키를 이용해서 가상 데스크탑을 오갈수 있다.
        fvwm 다운받으려면 http://www.fvwm.org http://www.hpc.uh.edu/fvwm 방문하면 된다. fvwm은 가장 많이
        사용되어 오던 윈도우 매니저로 로그온 시에 옵션에서 선택하면 실행시킬 있다.
    - fvwm2
        F 가상 윈도우 관리자로 Robort Nation 작성하였다. 리눅스에서 가장 많이 사용하는 윈도우 관리자 중의 하나이며,
        fvwm2 2.x버전을 나타낸다.
        fvwm2 8비트/256색의 디스플레이에서도 깔끔한 화면을 보이도록 설계되었다.
    - fvwm95 : fvwm2.x 기반으로 MicroSoft Windows 95 인터페이스와 비슷한 모양을 가지고 있다.
    - AfterStep
        애프터스텝은 fvwm 기반으로 만들어 윈도우 매니저로 넥스트 스텝의 GUI와 유사한 사용자 인터페이스를 제공한다.
        인터페이스의 장점을 통합하고 좀더 유용한 기능들을 추가하였다.
    - Window Maker
        Window Maker 넥스트 스텝의 인터페이스를 에뮤레이트하며, GNU 데스크탑을 지원하는 장점이 있다.
        지금은 GNOME KDE 통합되었다.
    - Blackbox : 넥스트 스텝의 인터페이스를 기반으로 k지만 장식 기능이 많지 않아 빠르다.
    - Enlightment : GNOME 기본 윈도우 관리자이다.
    - kwm : KDE 기본 윈도우 관리자이다.

  Section 4 멀티미디어
  리눅스 멀티미디어 도구

멀티미디어 도구
내 용
GIMP
- photo retouching과 이미지 합성 이미지 저작을 위한 풀그림으로 자유로이 배포
mtv
- 리눅스와 유닉스 시스템에서 작동하는 MPEG-1 비디오 플레이어
xv(X Viewer)
- X 윈도우용 그래픽 뷰어 프로그램으로서 gif, tiff, jpeg, bmp, tga, pcx, xpm 등의 다양한 그래픽
  파일 포맷을 지원
MpegTV
- mpeg 동영상이나 Video-CD를 재생하는 프로그램으로 널리 사용되는 동영상 플레이어




Chapter 2 인터넷 활용
  Section 1 네트워크의 개념
  [1] 통신망의 종류


통신망의 종류
내 용
근거리통신망(LAN)
  - 건물이나 공장, 학교 제한된 일정 지역 내에 분산 설치된 각종 컴퓨터와 주변기기들 사이의
    통신을 수행하기 위하여 신뢰성 있는 고속의 통신채널을 제공하는 근거리 통신망
  - 10Mbps~155Mbps 전송속도로 데이터를 송수신
  - 지역적으로 제한된 영역에 한정
  - 낮은 오류율에 의한 신뢰성 있는 고속데이터 전송이 가능
원거리통신망(WAN)
  - 넓은 지역에 분산된 통신기기들을 연결한 네트워크
  - LAN 보다 통신속도가 느림
  - 전용 디지털 통신망으로 구성되며 공중교환전화망을 사용하기도 함
    (공중교환전화망(PSTN) : Public Switching Telephone Network)

  [2] LAN 통합을 위한 통신장비


통신장비
설 명
라우터(ROUTER)
  - LAN(근거리통신망) 연결해주는 장치로서 정보에 담긴 수신처 주소를 읽고 가장 적절한 통신
    통로를 이용하여 다른 통신망으로 전송하는 장치
리피터(REPEATER)
  - 디지털 방식의 통신선로에서 전송신호를 재생하여 전달하는 전자통신장치
브리지(BRIDGE)
  - 개의 근거리통신망(LAN) 상호 접속해 주는 통신망 연결 장치
게이트웨이
  - 프로트콜이 다른 통신망을 상호 접속하기 하기 위한 장치

  [3] 기본적인 TCP/IP 프로토콜과 PPP


OSI 스택
TCP/IP 내부 스택
프로토콜 예
응용계층, 표현계층, 세션계층
응용계층
TELNET, FTP
전송계층
전송계층
TCP, UPT
네트워크 계층
인터넷
IP, ICMP, ARP
데이터 링크 계층, 물리 계층
네트워크 접근
이더넷, 토큰링, FDDI, 직렬 등
   OSI(Open System Interconnection) 모델
    - OSI 모델은 국제표준화협회(ISO :International Organization Standardization) 컴퓨터 통신구조의 모델과 향후 개발될
      프로토콜의 표준적인 기반을 제공하기 위해서 개발
    - 7 계층은 최하위 계층인 물리계층에서 상위계층인 데이터링크계층, 네트워크계층, 트랜스포트계층, 세션계층, 표현계층,
      응용계층으로 구성
   TCP/IP(Transmissin Control/Internet Protocol)
    - TCP/IP 인터넷 프로토콜 중에서 가장 중요한 역할을 하는 TCP IP 프로토콜의 합성어로서 인터넷 동작의 중심이 되는
      통신 규약
   TCP/IP 특징

Layer
기 능
Network Access Layer
  - 시스템이 네트워크를 이용해 네트워크에 직접 붙어 있는 다른 장치들에게로 데이터를 전달하는
    수단을 제공한다.
Internet Layer
  - Network Access 계층의 상위에 있는 계층으로 IP(Internet Protocol), ICMP(Internet Control
    Message Protocol)등으로 이루어져 있다.
Transport Layer
  - Transport 계층의 가장 중요한 프로토콜은 TCP(Transmission Control Protocol)와 UDP
    (User Datagram Protocol)이다.
Application Layer
  - 데이터를 교환하기 위해 Transport 계층 프로토콜을 사용하는 모든 프로세스들을 포함한다.
   도메인네임(Domain Name)
    - 숫자로 표현된 IP주소는 211.248.0.1와 같이 점으로 구분되어 4단계로 표시되는데, 점으로 구분된 숫자에는 0~255까지의
      숫자를 사용할 수 있다.
    - 숫자로 표현된 이러한 주소를 인터넷IP 주소라고 하며 세계적으로 중복되지 않도록 사용해야 한다.
    - 숫자로 IP주소는 사람들이 기억하는데 불편하기 때문에 사람들이 기억하기 쉽고 사용하기 쉽게 만든 주소가 도메인
      네임이다.
   도메인네임 시스템(DNS:Domain Name System)
    - 기억하기 어려운 IP 주소 대신에 기억하기 쉬운 도메인네임을 사용하는데 IP 주소와 도메인네임을 매핑 시켜주는 것이 도메인
      네임 시스템이다.

  Section 2 인터넷 서비스

  인터넷 서비스 종류와 기능

인터넷 서비스
기 능
WWW
  - 그림, 음악, 동영상 등을 하이퍼텍스트의 기능으로 쉽게 참조할 있게 인터넷 서비스. 가장 많이 이용하고 가장 느리다.
FTP
  - 특정 사이트와 자신의 컴퓨터 사이에서 파일을 서로 주고 받을 있는 서비스
E-mail
  - 전자우편. 인터넷 사용자들끼리 서로 편지를 주고 받을 있는 서비스
NewsGroup
  - 특정 주제에 대하여 관심이 있는 여러 사람들이 각자의 글을 올리고 자료를 교환하는 게시판과 같은 서비스
Telnet
  - 곳의 컴퓨터를 자신이 사용하고 있는 컴퓨터처럼 다룰 있게 해주는 서비스

  Section 3 인터넷 서비스의 설정

  [1] 인터넷 접속방법

   전화선을 이용하여 인터넷에 직접 연결된 컴퓨터에 로그인
   전화선을 이용하여 인터넷 서버에 직접 연결
   인터넷에 직접 연결된 컴퓨터, 또는 단말기를 사용

  [2] 인터넷 접속 환경


인터넷 접속 환경
내 용
TCP/IP
  - 인터넷에서 컴퓨터를 서로 연결하기 위한 표준 전송 프로토콜
전화 접속 어댑터
  - 전화접속 어댑터는 모뎀을 네트워크에 물리적으로 연결해주는 장치
전용선
  - 인터넷 서비스 업체로부터 직접 회선을 할당받아 자신의 컴퓨터를 인터넷과 연결하는 방법
SLIP/PPP 연결
  - 모뎀과 전화선을 이용하여 SLIP/PPP 접속 서비스를 제공하는 호스트에 연결하여 인터넷에 접속

  
Chapter 3 리눅스의 신기술
  Section 1 리눅스 동향
  [1] 산업동향

   레드햇을 비롯해 칼데라시스템스, 터보리눅스, 수세리눅스 등 리눅스 전문업체들이 활발한 활동을 펼치고 있다.

  [2] 리눅스 산업현황 및 전망


산업현황
전 망
서버 분야
  - 국내 리눅스 시장에서 가장 괄목할 만한 성장을 거둔 것은 리눅스 서버 분야다. 서버 분야의
    새로운 돌파구는 엔터프라이즈 시장 진입이다. 업계에서는 신뢰도를 높일 수 있는 사례 발굴을
    엔터프라이즈 시장 진입의 열쇠로 평가한다.
임베디드 분야
  - 임베디드 리눅스는 PDA 정보가전 등의 포스트PC 제품에 사용된다. 따라서 임베디드 리눅스의
    성공은 포스트PC 제조 업체와 얼마나 유기적인 협력 관계를 맺는가에 달려 있다.
데스크톱 분야
  - 데스크톱 분야는 윈도의 아성에 맞서 고전을 면치 못하고 있다. 데스크톱 리눅스 보급의 장벽
    이었던 윈도우 시스템과의 데이터 호환 문제는 상당히 개선됐지만 아직 마니아 이외에는
    데스크톱에 리눅스를 사용하는 사람이 거의 없는 실정이다.

  Section 2 리눅스 신기술
  [1] 임베디드(Embedded) 시스템

   사람들은 강력한 기능을 가진 PC에 사용하기 쉬운 처리장비이면서 크기는 소형을 바라고 있다. 이러한 요구를 수용해줄 수
     있는 분야 가장 유력한 것이 'Embedded System'이다.
   임베이드 분야의 대표적인 예로 전자수첩, 게임기, 가전제품 등이 있다.
   임베디드 시스템에 있어서 리눅스의 장점
    - 리눅스는 오래되었고 많은 사람이 사용한다.
    - open source. open architecture이다.
    - 소규모 모듈단위로 설계되어 있다.(POSIX 지원한다.)
    - Real Time 운영을 지원한다.

  [2] 리눅스 클러스터링

   리눅스 클러스터 아키텍처
    - 리눅스 클러스터는 기본적으로 클러스터 아키텍처이고, 클러스터는 병렬 컴퓨터 아키텍처의 일종이다.
    - 리눅스 클러스터(또는 Beowulf 클러스터)는 NASA Goddard 우주 비행 연구소의 homas Sterling과 Donal Becker에 의해서
      1994 후반에 시작된 것이다.
    - 리눅스 클러스터의 특징
        리눅스 클러스터는 클러스터의 운영체제로 리눅스를 사용하는 클러스터
        open source 리눅스 운영체제는 사용자가 직접 필요에 맞게 클러스터를제작
        리눅스 클러스터는 리눅스가 다양한 CPU와 device를 지원하기 때문에 클러스터 개념 자체를 쉽게 여러 가지 형태로 구현
        리눅스의 발전에 따른 효과를 지속적으로 클러스터에 적용할 수 있는 일 반성
        대량 생산되는 PC network 장비로 인한 저렴한 비용
        하드웨어에 상관하는 부분이 적어 아키텍처 자체의 호환성

  [3] 블루투스(BLUETOOTH)

  블루투스는 무선주파수를 이용하여 저렴한 비용으로 각종 디지털 장비간의 통신에 물리적인 케이블 없이
  무선으로 연결시켜주는 기술

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...