Presentation is loading. Please wait.

Presentation is loading. Please wait.

2. 일반 사용자를 위한 유닉스.

Similar presentations


Presentation on theme: "2. 일반 사용자를 위한 유닉스."— Presentation transcript:

1 2. 일반 사용자를 위한 유닉스

2 1. UNIX 들어가기와 나오기 계좌(account) 할당 Super User(시스템 관리자)에게 의뢰
자동 할당: adduser 수동 할당 mkdir vi /etc/passwd chown 2. 일반 사용자를 위한 유닉스

3 1. UNIX 들어가기와 나오기 login login prompt 얻기: several -keys password 확인과 설정
passwd  /etc/passwd 좋은 암호 hacker(cracker)으로 보호되어햐 함 일상적인 단어의 사용은 피함 특수문자를 첨가하거나 대소문자를 구분함 Enter 2. 일반 사용자를 위한 유닉스

4 1. UNIX 들어가기와 나오기 prompt와 셀(shell) login후에 처음 보임 Shell이란?
Bourne Shell Korn Shell : Bourne Shell 포함 C Shell : 대화형 작업에 유리 2. 일반 사용자를 위한 유닉스

5 1. UNIX 들어가기와 나오기 Shell의 공통 핵심 기능 pipe  background 처리
redirection  명령어 치환 명령열  script 내장 명령어  변수(지역, 환경) 설정 대표문자  subshell 2. 일반 사용자를 위한 유닉스

6 1. UNIX 들어가기와 나오기 Shell의 선택 시스템 관리자가 지정 shell prompt 구분
 $ (Bourne shell, Korn shell), # (C shell) chsh (change shell) 명령의 shell 절대경로  Bourne: /bin/sh  Korn: /bin/ksh  C: /bin/csh $SHELL: 현재의 shell 절대경로 저장 예) echo $SHELL /bin/csh 2. 일반 사용자를 위한 유닉스

7 1. UNIX 들어가기와 나오기 man (manual page) 명령어에 대한 온라인 도움말 얻기
man [chapter] word man word  word가 들어 있는 첫 번째 매뉴얼  word가 들어 있는 chapter번째 매뉴얼 man -k word word가 들어 있는 모든 매뉴얼 cf. Unix명령의 일반적 표현 방법 [ ] (생략 가능) -options (명령어 확장) 2. 일반 사용자를 위한 유닉스

8 1. UNIX 들어가기와 나오기 지금이 몇시인가 : date  화면을 깨끗이 지웁시다 : clear 
date yymmddhhmm[.ss]  시스템 관리자만이 시간 지정 가능 화면을 깨끗이 지웁시다 : clear  2. 일반 사용자를 위한 유닉스

9 1. UNIX 들어가기와 나오기 메타문자(metacharacter):제어용 특수문자 stty -a/all
 현재 사용 중인 터미날의 메타문자들을 보여줌 - erase(한 문자 지우기 ^H) - kill(한 줄 지우기 ^U) - werase(마지막 단어 지우기 ^W) - rprint(현재 줄 재출력 ^R) - flush(대기 입력 무시, 재출력 ^O) - lnext(다음 문자를 특수문자로 보지않음 ^V) - susp(프로세스 일시정지 ^Z/^Y) - intr(core dump 없이 작업 전면중단 ^C) - quit(core dump하고 작업 전면중단 ^ - stop(터미날 출력을 정지/재시작 ^S/^Q) - eof(입력 끝 ^D) 2. 일반 사용자를 위한 유닉스

10 1. UNIX 들어가기와 나오기 프로세스의 종료 출력의 정지/복귀 입력의 끝
^C intr(core dump 없이 작업 전면중단) man chmod ^C 출력의 정지/복귀 ^S/^Q stop(터미날 출력을 정지/재시작) XON/XOFF protocol man chmod ^S ... ^Q 입력의 끝 ^D eof(입력 끝) mail someone ^D 2. 일반 사용자를 위한 유닉스

11 1. UNIX 들어가기와 나오기 passwd logout 이전 패스워드 입력 후 새 패스워드 두번 입력 6문자 이상
Shell 입력의 끝 ^D eof(입력 끝) 또는 logout C shell의 경우 exit 2. 일반 사용자를 위한 유닉스

12 2. UNIX의 계층적 File System 계층적(Hierarchical) File System이란?
tree structure: directory와 file root directory(/), current directory(.), parent directory(..), subdirectory home directory: login 직후의 디렉토리 (패스워드 file에 명시) 경로 이름(path name): 절대경로이름, 상대경로이름 2. 일반 사용자를 위한 유닉스

13 2. UNIX의 계층적 File System 디렉토리 명령 현재 작업중인 관련 디렉토리 보기: pwd
디렉토리 내용보기: ls -adglsFR fileName]* directoryName* cf. {…}* : 생략 가능 또는 1회 이상 반복 등장 가능 ls  현재 디렉토리의 모든 file 나열("."으로 시작하는 것 제외) ls -l  상세한(long) 정보 제공 permissionMode link# owner size(byte) updatedTime fileName ls -algFs  디스크 블록의 크기(-s) "." file도 나열(-a) 상세한 정보 (-1) 그룹(-g) 실행가능* 디렉토리/ 소켓= (-F) recursively(-R) 2. 일반 사용자를 위한 유닉스

14 2. UNIX의 계층적 File System 서브디렉토리 만들기 디렉토리 이동하기: cd 디렉토리 제거:
mkdir [-p] newDirectoryName 디렉토리 이동하기: cd cd ..  cd /  cd ~loginName  cd 디렉토리 제거: rmdir [-r] directoryName*  cf. 만일 디렉토리가 비어 있지 않으면 제거 안됨 -r(recursively) 2. 일반 사용자를 위한 유닉스

15 2. UNIX의 계층적 File System file의 생성 문서편집기 이용: vi, emacs
cat(catenate)와 redirection 이용 cat > file ^D file 새로 만들기/덮어쓰기 cat >> file ^D file에 연속 쓰기 2. 일반 사용자를 위한 유닉스

16 2. UNIX의 계층적 File System file 내용 보기 cat fileName
more -f {+lineNmber} {fileName}* 연속적으로 올라면서 출력 cf + (시작번호 명기, default=1) -f(긴 라인을 연속적으로 나타냄) page -f {+lineNmber} {fileName}*  전체화면 지우고 다음 페이지 출력 head -n {fileName}* : 처음 n 줄(default=10) tail -n {fileName}* : 마지막 n 줄 2. 일반 사용자를 위한 유닉스

17 2. UNIX의 계층적 File System file 이름 바꾸기 mv [-] -i oldFileName newFileName
이름만 바꿈 (not moving) cf. [-] 뒤의 모든 단어를 file 이름으로 간주함( -로 시작하는 file 처리시에 좋음) -i (새로운 file 이름이 이미 존재하는지에 대한 확인 prompt 보여줌) mv [-] -i fileName directoryName 어떤 디렉토리 안으로 file 이동 mv [-] -i oldDirectoryName newDirectoryName 전체 디렉토리 간 이동 2. 일반 사용자를 위한 유닉스

18 2. UNIX의 계층적 File System file 복사: cp cp [-i] oldFileName newFileName
cf. -i(이미 존재하는지 확인한 후) cp [-ir] fileName* directoryName 어떤 디렉토리 안으로 file 이동 cf. -i(이미 존재하는지 확인한 후) -r(recursively) 2. 일반 사용자를 위한 유닉스

19 2. UNIX의 계층적 File System file 제거: rm [-] -fir fileName*
cf. [-] 뒤의 모든 단어를 file 이름으로 간주함 ( -로 시작하는 file 처리시에 좋음) rm * : 모든 fle 제거 rm -r * 서브디렉토리까지 뒤져서 모든 fle 제거 2. 일반 사용자를 위한 유닉스

20 2. UNIX의 계층적 File System file을 프린트하기
lpr -m [-Pprinter] [-#copies] fileName* file에 번호를 붙여 출력 프린트 종료 후 메시지 보냄(-m) 프린터 지정(-Pprinter): $PRINTER에 지정된 프린터를 onerwrite 여러번 인쇄(-#copies) lpq -l [-Pprinter] {job#}* {userID}* 특정 작업이나 프린터의 상태 보임 추가적인 정보 제공(-l) lprm -l [-Pprinter] {job#*} {userID}* 특정 사용자/작업의 프린팅 작업 취소 2. 일반 사용자를 위한 유닉스

21 2. UNIX의 계층적 File System file의 단어수 세기: wc -lwc fileName*
cf. line(-l) word(-w) character(-c) 2. 일반 사용자를 위한 유닉스

22 2. UNIX의 계층적 File System file 속성(attribute): ls -algFs
ls -l  상세한(long) 정보 제공 permissionMode link# owner size(byte) updatedTime fileName permissionMode (WXXXYYYZZZ) W: 화일유형 (- 정규화일, d 디렉토리화일, b buffered file:HDD, c non-buffer file:Terminal, l symbolic link, p pipe, s socket) 2. 일반 사용자를 위한 유닉스

23 2. UNIX의 계층적 File System file -L {fileName}+  file 유형에 대한 조회
cf. 연결 file에 대한 정보 제공(-L) XXX(사용자 허가권) YYY(그룹 허가권) ZZZ(다른 사용자 허가권) r(읽기 허가) w(쓰기 허가) x(실행 허가)  이 순서대로 나타남 (p77 표 참조) 정규화일, 디렉토리화일, 특수화일들에 대한 의미가 각각 다르다. 만일 허가하지 않을 경우, -으로 나타남 2. 일반 사용자를 위한 유닉스

24 2. UNIX의 계층적 File System groups [userId] 사용자가 회원으로 속해있는 모든 그룹의 목록들을 표시
chgrp -R groupId {fileName}* 지정된 file의 소속 그룹을 바꾼다 cf. 재귀적으로(-R) 2. 일반 사용자를 위한 유닉스

25 2. UNIX의 계층적 File System chmod -R change ,{change}* {fileName}+
 허가권 변경 clusterSelection+newPermission (허가권 추가) clusterSelection-newPermission (허가권 제거) clusterSelection=newPermission (절대적 허가권 할당) clusterSelection: u(user/owner) g(group) o(others) a(all) newPermission: r(read) w(write) x(execute) s(set user id/set group id) cf. 디렉토리 안의 모든 file들의 모드를 재귀적으로 변환(-R) chmod g+w | u-rw | g=r | u+w,g-r | o-rw 2. 일반 사용자를 위한 유닉스

26 2. UNIX의 계층적 File System 8진수 허가권 설정 chmod 750 . 현재의 디렉토리의 허가권 변경
ls -ld . 위 변경 결과를 확인 cf. 디렉토리 자체 정보 (-d) 2. 일반 사용자를 위한 유닉스

27 2. UNIX의 계층적 File System file의 소유권 변경 chown -R newUserID {fileName}+
2. 일반 사용자를 위한 유닉스

28 2. UNIX의 계층적 File System file의 그룹 변경 newgrp [-] [groupID]
현재의 shell의 그룹을 다른 것으로 바꾼다 대쉬[-]를 사용하면 login 당시 shell의 그룹으로 바꾼다 2. 일반 사용자를 위한 유닉스

29 3. 문서 편집 및 처리 화면 제어를 위한 터미날 유형 결정 Shell 환경 변수 $TERM
Shell Startup file에 일방적으로 $TERM의 값을 지정하는 방법 setenv TERM vt100 (C Shell) TERM=vt100; export TERM (Bourne/Korn Shell) Shell Startup file에 $TERM의 값을 지정하되 문제시 사용자에게 묻는 방법: tset 사용자가 Shell에서 수동적으로 $TERM의 값을 지정하는 방법 2. 일반 사용자를 위한 유닉스

30 3. 문서 편집 및 처리 터미날 설정 : tset tset
 이미 $TERM에 terminal type이 설정되어있다고 가정하고, /etc/termcap을 침조하여 적절한 초기화를 실시 2. 일반 사용자를 위한 유닉스

31 3. 문서 편집 및 처리 tset -s  /etc/ttytab을 참조하여 해당 terminal port에 대한 terminal type 값을 찾아 $TERM의 값으로 설정한 후, /etc/termcap을 침조하여 적절한 초기화를 실시한다. cf. /etc/ttytab tty0f "usr/etc getty std.9600” vt100 off local ttyp0 none network off secure ... terminal port terminal type .... cf. temnial port 확인 명령 tty /dev/ttyp0 2. 일반 사용자를 위한 유닉스

32 3. 문서 편집 및 처리 tset -iC1 -eC2 interrupt 문자를 C1으로, erase 문자를 C2로 설정
(default: interrupt ^C, erase ^H) tset -m 'oldType:newType' /etc/ttytab을 무시하고 terminal type을 새로 설정 2. 일반 사용자를 위한 유닉스

33 3. 문서 편집 및 처리 tset -m 'oldType:?newlType’
/etc/ttytab을 무시하고 terminal type을 새로 설정할 것인지를 사용자에게 물어봄 eval `tset -s -m 'network:?vt100'` cf. /etc/ttytab에서 기본 terminal type을 찾아서 실제의 terminal type이 Vt100 인지를 묻고 해당 환경변수를 /etc/termcap을 참조하여 실시한다. cf. eval command  command의 결과를 정규 Shell 명령처럼 실행한다. 2. 일반 사용자를 위한 유닉스

34 3. 문서 편집 및 처리 터미날 특성 변경: stty stty -a 현재 터미날의 설정 상태를 보여줌
stty -echo 타이핑한 문자를 다시 보여주지 않음 stty echo 타이핑한 문자를 다시 보여줌 stty -raw 메타문자의 특별한 의미를 사용하도록 해줌 stty raw 메타문자의 특별한 의미를 사용하지 않도록 함 stty -tostop 후면작업이 터미날에 출력을 보내도록 해줌 stty tostop 후면작업이 터미날에 출력을 보내지 않도록 함 stty sane 터미날 특성을 사전에 정한 값(defautl value)로 설정함 2. 일반 사용자를 위한 유닉스

35 3. 문서 편집 및 처리 메타문자(metacharacter):
erase kill werase rprint flush lnext susp intr quit stop eof 제어문자의 입력 control (^)로 표시하거나 \뒤에 실제 제어문자를 타이핑함 예) stty erase “^H” 2. 일반 사용자를 위한 유닉스

36 3. 문서 편집 및 처리 문서 편집기: vi vi의 두 모드 명령 모드: 문서 편집에 필요한 보편적인 명령 수행, 초기상태
텍스트 입력 모드: 문서(텍스트)를 입력하는 상태 2. 일반 사용자를 위한 유닉스

37 $ ~ ~ Vi mode(Vi 명령 모드) x r dd a i esc oO R $Vi filename :q! (기록 않음)
ZZ(기록) :wq a i esc x r dd 커서이동 append insert oO open R replace 2. 일반 사용자를 위한 유닉스

38 3. 문서 편집 및 처리 명령 모드에서 텍스트 입력 모드로의 전환 i 텍스트가 커서 앞에 삽입된다(insert)
a 텍스트가 커서 뒤에 삽입된다(append) A 텍스트가 현재 줄의 맨 앞에 삽입된다(append) o 텍스트가 현재 줄 다음부터 삽입된다(open) O 텍스트가 현재 줄 앞에서 삽입된다(Open) R 텍스트가 대치된다.(replace) 2. 일반 사용자를 위한 유닉스

39 3. 문서 편집 및 처리 텍스트 입력 모드에서 명령 모드로의 전환: 커서 이동
한 줄 위(↑, k) 한 줄 아래(↓, j) 한 문자 왼쪽(←, h) 한 문자 오른쪽(→, ㅣ) 줄의 시작(^) 줄의 마지막($) 한 단어 앞(b) 한 단어 뒤(w) 지정 줄(:nn ) 반 화면 아래(^D) 한 화면(^F) 반 화면 위(^U) 한 화면 위(^B) ESC Enter 2. 일반 사용자를 위한 유닉스

40 3. 문서 편집 및 처리 화면 이동 z. (현재의 줄이 화면의 가운데에 오도록 다시 그림)
<<cursor_movement> (화면을 왼쪽으로<coursor_movement>만큼 이동) ><cursor_movement> (화면을 오른쪽으로 <coursor_movement>만큼 이동) /sss/+n (현재부터 뒤로 문자열 sss가 나타난 첫줄부터 n줄 뒤로 커서 이동) ?sss?-n (현재부터 앞으로 문자열 sss가 나타난 첫줄부터 n줄 앞으로 이동) ^L (화면을 다시 그린다) 2. 일반 사용자를 위한 유닉스

41 3. 문서 편집 및 처리 텍스트 삭제 문자(x) 단어(dw) 줄(dd) 커서부터 줄 끝(D) 블록 단위 :<range>d ) cf. <range> 1,$(첫줄부터 마지막줄까지) 1,.(첫줄부터 현재줄까지) .,$(현재줄부터 마지막줄까지) .-2(현재부터 두 번째 앞줄) 텍스트 치환 문자(r) 단어(cw ) 줄(cc ) Enter ESC ESC 2. 일반 사용자를 위한 유닉스

42 3. 문서 편집 및 처리 버퍼 이용 붙이기 :<range>y (버퍼로 복사)
:<range>yy (버퍼로 복사한 후 삭제) :<range>Y (버퍼로 복사한 후 삭제) :p (버퍼에서 복사해서 현 위치 뒤에 붙이기) :P (버퍼에서 복사해서 현 위치 뒤에 붙이기) :<line>p (지정된 줄<line> 다음에 버퍼에서 복사) :"버퍼이름y (버퍼로 버퍼이름에 복사) :"버퍼이름p (버퍼이름의 버퍼에 저장된 내용을 복사) Enter Enter Enter Enter Enter Enter Enter Enter 2. 일반 사용자를 위한 유닉스

43 3. 문서 편집 및 처리 탐색 및 치환 :?sss (현재 위치에서 화일의 앞쪽으로 탐색) :n (마지막 탐색 명령을 반복)
:<range>s/sss/ttt/ (<range>내의 문자열 sss 처음 것만을 ttt로 치환) :<range>s/sss/ttt/g (<range>내의 문자열 sss 모두를 ttt로 치환) Enter Enter Enter Enter Enter 2. 일반 사용자를 위한 유닉스

44 3. 문서 편집 및 처리 화일 저장 및 불러오기 :q (변화가 없을 때 저장 없이 빠져나옴)
:w (현재의 화일 이름으로 저장) :wq (현재의 화일 이름으로 저장한 후 빠져나옴) :x (현재의 화일 이름으로 저장한 후 빠져나옴) ZZ (현재의 화일 이름으로 저장한 후 빠져나옴) :w<이름> (<이름>이라는 화일로 저장) :e<이름> (현재의 화일이 아닌 다른 화일 <이름>을 편집) :n (현재 편집중인 화일의 다음 화일을 편집) Enter Enter Enter Enter Enter Enter Enter Enter Enter 2. 일반 사용자를 위한 유닉스

45 3. 문서 편집 및 처리 기타 명령 :!<명령> (Shell 명령을 시행하고 vi로 되돌아감)
:!sh (Shell로의 나들이, 끝날 때는 ^D) Enter Enter 2. 일반 사용자를 위한 유닉스

46 3. 문서 편집 및 처리 문서 편집기: emacs 1975 MIT의 Richard Stallman 작성, 무료 배포, Editor Macros의 약자 MIT Multics의 emacs(Bernie Greenberg)로 발전 Carnegie-Mellon 대학의 emacs(James Gosling)로 발전 (현재의 emacs 토대) AT&T Bell Lab.의 emacs(Warren Montgometry)로 발전 2. 일반 사용자를 위한 유닉스

47 3. 문서 편집 및 처리 단일 모드: 명령 모드와 텍스트 입력 모드의 구분이 없다 대화식 오류 확인 기능 제공: 초보자에 유용
문자열(character stream) 방식의 편집: 제어열에서 대소문자 구분 없음 ctrl-h t (emacs 도움말) esc ? (emacs 도움말) 다중 윈도우 기능 제공 2. 일반 사용자를 위한 유닉스

48 3. 문서 편집 및 처리 편집 시작 emacs [화일명] emacs의 초기화면은 타이핑이 시작되면 자동으로 없어짐
줄이 길어도 자동으로 분리되지않으므로 사용 분리 화면의 넓이보다 더 긴 줄은 줄 끝에 \f0 가 표시됨 화면 맨 밑에 mode line이 제공됨 2. 일반 사용자를 위한 유닉스

49 3. 문서 편집 및 처리 mode line 3개의 대시(-) : **가 포함되면 현재 화일이 수정되었음을 의미함
"Emacs:" 다음에 현재의 화일이름이 나옴 (없으면, *scratch*) (현재의 편집모드): 초기화면에서는 (fundamental) 화일내에서의 상대적 위치(백분율): All(전부), Top(시작), Bot(끝) 2. 일반 사용자를 위한 유닉스

50 3. 문서 편집 및 처리 편집 종료 ctrl-x ctrl-c (수정 후 저장하지않았으면 emacs가 물어봄)
ctrl-x ctrl-s (현재 작업 중인 화일을 저장함) ctrl-x ctrl-f (또다른 화일을 편집) 2. 일반 사용자를 위한 유닉스

51 3. 문서 편집 및 처리 기초 명령 입력 진행 ctrl-g (어떤 emacs 명령을 종결하고 새로운 명령을 기다리는 상태화)
ctrl-x 1 (커서가 놓여 있는 window를 제외한 나머지 윈도우를 닫음) 입력 진행 단순한 타이핑으로 텍스트가 입력됨 2. 일반 사용자를 위한 유닉스

52 3. 문서 편집 및 처리 커서 이동 한 줄 위(ctrl-p) 한 줄 아래(ctrl-n)
한 문자 오른쪽(ctrl-f) 한 문자 왼쪽(ctrl-b) 줄의 시작(ctrl-a) 줄의 끝(ctrl-e) 한 단어 후진(esc b) 한 단어 전진(esc f) 한 화면 아래로(ctrl-v) 한 화면 위로(esc v) 화일의 시작(esc <) 화일의 끝(esc >) 2. 일반 사용자를 위한 유닉스

53 3. 문서 편집 및 처리 텍스트 삭제 삭제 버퍼에 자동으로 들어감 커서 앞 문자(del) 커서 뒤 문자(ctrl-del)
커서 앞 단어(esc del) 커서 뒤 단어(esc d) 현재 줄 끝까지(ctrl-k) 문장(esc k) 2. 일반 사용자를 위한 유닉스

54 3. 문서 편집 및 처리 텍스트의 영역 정하기 삭제 복귀 마크 설정(ctrl-@) 영역 잡기 : 마크와 커서의 사이
영역 삭제(ctrl-w): delete-to-buffer 삭제 복귀 마지막 삭제 버퍼 복귀(ctrl-y) 이전 삭제 복귀(esc y) 다음 삭제를 덧붙이기(esc ctrl-w) 하나의 편집 수행을 취소(ctrl-x u) 2. 일반 사용자를 위한 유닉스

55 3. 문서 편집 및 처리 탐색 및 치환: incremental search sss의 전방탐색(ctrl-s sss)
sss의 후방탐색(ctrl-r sss) 전방탐색 반복(ctrl-s) 후방탐색 반복(ctrl-r) 탐색 작업 끝(esc) 전체적인 탐색/치환(esc x repl s) emacs가 대화식으로 진행함 전체적인 탐색/치환(esc r) 2. 일반 사용자를 위한 유닉스

56 3. 문서 편집 및 처리 다중 윈도우 작업 윈도우 열기(ctrl-x 2) splitting-current window
커서가 놓여 있는 window를 제외한 나머지 윈도우를 닫음(ctrl-x 1) 커서가 놓여 있는 window를 닫음(ctrl-x d) 다른 윈도우(ctrl-x ctrl-o) 다음 윈도우(ctrl-x n) 이전 윈도우(ctrl-x p) 두 개의 윈도우에 두 개의 다른 화일 불러 방문하기(ctrl-x ctrl-v) 2. 일반 사용자를 위한 유닉스


Download ppt "2. 일반 사용자를 위한 유닉스."

Similar presentations


Ads by Google