55
Computer Network Lab. 2. 일일 일일일일 일일 일일일 일일일 일일 일일일 (login) 일일일 ID 일 일일일일일 일일 일일일 ID 일 일일 일일일일 일일일 일일 일일 일일 login: // 일일일 I password: // 일일일 일일일일

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

Embed Size (px)

DESCRIPTION

2. 일반 사용자를 위한 유닉스. 시동과 종료 로그인 (login) 사용자 ID 와 패스워드를 입력 사용자 ID 는 다른 사용자와 구분해 주는 고유 이름. login: // 사용자 ID 입력 password: // 사용자 패스워드 입력. 2. 일반 사용자를 위한 유닉스 ( 계속 ). 로그인 실패 시 로그인 후 첫번째 메시지. Login incorrect login: // 다시 로그인 시도. - PowerPoint PPT Presentation

Citation preview

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 시동과 종료

로그인 (login) 사용자 ID 와 패스워드를 입력 사용자 ID 는 다른 사용자와 구분해 주는 고유 이름

login: // 사용자 ID 입력

password: // 사용자 패스워드 입력

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

로그인 실패 시

로그인 후 첫번째 메시지

Login incorrectlogin: // 다시 로그인 시도

Last login: Mon Mar 8 16:13:30 from netwk.hannam.ac.krSun Microsystems Inc. SunOS 5.5.1 Generic May 1996

# _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

패스워드 설정과 변경 일반적으로 6 문자 이상 입력

/etc/passwd 에 암호화된 형태로 저장

# passwd

passwd: Changing password for james

Enter login password: // 현재 패스워드 입력 New password: // 새로운 패스워드 입력 Re-enter new password: // 새로운 패스워드 재입력 # _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

로그아웃 (logout) 사용자가 컴퓨터 시스템 사용을 종료하고자 할 경우 , 그

시스템으로 부터 빠져 나오는 과정

# logout

또는

# exit

또는

# ^D

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

Computer Network Lab.

명령어 [ - 옵션 인수 ]

2. 일반 사용자를 위한 유닉스 ( 계속 )

유닉스 명령 형식

명령어는 반드시 소문자로 입력한다 . 명령어와 옵션 , 옵션과 인수 사이에는 한 개 이상의

공백이 있어야 한다 .

작업 지시어명령 수행의 방법

명령 수행의 대상

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

온라인 도움말 정보 (man: manual page)

man [ chapter ] word

man -k keyword

# man -k mode // 키워드를 mode 로 가지는 도움말 정보 출력 chmod chmod (1) - change the permissions mode of file chmod chmod (2) - change access permission mode of a file def_prog_mode curs_kernel (3x) - low-level curses routines def_shell_mode curs_kernel (3x) - low-level curses routines

….

-k: 키워드 검색

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

특수 문자 ( 메타 문자 ) 터미널에 입력되었을 때 특수하게 해석되는 문자 메타 문자 목록 얻기

stty all or -a // 모든 메타 문자 목록 얻기

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

# stty -a // 모든 메타 문자 목록 출력erase kill werase rprnt flush lnext susp intr quit stop eof

^H ^U ^W ^R ^O ^V ^Z/^Y ^C ^\ ^S/^Q ^D # stty kill ^k // 줄 삭제를 ^k 로 변경# stty -aerase kill werase rprnt flush lnext susp intr quit stop eof^H ^k ^W ^R ^O ^V ^Z/^Y ^C ^\ ^S/^Q ^D# _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

프로세스의 종료 : Control-C

작업 완료 이전에 프로세스의 종료

# man man //man 에 대한 도움말 정보 man(1) User Commands man(1) NAME man - find and display reference manual pages SYNOPSIS man [ - ] [ -adFlrt ] [ -M path ] [ -T macro-package ] [-s section ] name ... man [ -M path ] -k keyword …^c // 작업의 종료 # _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

출력의 정지 : Control-S / Control-Q ^S: 터미널 출력의 일시 중시 ^Q: 터미널 출력의 재개

# man ls ls(1) User Commands ls(1) NAME ls - list contents of directory SYNOPSIS ^S // 터미널 출력의 일시 중지 ^Q // 터미널 출력의 재개 /usr/bin/ls [ -aAbcCdfFgilLmnopqrRstux1 ] [ file... ] /usr/xpg4/bin/ls [ -aAbcCdfFgilLmnopqrRstux1 ] [ file... ] SUNWcsu

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

입력의 끝 : Control-D

# cat > test

In my dreams that fill the night,

I see our eyes

^D // 입력의 끝 # _

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

Computer Network Lab.

작업 디렉토리 확인 (Print Working Directory)

2. 일반 사용자를 위한 유닉스 ( 계속 )

# pwd // 현재 작업 디렉토리를 출력 /user/james

# _

pwd

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

화일 생성 : cat 표준 입력이나 파일로부터 입력 받아 이를 표준 출력에 표시한다 .

# cat > test // 키보드 입력을 test 파일에 저장 hi! I hope that you get this file. ^D # cat -n test // 줄 번호를 포함한 파일의 내용보기 1 hi! 2 I hope that you get this file. # _

cat -n { filename } -n: 출력에 줄 번호 표시

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

# cat test // 줄번호를 포함시키지 않고 , test 파일 보기 hi! I hope that you get this file. # _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

디렉토리 내용 보기 : ls

ls -adglsFR {filename} {directoryname}

-a : 숨겨진 파일 나열

-d: 디렉토리 자체의 상세 정보

-g: 파일의 그룹 정보

-l: 허가정보 , 소유권 , 최종변경일자를 포함하는 긴 목록 제공

-s: 파일들이 차지하는 크기를 디스크 블록 단위로 제공

-F: 파일 이름 다음에 파일의 특성을 나타내기 위한 문자 제공

-R: 디렉토리의 내용과 그 서브 디렉토리의 내용을 재귀적으로 제공

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

# ls // 현 디렉토리의 모든 파일 출력heart heart1 heart2 tmp

# ls -a // 숨겨진 파일 출력 . .. heart heart1 heart2 tmp

# ls -l // 허가정보 , 소유권 등을 포함한 긴 목록 제공 -rw-r--r-- 1 james netwk 106 5 월 16 일 14:25 heart -rw-r--r-- 2 james netwk 135 5 월 27 일 11:19 heart1 -rw-r--r-- 2 james netwk 133 5 월 27 일 11:19 heart2 drwxr-xr-x 2 james netwk 512 5 월 27 일 16:55 tmp

# ls -R // 디렉토리 내용과 그 서브 디렉토리 내용을 재귀적으로 출력 . : heart heart1 heart2 tmp . /tmp: test1 test2 test3# _

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

Computer Network Lab.

파일의 내용보기 : more/ page/ head/ tail more: 한번에 한 페이지씩 출력

page: 각 페이지를 화면에 표시하기 전에 전체 화면을 지우는 것을 제외하고는 more 와 동일

more -f { +lineNumber} {fileName}

-f: 긴 라인을 연속적으로 출력+lineNumgber: 시작 번호 명시 , 디폴트는 첫번째 줄부터 시작

2. 일반 사용자를 위한 유닉스 ( 계속 )

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

Computer Network Lab.

head: 파일의 처음 n 줄을 출력

tail: 파일의 마지막 n 줄부터 출력

head -n {fileName}

-n: n 번째 라인까지 출력 , 디폴트는 10

2. 일반 사용자를 위한 유닉스 ( 계속 )

tail -n {fileName}

-n: 마지막 줄에서 n 번째 라인의 줄부터 출력

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

# cat > heart //heart 파일 생성 I hear her breathing,

I'm surrounded by the sound.

Floating in this secret place,

I never shall be found.

^D

# head -2 heart //heart 파일의 첫번째 두줄 출력 I hear her breathing,

I'm surrounded by the sound.

# tail -2 heart // heart 파일의 마지막 두줄 출력 Floating in this secret place,

I never shall be found.

# _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

mv -i oldfile newfile // oldfile 을 newfile 로 변경

mv -i {filename} directoryname // filename 을 directoryname 으로 이동

mv -i olddirectory newdirectory // olddirectory 을 newdirectory 로 변경

파일의 이름 변경 및 이동 : mv

-i : 새로운 파일 이름이 이미 존재하는 경우를 위한 확인 프롬프트 생성

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

# ls -R // 현재 디렉토리 목록을 재귀적으로 출력 . : old.txt tmp ./tmp:

test # mv old.txt new.txt // old.txt 를 new.txt 로 이름을 변경 # ls

new.txt tmp # mv tmp temp // tmp 디렉토리를 temp 디렉토리로 변경 # ls new.txt temp # mv -i new.txt temp // new.txt 를 temp 디렉토리로 이동 # ls -R . : temp ./temp: new.txt test # _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

디렉토리 만들기 : mkdir

mkdir Directoryname

# ls -l -rw-r--r-- 1 james netwk 133 5 월 27 일 11:19 temp.txt # mkdir newdir // newdir 디렉토리 생성# ls -ldrwxr-xr-x 2 james netwk 512 5 월 30 일 22:01 newdir-rw-r--r-- 1 james netwk 133 5 월 27 일 11:19 temp.txt # _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

다른 디렉토리로 이동 : cd

cd [Directoryname]

Directoryname 의 인수가 없는 경우에 , 사용자의 홈 디렉토리로 이동

# pwd/user/james/tmp# cd temp //temp 디렉토리로 이동# pwd/user/james/tmp/temp# cd // 사용자의 홈 디렉토리로 이동# pwd/user/james# _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

파일 복사 : cp cp -i oldfile newfile

cp -r olddirectory newdirectory

- i : 이미 존재하는 경우를 위한 확인 옵션 - r : olddirectory 내에 있는 모든 파일과 서브디렉토리를 재귀적 으로 newdirectory 에 복사

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

Computer Network Lab.

# ls -l drwxr-xr-x 2 james netwk 512 6 월 17 일 10:30 tmp -rw-r--r-- 1 james netwk 124 6 월 17 일 19:37 text # cp text newtext // text 를 newtext 로 복사 # ls text newtext tmp # cd tmp # ls -l drwxr-xr-x 2 james netwk 512 6 월 20 일 19:37 sub_tmp -rwxr-xr-x 3 james netwk 215 6 월 20 일 10:30 data.txt # cd .. # cp -r tmp tmp2 // tmp 를 tmp2 에 재귀적으로 복사 # cd tmp2 # ls -l drwxr-xr-x 2 james netwk 512 6 월 22 일 16:07 sub_tmp -rwxr-xr-x 3 james netwk 215 6 월 22 일 16:07 data.txt # _

2. 일반 사용자를 위한 유닉스 ( 계속 )

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

디렉토리 제거rmdir {directoryname}

디렉토리가 제거 되기 전 , 그 디렉토리내에 있는 모든 파일은 제거되어야 한다 .rm -r : 디렉토리와 그 내용 모두를 재귀적으로 제거

# rmdir temp rmdir: 디렉토리 ” temp": 디렉토리가 비어 있지 않음# rm -r temp# ls# _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

파일의 삭제rm -fir {filename}

-f : 어떤 에러 메시지나 지시 사항도 나타내지 않는다 .

-r: 서브디렉토리를 포함한 모든 내용을 재귀적으로 삭제-i: 화일 삭제 전 사용자에게 확인 요구

# ls

file1 file2 file3

# rm * // 해당 디렉토리내의 모든 파일 삭제# ls -a . .. // 해당 디렉토리내에 파일이 존재하지 않음# _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

파일 내 단어 수 세기 : wcwc -lwc {filename}

- l : 줄 수 - w : 단어 수 - c : 문자 수

# cat heart I hear her breathing, I'm surrounded by the sound. Floating in this secret place, I never shall be found. # wc -lwc heart 4 19 106 heart // 줄 , 단어 , 문자 순으로 출력# _

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

Computer Network Lab.

화일 속성

필드의 속성

2. 일반 사용자를 위한 유닉스 ( 계속 )

# ls -l heart

-rw-r--r-- 1 james netwk 106 5 월 16 일 14:25 heart

필드 값-rw-r--r--

1jamesnetwk106

5 월 16 일 14:25heart

의 미허가권 모드하드 링크 갯수파일 소유자의 사용자 ID파일의 그룹 ID파일의 크기 , 단위는 바이트파일이 마지막으로 변경된 시간파일 이름

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

파일 유형 첫번째 필드의 첫번째 문자는 다음과 같이 부호화된 파일의 유형을 나타내고 있다 .

문 자 파일 유형- 일반 파일d 디렉토리 파일b ( 디스크 드라이브와 같이 ) 버퍼된 특수 파일c ( 터미널 같이 ) 버퍼되지 않은 특수 파일l 심볼릭 링크p 파이프s 소켓

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

화일 허가권

하드 링크 계수 : 얼마나 많은 레이블이 동일한 물리적 파일을 가리키는 가를 표시

r w - r - - r - x

User group others

읽 기 허가 쓰기 허가 실행 허가

r w x

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

그룹 목록 보기 : groups

groups [userID]

# groupsnetwk # _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

파일 그룹 변경 : chgrp

chgrp -R groupID {fileName}

-R: 디렉토리내에 있는 모든 파일의 그룹을 재귀적으로 변경

# ls -l heart

-rw-r--r-- 1 kang netwk 106 5 월 16 일 14:25 heart

# chgrp ce heart // 파일의 그룹을 ce 로 변경# ls -l

-rw-r--r-- 1 kang ce 106 5 월 17 일 10:05 heart

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

화일의 허가권 변경 : chmod

mode

chmod -R mode {filename}

-R: 디렉토리내에 있는 파일 모드를 재귀적으로 변경

형식 : 대상 + 허가권 대상 - 허가권 대상 = 허가권 대상 : u(user), g(group), o(others), a(all) 허가권 : r(read), w(wirte), x(excute)

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

mode 예허가권모드

g+w

u-rw

a+x

요구 사항그룹 쓰기 허가권 추가

사용자 읽기 및 쓰기 허가권 제거

모든 사람에게 실행 허가권 추가

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 ) # ls -l heart -rw-r--r-- 1 kang netwk 106 5 월 16 일 14:25 data.txt # chmod g+w data.txt // 그룹에게 쓰기 허가권 부여 # ls -l data.txt -rw-rw-r-- 1 kang netwk 106 5 월 16 일 14:25 data.txt # chmod +x data.txt // 실행 허가권을 모두에게 부여

# ls -l data.txt

-rwxrwxr-x 1 kang netwk 106 5 월 16 일 14:25 data.txt

# chmod -w data.txt // 모든 사람에게 쓰기 허가권 제한 # ls -l data.txt

-r-xr-xr-x 1 kang netwk 106 5 월 16 일 14:25 data.txt

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

8 진수를 이용한 파일 허가권 설정 각 8 진수는 세 단위 (u,g,a) 의 허가권을 나타낸다 .

설정2 진수8 진수

사용자 (user)rwx1117

그룹 (group)r-x1015

모든 사용자 (all)---

0000

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

# ls -l heart -rw-r--r-- 1 kang netwk 106 5 월 16 일 14:25 heart# chmod 750 heart# ls -l heart -rwxr-x--- 1 kang netwk 106 5 월 16 일 14:25 heart# chmod 777 heart# ls -l heart -rwxrwxrwx 1 kang netwk 106 5 월 16 일 14:25 heart# chmod 111 heart# ls -l heart ---x--x--x 1 kang netwk 106 5 월 16 일 14:25 heart

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

파일의 소유권 변경 : chownchown -R newUserID {fileName}

-R: 재귀적으로 디렉토리내의 파일에 대한 소유권변경수퍼 유저만이 변경가능

# ls -l heart -rw-r--r-- 1 kang netwk 106 5 월 16 일 14:25 heart# chown kim heart // heart 의 소유권을 kang 에서 kim 으로 변경# ls -l heart -rw-r--r-- 1 kim netwk 106 5 월 16 일 14:25 heart# _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

그룹의 변경 : newgrp

newgrp [groupID]

수퍼 유저만이 변경 가능

# date > test1 //netwk 그룹 쉘로 test1 생성# ls -l-rw-r--r-- 1 james netwk 133 5 월 27 일 11:19 test1 # newgrp others // 일시적으로 others 그룹쉘 생성# date > test2 // others 그룹 쉘로 test2 생성# ls -l-rw-r--r-- 1 james others 133 5 월 27 일 11:20 test2-rw-r--r-- 1 james netwk 133 5 월 27 일 11:19 test1 # _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

전자 우편 : mail 메일 보내기

mail [-v] [-s subject] {address}

-v : 메시지 전송 여부의 확인을 위해 자신에게도 메일 전송-s : subject 에 메시지 제목 지정address: 로그인 이름 , 인터넷 주소로서 이름 @ 영역 ex) james , [email protected]

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

간단한 메일 전송 # mail james // james 에게 메일 전송 ………….. // 편지 내용 입력 ^D // 입력의 끝 , 표준 입력을 전자우편으로 전송 # __

파일로 메일 전송 # cat > mail.txt hi! How is Amanda doing? with best regards from Graham

^c

# mail james < mail.txt //mail.txt 파일의 내용을 james 에게 전송

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

다중 사용자에게 메일 전송 # mail james june glass // james, june, glass 에게 메일 전송 ………….. // 편지 내용 입력 ^D // 입력의 끝 , 표준 입력을 전자우편으로 전송 # _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

메일 읽기

명령 모드에서 사용 가능한 mail 명령

mail // mail 명령 모드로 진입

명 령?

file [filename]

copy [mesg] [filename]delete [mesg]

mail {userID}

reply [mesg]

print [mesg]quit

save [mesg] [filename]

의 미도움말 정보

우편함에 있는 filename 으로부터 읽어 온다 .

mesg 를 filename 에 복사mesg 를 삭제

userID 에게 메일전송

mesg 를 보낸 송신자에게 회신

more 를 이용하여 명세 된 메시지 출력mail 명령 모드에서 빠져 나온다 .

mesg 를 filename 에 저장

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

하나 이상의 전자우편 메시지를 나타내는 집합

구 조.

nn

^

$

*

nn - mm

user

의 미현재 메시지메시지 번호 nn

지워지지 않은 메시지 중 첫번째마지막 메시지모든 메시지nn 부터 mm 사이에 포함된 메시지user 로부터의 모든 메시지

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

$ mail // 명령모드로 진입mail version 5.0 Thu May 2 21:00:21 PDT 1999 도움말 정보 필요시 ? 입력 .

"/var/mail/james": 4 개 메시지 4 개 신규

>N 1 hall Wed Feb 24 23:00 15/353 >N 2 june Wed Feb 24 23:20 15/353>N 3 glass Wed Feb 24 23:30 15/353 >N 4 kang Wed Feb 24 23:35 15/353 ? 3 // 3 번 메시지 선택Message 3:From glass Wed Feb 24 23:30 KST 1999Date: Wed, 24 Feb 1999 23:30:47 +0900 (KST)From: glass…………. // 메시지 내용?

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

? ^ // 지워지지 않은 메시지 중 첫번째 메시지Message 1:

From hall Wed Feb 24 23:00 KST 1999Date: Wed, 24 Feb 1999 23:01:57 +0900 (KST)From: hall

……………… // 메시지 내용

? quit

# _

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

파일 편집 : vi Berkeley 의 BSD 유닉스용으로 개발되었고 , 현재는

모든 유닉스 시스템에서 사용 가능한 에디터 명령 모드와 텍스트 입력 모드가 존재

vi 에디터의 호출

# vi // 인수 없이 vi 에디터 호출# vi filename // filename 파일을 편집하기 위해 vi 에디터 호출

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

# vi vi_test // 새로운 vi_test 파일

// 커서 위치 ( 입력 라인 ) ~ // 빈 라인은 ~ (tilde) 로 표시 ~ ~ ~ ~ ~

"vi_test" [ 새 파일 ] // 마지막 라인

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

파일의 저장과 종료키

:w <filename>

:w

:q

의 미filename 으로 저장하고 수행을 계속현재의 이름으로 저장하고 수행을 계속편집한 내용이 없을 경우 수행을 종료현재의 이름으로 저장하고 수행을 종료:wq

:q!

:sh

편집한 내용을 저장하지 않고 수행을 종료일시적으로 쉘 프롬프트 상태로 전환 ( 복귀 : ^D)

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

텍스트 입력 모드 명령모드에서 텍스트 입력 모드로의 전환

텍스트 입력 모드에서 명령모드로의 전환 : Esc 키

키iaoOR

수 행텍스트가 커서 앞에서 삽입텍스트가 커서 뒤에서 삽입텍스트가 현재 줄 다음부터 삽입텍스트가 현재 줄 앞에서 삽입텍스트가 대치된다 .

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

명령 모드 커서 이동

이 동 한 줄 위로 한 줄 아래로 한 문자 오른쪽으로 한 문자 왼쪽으로 한 단어 앞으로 한 단어 뒤로

nn 줄로

키 , k , j , l , h

bw

:nn 현재 줄로: .

마지막 줄로:$

한 화면 밑으로 이동Control-f 한 화면 위로 이동Control-b

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

편집 복사

붙이기 의 미키

아래로 ( 오른쪽으로 ) 붙이기p

의 미 한 줄 복사 두 줄 복사

키yy, Y2yy

n 줄 복사nyy

위로 ( 왼쪽으로 ) 붙이기P

한 단어 복사yw

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

텍스트 지우기

<range> 는 줄의 범위를 나타낸다 ex) 첫 줄에서 마지막 줄 까지 지정 : 1 , $

현재 줄에서 그 다음 두개 줄 지정 : . , +2

3 번째 줄에서 13 번째 줄 지정 : 3 , 13

지울 대상문자단어

줄현재 줄 끝까지블록 단위의 줄

키문자 위에 커서를 위치시키고 , x 를 입력단어 시작 부분에 커서를 위치시키고 , dw 를 입력줄 위에 커서를 위치시키고 , dd 를 입력 D 를 입력: <range>d

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

Computer Network Lab.

2. 일반 사용자를 위한 유닉스 ( 계속 )

텍스트 치환

탐색

치환 대상문 자

단 어

키문자 위에 커서를 위치하고 , r 를 입력 후 치환할 문자 입력단어의 첫 위치에 커서를 두고 , cw 를 누른 후 , 치환할 텍스트를 입력하고 , Esc 를 누른다 .

줄의 아무 위치에나 커서를 위치시키고 , cc 를 누른 다음치환할 텍스트를 입력하고 , Esc 키를 누른다 .

키/sss?sss

n

행 동현재 위치에서 파일의 뒤쪽으로 문자열 sss 를 탐색현재 위치에서 파일의 앞쪽으로 문자열 sss 를 탐색마지막 탐색 명령을 반복