ABC 7장

Similar documents
<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D>

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Linux SHELL

Linux SHELL

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

Microsoft PowerPoint - 02-Shell-Programming

Microsoft PowerPoint UNIX Shell.pptx

Microsoft PowerPoint - comp_prac_081223_2.pptx

Microsoft PowerPoint UNIX Shell.ppt

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

벤처연구사업(전동휠체어) 평가

PowerPoint 프레젠테이션

Chapter 05. 파일접근권한관리하기

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

chap2

PowerPoint 프레젠테이션

리눅스 프로세스 관리

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -

제2장 리눅스 사용

Microsoft PowerPoint 통신 및 압축 명령어.ppt

제2장 유닉스 사용

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - u4.pptx

Discrete Mathematics

작성자 : 기술지원부 김 삼 수

Microsoft PowerPoint - 05_(Linux)_(Fundamental)_Shell_Programming

PowerPoint 프레젠테이션

Microsoft PowerPoint - u3.ppt [호환 모드]

untitled

PowerPoint 프레젠테이션

Microsoft PowerPoint - 5. 사용자 계정관리-1(2016-1학기).ppt [호환 모드]

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

Microsoft Word - Lab_080104A.docx

Computer Programming (2008 Fall)

Adobe Flash 취약점 분석 (CVE )

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint 웹 연동 기술.pptx

PowerPoint 프레젠테이션

슬라이드 1

본 강의에 들어가기 전


Microsoft PowerPoint - e pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint oshw1.ppt [호환 모드]

윈도우즈프로그래밍(1)

vi 사용법

PowerPoint 프레젠테이션

1. exit logout 하는 command 는아주간단하다. exit 을커맨드에서입력하고 return 키를누르면 logout 된다. 2. ls & command option 현재 directory 에서 file 의 list 를보는명령어, 즉 DOS 에서의 dir 에해

PowerPoint 프레젠테이션

ksh프로그램문법.ppt

문서의 제목 나눔고딕B, 54pt

C# Programming Guide - Types

Microsoft PowerPoint - u5.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

PowerPoint 프레젠테이션

chap 5: Trees

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

UI TASK & KEY EVENT

Microsoft PowerPoint - 03_(Linux)_(Fundamental)_File_Directory

/chroot/lib/ /chroot/etc/

Table of contents 1. 구성도 Maxgauge For MySQL 설치정보... 6 설치파일정보... 6 포트정보... 6 주요디렉토리... 6 소프트웨어기동 / 종료... 7 기동... 7 종료 Maxgauge For MySQ

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

MySQL-.. 1

Microsoft PowerPoint - 01_1_Linux_Unix_기초.ppt [호환 모드]

MySQL-Ch10

PowerPoint Presentation

PowerPoint 프레젠테이션

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

3) MySQL data 백업백업방법 : dump 파일로저장저장위치 : /backup/mysqldump 백업주기 : 시간별 (/etc/cron.hourly) 또는일별 (/etc/cron.daily) 보관기간 : 7 일백업스크립트 : 아래예제 6-1). 참조 4) 웹데이

C 프로그램의 기본

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

Studuino소프트웨어 설치

Tcl의 문법

Microsoft Word - PLC제어응용-2차시.doc

Microsoft PowerPoint - u6.pptx

vi 사용법

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

JVM 메모리구조

Unix & Linux 개요 Company 서울대학교통계학과 2010년 2학기컴퓨터의개념및실습 ( Thanks to: cancho & facewhite from SPARC/KAIST, Bruce La Plante fro

Microsoft PowerPoint - chap05-제어문.pptx

PowerPoint 프레젠테이션

운영체제실습_명령어

자연언어처리

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

기본 리눅스 명령어

1 Shell script What the shell?

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Transcription:

1 장 Cygwin 김명호

내용 Cygwin 란 Cygwin 설치및사용법 vi 쉘및쉘프로그래밍 1

교재외자료 운영체제 사용자와컴퓨터하드웨어사이에있는프로그램 목적 사용자프로그램수행 컴퓨터를쉽게사용할수있게함 컴퓨터를효율적으로사용하게함 운영체제종류 UNIX LINUX DOS Windows 7/8... 2

교재외자료 UNIX Ken Tompson(1969, Bell 연구소 ) C 언어로작성 단순하지만강력한사용자인터페이스 유용한많은프리미티브들 계층적파일시스템 일관적인파일포맷 ( 바이트스트림 ) 일관성있는디바이스접근 다중사용자 다중작업 등등.. Linux를포함하여요즘사용하는거의모든운영체제에영향을줌 3

Cygwin Windows 상에서 Linux 와유사한환경을제공할목적으로개발된공개소프트웨어 Cygwin 에서사용할수있는 grep, sed, awk 와같은리눅스명령어는 GNU 프로젝트에의해개발된리눅스명령어프로그램들을 Cygwin 으로포팅한것임 4

Cygwin1.dll Windows 에서 Linux API 에뮬레이션레이어 ( 원격 Linux 를대신 ) 로서동작 Cygwin 에서수행되는프로그램은실제로는 Windows 상에서동작하는응용프로그램이지만 cygwin1.dll 의도움을받아마치 Linux 상에서실행되는것처럼보임 DLL : Win32 의공유라이브러리 ( 런타임바인딩 ) 5

Cygwin 프로젝트역사 1/2 1995년 Cygnus Solutions(1999년 Red Hat Software와합병 ) 에서개발시작 1996년 10월 Cygwin 베타 17.1 버전 Cygwin API(cygwin1.dll) 개발 gcc를 Win32 환경으로포팅 GNU 유틸리티들을 Win32 환경에서직접포팅 (self-hosting) 6

2000 년 4 월 Cygwin 프로젝트역사 2/2 setup.exe 프로그램을통해개별패키지들을설치및업그레이드할수있는모놀리식인스톨방식의 Cygwin 툴셋을발표 2008 년 가장최근의메이저릴리즈버전인 1.7 을발표 Windows 95/98/Me 와의호환성지원중단 현재 Cygwin DLL 과 setup.exe 의개발지속 32 비트버전과 64 비트버전제공 7

Cygwin 설치 Cgywin 홈페이지 : http://www.cygwin.com 컴퓨터사양에따라 32 비트나 64 비트버전중선택하여설치 실행하면 setup 윈도우가나타남 8

Cygwin 설치 9

Cygwin 설치 10

Cygwin 설치 11

Cygwin 설치 12

Cygwin 설치 13

Cygwin 설치 14

Cygwin 설치 15

Cygwin 설치 16

Cygwin 설치 Select packages 단계에서필요한프로그램 ( 패키지 ) 를선택함 프로그래밍을위해서는다음패키지를설치해야함 Devel 폴더 "gcc core: C compiler" "gdb: The GNU Debugger" "make: The GNU version of the make utility" Editors 폴더 "vim: Vi IMproved enhanced vi editor" 17

Cygwin 설치 18

Cygwin 설치 19

Cygwin 설치 20

Cygwin 설치 21

Cygwin 업데이트 Cygwin setup 프로그램실행한후 Select packages 단계전까지는설치때와똑같이진행하고, Select packages 단계에서패키지추가, 업데이트, 삭제등을선택하면됨 New 필드를클릭하면됨 22

Cygwin 업데이트 23

대부분의 Linux 명령제공 Cygwin 명령어 필요패키지설치 Linux 가제공하는옵션과출력형태가다소상이 Linux 는 Windows 와달리디렉터리도파일로취급 24

man 도움말명령어 사용자명령어나시스템콜, 라이브러리함수등의설명과사용법을포함하는매뉴얼을보여주는명령어 사용법 man [option][section] name section 설명 1 사용자명령어 2 시스템콜 3 C 라이브러리함수 4 특수파일에대한설명 5 설정파일에대한설명 25

프로그래밍관련명령어 필수명령어 gcc : C 프로그램을컴파일하는컴파일러 gdb : 프로그램을디버깅하는디버거 gprof : 프로그램의프로파일을보여주는프로파일러 make : 여러파일로작성된프로그램을효율적으로컴파일할수있게하는프로그램 size : 실행파일의각섹션별크기보여줌 26

파일관련 필수명령어 cat : 파일내용을화면에출력 cmp : 두파일을바이트단위로비교 diff : 두텍스트파일을행단위로비교 gawk : 패턴검색및처리언어 grep : 파일에서패턴찾기 vi : 문서편집기 27

파일시스템관련 필수명령어 cd : 디렉터리이동 chmod : 파일이나디렉터리접근허가변경 chown : 파일이나디렉터리소유자변경 cp : 파일복사 df : 디스크공간출력 du : 사용하고있는디스크용량출력 find : 디렉터리구조에서파일검색 28

파일시스템관련 2 필수명령어 ln : 파일이나디렉터리간의연결설정 ls : 파일목록출력 mkdir : 디렉터리생성 mv : 파일이나디렉터리이름변경 rm : 파일삭제 rmdir : 디렉터리삭제 touch : 파일을생성하거나파일의접근시간수정 29

기타 필수명령어 bc : 계산기 date : 시간출력 finger : 사용자정보출력 kill : 프로세스에신호를보내거나종료시킴 man : 매뉴얼페이지출력 ps : 프로세스상태출력 time : 프로세스실행시간출력 30

cat 파일관련명령어 - cat 파일연결및출력명령어 사용법 cat [option] [file] 자주사용하는옵션 -b : 행번호와함께출력 ; 빈행은행번호를매기지않음 -n : 행번호와함께출력 ; 빈행도행번호를매김 사용예 $ cat egg $ cat egg > new_egg $ cat egg new_egg > family_egg $ cat -b egg 31

cat 사용예 파일관련명령어 - cat $ cat > student // 새로운파일만들기 James Kim James Bond ^D // control + d $ cat student James Kim James Bond $ 32

교재외자료 파일관련명령어 - cat 33

파일관련명령어 - grep grep 파일에서주어진패턴과매치하는행을출력하는명령어 사용법 grep [option] pattern [file] 자주사용하는옵션 -c : 패턴과일치하는행의개수출력 -i : 대소문자를구분하지않고출력 -l : 패턴과일치하는행을가지는파일명을출력 -n : 행번호와함께출력 -v : 검색조건을만족하지않는행을출력 -w : 패턴과일치하는단어만을출력 사용예 $ grep fox text $ grep -in fox text 34

교재외자료 파일관련명령어 - grep 35

head 파일관련명령어 - head 파일시작부분의내용을출력하는명령어 사용법 head [option] [file] 자주사용하는옵션 -c num : 파일시작부분부터 num byte 까지출력 -n num : 파일시작부분부터 num 행까지출력 사용예 $ head -n 5 file 36

교재외자료 파일관련명령어 - head 37

tail 파일관련명령어 - tail 파일마지막부분의내용을출력하는명령어 사용법 tail [option] [file] 자주사용하는옵션 -c num : 파일마지막부분부터이전 num byte 까지출력 -n num : 파일마지막부분부터이전 num 행까지출력 사용예 $ tail -c 100 file 38

less 파일관련명령어 less 파일을한화면단위로출력하는명령어 cat 명령과달리파일내용을한페이지씩출력 b 명령을사용하여이전페이지출력이가능 사용법 less [option] [file] 39

more 파일관련명령어 more 파일을한화면단위로출력하는명령어 cat 명령과달리파일내용을한페이지씩출력 사용법 more [option] [file] 40

파일시스템 파일을쉽게찾고접근할수있게하기위해파일을저장하고구조화하는체계 루트디렉터리 파일시스템에서최상위디렉터리 모든파일및디렉터리는루트로부터시작하여접근가능 / 로표현 작업디렉터리 ( 현재디렉토리 ) 파일시스템상에서현재위치를의미. 으로표현 부모디렉터리 작업디렉터리의바로상위디렉터리.. 으로표현 홈디렉터리 각사용자에게할당된디렉터리 ~ 로표현 41

경로 파일시스템 파일시스템의특정위치에서부터지정된위치까지통과하게되는디렉터리및파일을연결시켜놓은것 경로상의디렉터리및파일은 / 기호로구분 home/kmh/project 절대경로 루트로부터시작하는경로 /home/kmh/project/cal.c 상대경로 루트로부터시작하지않는경로로, 현재디렉터리부터의경로../kmh/project/cal.c 42

접근권한 파일시스템 사용자유형별로파일의읽기, 쓰기, 실행여부를나타냄 Linux 와같은다중사용자운영체제에서사용자파일의보호를위해사용 사용자는파일소유자, 그룹사용자, 기타사용자로구분 43

파일시스템 접근권한 문자위치 첫번째 2~4번째 5~7번째 8~10번째 의미 파일의종류를나타냄 ; d : 디렉터리, - : 일반파일, l : 심볼릭링크, p : 이름있는파이프, 등 파일소유자의권한 ; 3 개의문자는각각읽기, 쓰기, 실행권한을나타내고, 각자리에 r, w, x 가있으면그권한이있음을, - 가있으면권한이없음을뜻함 그룹사용자의권한 ; 3 개의문자는각각읽기, 쓰기, 실행권한을나타내고, 각자리에 r, w, x 가있으면그권한이있음을, - 가있으면권한이없음을뜻함 기타사용자의권한 ; 3 개의문자는각각읽기, 쓰기, 실행권한을나타내고, 각자리에 r, w, x 가있으면그권한이있음을, - 가있으면권한이없음을뜻함 44

ls 파일시스템관련명령어 - ls 파일목록을출력하는명령어 사용법 ls [option] [file] 자주사용하는옵션 -a : 모든파일보기 -i : inode 정보까지보기 -l : 자세히보기 -R : 하위디렉터리의파일까지보기 기본적으로. 으로시작하는파일과디렉터리는출력하지않음. 으로시작하는파일은보통설정파일로사용 45

교재외자료 파일시스템관련명령어 - ls 46

pwd 파일시스템관련명령어 pwd 작업디렉터리를출력하는명령어 사용법 pwd Cygwin 실행후바로 pwd 명령을실행하면홈디렉터리경로가출력 47

cd 파일시스템관련명령어 cd 작업디렉터리를이동하는명령어 사용법 cd [option] [path] 사용예 $ cd $ cd ~ $ cd project 48

교재외자료 파일시스템관련명령어 pwd, ls 49

chmod 파일시스템관련명령어 - chmod 파일의접근권한을변경하는명령어 사용법 chmod [option] mode file 기호모드와숫자모드를통한권한변경 기호모드에비해숫자모드가많이사용됨 사용예 $ chmod u+rwx,g-w,o=r test $ chmod 754 test 50

파일시스템관련명령어 - chmod chmod 기호모드에서사용하는기호 기호분류기호의미 u 파일소유자 g 그룹사용자사용자 o 기타사용자 a 모든사용자 r 읽기권한 w 쓰기 x 실행 + 권한추가설정 - 권한삭제 = 권한배정 51

교재외자료 파일시스템관련명령어 - chmod 52

chown 파일시스템관련명령어 - chown 파일소유자를변경하는명령어 사용법 chown [option] owner file 사용예 $ chown eve test 53

교재외자료 파일시스템관련명령어 chown 54

chgrp 파일시스템관련명령어 - chgrp 파일그룹사용자를변경하는명령어 사용법 chgrp [option] group file 55

cp 파일시스템관련명령어 - cp 파일을복사하는명령어 사용법 cp [option] source_file dest_file 자주사용하는옵션 -r : 디렉터리복사 사용예 $ cp old new 56

교재외자료 파일시스템관련명령어 - cp 57

df 파일시스템관련명령어 - df 파일시스템사용정도를보는명령어 사용법 df [option] [filesystem] 58

교재외자료 파일시스템관련명령어 - df 59

du 파일시스템관련명령어 - du 디렉터리가사용하는디스크용량을출력하는명령어 사용법 du [option] [file] df 가파일시스템의사용내역을보여주는반면, du 는디렉터리가사용하는디스크용량을보여줌 60

교재외자료 파일시스템관련명령어 - du 61

find 파일시스템관련명령어 - find 파일을찾기위한명령어 사용법 find [option] [path] [expression] 사용예 $ find home -name good -print $ find. -perm 644 -print 62

파일시스템관련명령어 - find find 의 expression 연산자 -name -perm -user -nouser -type -print 설명 지정한이름의파일검색특정허가모드를가지는파일검색지정한소유자의파일검색소유자가없는파일검색지정한파일유형에해당하는파일검색표준출력에검색된파일의전체경로출력 63

교재외자료 파일시스템관련명령어 - find 64

mkdir 파일시스템관련명령어 - mkdir 디렉터리를생성하는명령어 사용법 mkdir [option] directory 자주사용하는옵션 -m : 접근권한설정 사용예 $ mkdir -m 777 forall 65

교재외자료 파일시스템관련명령어 - mkdir 66

rmdir 파일시스템관련명령어 - rmdir 디렉터리를삭제하는명령어 사용법 rmdir [option] directory 파일을포함하는디렉터리를삭제할때에는 rm 명령어를사용 67

교재외자료 파일시스템관련명령어 - rmdir 68

rm 파일시스템관련명령어 - rm 파일을삭제하는명령어 사용법 rm [option] file 자주사용하는옵션 -r : 디렉터리삭제 사용예 $ rm test $ rm -r temp 69

교재외자료 파일시스템관련명령어 - rm 70

mv 파일시스템관련명령어 - mv 파일을이동하거나이름을변경하는명령어 사용법 mv [option] source_file dest_file mv [option] file directory 사용예 $ mv boy girl $ mv boy /home/heaven 71

교재외자료 파일시스템관련명령어 - mv 72

교재외자료 파일시스템관련명령어 - mv 73

touch 파일시스템관련명령어 - touch 파일수정시간을변경하는명령어 사용법 touch [option] file 옵션없이사용하면파일의수정시간을현재시간으로변경 명시된파일이현재디렉터리에없을경우에는크기가 0 바이트인파일을생성 74

교재외자료 파일시스템관련명령어 - touch 75

which 파일시스템관련명령어 - which 명령어의절대경로를출력하는명령어 사용법 which [option] command 자주사용하는옵션 -a : 모든경로출력 76

교재외자료 파일시스템관련명령어 - which 77

umask 파일시스템관련명령어 - umask 파일및디렉터리생성시에접근권한마스크를설정하는명령어 chmod 의권한부여와는달리 umask 는권한을제한 사용법 umask [option] [mode] 자주사용하는옵션 -a : 모든경로출력 지속적인 umask 유지를위해 /etc/profile 파일을이용한설정이가능 78

교재외자료 파일시스템관련명령어 - umask 79

교재외자료 파일시스템관련명령어 - umask /etc/profile 80

파일시스템관련명령어 - ln ln 파일간의링크를생성하는명령어 사용법 ln [option] target link_name 자주사용하는옵션 -s : 심볼릭링크생성 하드링크 파일시스템에존재하는파일이나디렉터리에부여된새로운이름 다른경로로같은파일에접근가능하며 원본과동일한파일시스템내에서만생성가능 심볼릭링크 실제파일이나디렉터리를포인트하는링크 Windows 의바로가기아이콘과유사 다른파일시스템에생성가능 사용예 $ ln /etc/services ~/sv $ ln s /etc/services ~/ssv 81

교재외자료 파일시스템관련명령어 - ln 82

교재외자료 파일시스템관련명령어 - ln 83

ps 프로세스관련명령어 - ps 현재실행중인프로세스들을출력하는명령어 사용법 ps [option] [-u UID] 자주사용하는옵션 -a : 모든사용자의프로세스들을출력 -f : 프로세스소유자 id 와부모프로세스 id 를출력 -l : 프로세스소유자 id, 부모프로세스 id, 프로세스그룹 id 등을출력 -u : 지정된 UID 에의해소유된프로세스들을출력 -W : Cygwin 환경과윈도우즈환경에서실행중인모든프로세스들을출력 84

교재외자료 프로세스관련명령어 - ps 85

kill 프로세스관련명령어 - kill 프로세스에게신호를전송하는명령어 사용법 kill [option] PID kill l -l 옵션은사용가능한신호출력 사용예 $ kill -9 729 $ kill SIGKILL 729 86

교재외자료 프로세스관련명령어 - kill 87

gzip 백업관련명령어 - gzip 파일압축및압축해제명령어 압축된파일명뒤에.gz 가자동으로붙음 사용법 gzip [option] file 자주사용하는옵션 -d : 압축해제 -l : 압축된파일목록을보여줌 -r : 서브디렉터리의파일압축 사용예 $ gzip * $ gzip -d *.gz $ gzip -r project 88

교재외자료 백업관련명령어 - gzip 89

tar 백업관련명령어 - tar 아카이브생성및추출명령어 사용법 tar [option] file [file...] 자주사용하는옵션 -c : 새로운아카이브생성 -x : 아카이브로부터파일추출 -t : 아카이브내용출력 -v : 아카이브처리과정출력 -f : 아카이브이름명시 -z : 아카이브에 gzip 사용 90

tar 사용예 백업관련명령어 - tar $ tar cvf proj.tar project $ tar xvf proj.tar $ tar cvf proj.tar project $ gzip proj.tar $ tar cvfz proj.tar.gz project 91

교재외자료 백업관련명령어 - tar 92

교재외자료 백업관련명령어 - tar 93

네트워크관련명령어 - netstat netstat 네트워크연결, 라우팅테이블, 인터페이스통계등의정보를보여주는명령어 사용법 netstat [option] 자주사용하는옵션 -a : 모든연결및수신대기상태에있는포트들을출력 -n : 주소및포트번호를 10 진수로출력 -r : 현재설정된라우팅정보를출력 -s : 각프로토콜에대한통계정보를출력 94

netstat 네트워크관련명령어 95

ping 네트워크관련명령어 - ping 네트워크상의컴퓨터에 ICMP_REQUEST 를보내는명령어 주로특정컴퓨터가네트워크에활성화되어있는지확인하기위해사용 라우터나대상호스트의보안설정시응답수신이불가능 사용법 ping [option] hostname 사용예 $ ping cosmos.ssu.ac.kr 96

교재외자료 네트워크관련명령어 - ping 97

계정및시스템관련명령어 - passwd passwd 계정패스워드를변경하는명령어 사용법 passwd [option] [user] 사용자명을명시하지않으면현재사용자의패스워드가변경 사용자명을명시하면지정된사용자패스워드가변경되지만변경권한을가져야함 98

교재외자료 계정및시스템관련명령어 - passwd 99

계정및시스템관련명령어 - uname uname 시스템정보를출력하는명령어 사용법 uname [option] 자주사용하는옵션 -a : 모든정보출력 100

교재외자료 계정및시스템관련명령어 - uname 101

계정및시스템관련명령어 - date date 현재날짜와시각을출력하거나설정하는명령어 사용법 date [option] [format] 자주사용하는옵션 -s string : 지정된 string 으로시간설정 102

교재외자료 계정및시스템관련명령어 - date 103

echo 문장을출력하는명령어 사용법 echo [option] text 자주사용하는옵션 기타 - echo -n : 인자를출력한후개행문자를삽입하지않음 사용예 $ echo hello world $ echo $term $ echo term 104

vi UNIX의대표적문서편집기 (visual editor) vi에는명령모드와입력모드가있음 명령모드 : 명령어를사용하여찾기와편집등의작업을하는모드 입력모드 : 문자를타입핑하여입력하는모드 처음 vi를수행하면명령모드로들어감 모드전환 명령모드 입력모드 : i, I, a, A, o, O, R 중하나를입력 입력모드 명령모드 : Esc 키를입력 105

입력모드로전환명령 vi 실행시명령모드로시작 입력모드로의전환명령 명령 a i o A I O 설명커서위치다음에문자입력커서위치에문자입력커서위치다음행에문자입력커서가위치한행의끝에문자입력커서가위치한행의맨앞에문자입력커서위치이전행에문자입력 106

저장및종료명령 문서저장및 vi 종료는 ESC 키를통해명령모드로전환 저장및종료명령 명령 설명 :w 현재파일로문서저장 :w filename filename 파일로문서저장 :wq :q! :e! 문서저장후 vi 종료 문서를저장하지않고 vi 종료 마지막저장명령이후의상태로복귀 107

커서이동명령 문서편집을위한커서이동명령 명령설명 h 커서를왼쪽으로이동 j 커서를아래로이동 k 커서를위로이동 l 커서를오른쪽으로이동 w 커서를오른쪽으로한단어이동 b 커서를왼쪽으로한단어이동 e 커서를오른쪽으로한단어이동 0 커서를현재행의맨앞으로이동 $ 커서를현재행의맨오른쪽으로이동 + 커서를다음행의첫번째문자위치로이동 - 커서를이전행의첫번째문자위치로이동 G 커서를문서의마지막행으로이동숫자 G 커서를숫자에해당하는행으로이동 108

페이지단위이동명령 커서를페이지단위로이동하는명령 명령 H M L Control + f Control + b 설명커서를현재페이지의첫행으로이동커서를현재페이지의중간행으로이동커서를현재페이지의마지막행으로이동커서를다음페이지로이동커서를이전페이지로이동 109

블록범위지정방법 :num1[,num2] 범위지정 num1 번째줄 ~ num2 번째줄 num1 과 num2 는숫자이고, 다음과같은특수한의미를갖는기호도사용할수있음 $ 파일에서마지막줄. 현재줄 +n, -n 현재위치에서앞으로또는뒤로 n 번째줄 블록범위지정다음에여러명령이따라올수있음 :1,$-3d 1줄 ~ 마지막줄에서앞으로 3번째줄까지지우기 110

삭제명령 특정문자, 특정행, 여러행을삭제하기위한명령 명령 설명 x 커서위치문자삭제 X 커서위치이전문자삭제 dw 커서위치부터단어삭제 dd 커서위치행삭제 d$ 혹은 D 커서위치부터행의끝까지삭제 d0 현재행의처음부터커서위치앞문자까지삭제 dg 커서위치부터문서의끝까지삭제 :<block>d 지정된 <block> 삭제 111

복사명령 문서의일부분을복사하는명령 명령 설명 yy 커서위치행복사 p 복사한내용을커서위치다음행에붙여넣기 y0 현재행의처음부터커서위치앞문자까지복사 y$ 커서위치부터행의끝까지복사 yw 커서위치부터단어복사 yg 커서위치부터문서의끝까지복사 :<block> y <block> 복사 :<block> co num <block> 을복사하여 num 행다음에붙여넣기 112

문서를수정하는명령 수정명령 명령 설명 r 커서가위치한문자를다른문자로수정 R 커서가위치한문자부터다른문자로수정 cw 커서가위치부터단어를다른단어로수정 cc 커서가위치한행전체를수정 c0 현재행의처음부터커서위치앞문자까지수정 c$ 커서가위치한문자부터행끝까지수정 s 커서가위치한문자를다른문자열로수정 113

문자열검색및대체명령 문자열을찾거나대체하는명령 명령 설명 /string?string n N 커서위치부터 string 검색커서위치이전방향 ( 역방향 ) 으로 string 검색이전 string 계속검색역방향으로이전 string 계속검색 :s/string1/string2 커서가위치한행의첫번째 string1 을 string2 로변환 :%s/string1/string2/g :<block>/string1/string2 문서내의모든 string1 을 string2 로대치 <block> 에서 string1 을 string2 로대치 :g/string1/s//string2/gc 문서전체에서 string1 을탐색하고선택에따라 string2 로대치 114

그외의명령 그외의유용한명령명령설명 J 커서가위치한행의끝부분에다음행을연결 xp 커서가위치한문자를다음문자와교환 ~ 대문자를소문자로, 소문자를대문자로변환 u 이전명령취소 U 커서가위치한행의변경취소. 마지막수행명령반복 :set nu 문서의행번호표시 :set nonu 문서의행번호감춤 Control + G 문서이름과현재커서의위치정보표시 115

환경설정 환경변수설정을통해사용자가원하는환경을제공 홈디렉터리의.vimrc 파일에설정 명령 cindent tabstop shiftwidth nu ruler title syntax hlsearch 설명 C 프로그래밍에필요한자동들여쓰기기능탭키의간격조절기능자동들여쓰기의간격조절기능행번호설정기능현재커서의위치출력기능타이틀바에현재작업중인문서이름출력기능문법구분기능패턴검색시해당부분의하이라이트표시기능 116

환경설정 환경변수설정예 117

환경설정 환경변수설정에따른결과화면 118

교재외자료 vi 사용예제 다음과같은내용을갖는 good 이라는파일만들기 A ten man team from the illegal software control squad raided a venture company in Gangnam, Seoul Monday afternoon and using a special program designed by the Software Property-right Council (SPC) checked whether the software installed on the hard-disks of personal computers was original. They also confirmed each PC had the appropriate verification documents. 119

교재외자료 vi 사용예제 1. good 을인자로하여 vi 실행 $ vi good ~ ~ ~ ~ ~ ~ ~ ~ ~ good [ 새파일 ] good 이라는파일생성. 초기상태로명령모드임. ~ 는빈칸을의미함. 120

교재외자료 vi 사용예제 2. 입력모드로가기위해 i 입력 $ vi good ~ ~ ~ ~ ~ ~ ~ ~ ~ good [ 새파일 ] i 를입력해도화면에는보이지않음. 다만모드만입력모드로넘어감. 121

교재외자료 3. 원하는문서입력 vi 사용예제 $ vi good A ten man team from the illegal software control squad raided a venture company in Gangnam, seoul Monday afternoon and using a special designed by the Software Property-right Council (SPC) checked whether the software installed on the hard-disks of personal computers was original. They al so confirmed each PC had the appropriate verification documents. ~ vi 는 WYSWYG 편집기가아니기때문에필요한곳에서 enter( ) 를입력해야함. 122

교재외자료 4. 저장 vi 사용예제 $ vi good A ten man team from the illegal software control squad raided a venture company in Gangnam, seoul Monday afternoon and using a special designed by the Software Property-right Council (SPC) checked whether the software installed on the hard-disks of personal computers was original. They al so confirmed each PC had the appropriate verification documents. :w 저장은명령모드에서할수있음. 현재입력모드이기때문에명령모드로가기위해 Esc 를입력한후 :w 를입력함. 123

교재외자료 5. 수정 vi 사용예제 $ vi good A ten man team from the illegal software control squad raided a venture company in Gangnam, seoul Monday afternoon and using a special designed by the Software Property-right Council (SPC) checked whether the software installed on the hard-disks of personal computers was original. They al so confirmed each PC had the appropriate verification documents. ~ 현재잘못된곳이 3 군데있음 ( 붉은색으로표시되어있는부분 ) 124

교재외자료 5-1. seoul 을 Seoul 로수정 vi 사용예제 $ vi good A ten man team from the illegal software control squad raided a venture company in Gangnam, Seoul Monday afternoon and using a special designed by the Software Property-right Council (SPC) checked whether the software installed on the hard-disks of personal computers was original. They al so confirmed each PC had the appropriate verification documents. ~ h,j,k,l 키를적절히사용하여커서를 s 위로옮긴후 r 을입력한다음바로 S 입력 (r 은화면에보이지않음 ) 125

교재외자료 vi 사용예제 5-2. special 과 designed 사이에 program 삽입 $ vi good A ten man team from the illegal software control squad raided a venture company in Gangnam, Seoul Monday afternoon and using a special program designed by the Software Property-right Council (SPC) checked whether the software installed on the hard-disks of personal computers was original. They al so confirmed each PC had the appropriate verification documents. ~ 입력모드에서함. h,j,k,l 키를적절히사용하여커서를 d 위로옮긴후 i 을입력한다음 program 을입력한후 Esc 를입력 126

교재외자료 5-3. al so 를 also 로수정 vi 사용예제 $ vi good A ten man team from the illegal software control squad raided a venture company in Gangnam, Seoul Monday afternoon and using a special program designed by the Software Property-right Council (SPC) checked whether the software installed on the hard-disks of personal computers was original. They also confirmed each PC had the appropriate verification documents. ~ h,j,k,l 키를적절히사용하여커서를 al 과 so 사이에두고 x 을입력 127

교재외자료 6. 저장한후끝내기 vi 사용예제 $ vi good A ten man team from the illegal software control squad raided a venture company in Gangnam, Seoul Monday afternoon and using a special program designed by the Software Property-right Council (SPC) checked whether the software installed on the hard-disks of personal computers was original. They also confirmed each PC had the appropriate verification documents. :wq 저장과끝내기를한번에하기위해서 :wq 를입력 128

쉘 (shell) 유닉스계열의운영체제에서사용자가로그인과정을거친후터미널을통해서최초로만나게되는프로그램 명령어해석기 : 사용자로부터명령을받아운영체제에게명령을전달하고결과를받는인터페이스를제공하는프로그램 역할은특수하나본질은평범한응용프로그램 129

대화형방식 쉘사용방식 사용자가원하는명령을쉘프롬프트에직접입력하여결과를받는방식 프로그래밍언어 쉘스크립트를작성하여명령을실행 130

대화형방식 쉘이사용자가입력한명령을처리하는순서 명령은명령어, 옵션, 인자등으로구성 쉘은입력된명령에대해구문분석을수행하여명령어와옵션, 인자등을인식 운영체제에게실행을요청 실행결과는쉘에전달 쉘은그내용을출력 131

프로그래밍구조제공 프로그래밍언어 변수정의, 조건문, 반복문등의제어구조 쉘스크립트 쉘의프로그래밍구조를사용하여작성한프로그램 C 프로그램과달리컴파일과정없이실행 132

쉘의역사와종류 1/3 본쉘과 C 쉘은 1970 년대후반에개발되었으며나머지는이두쉘을근간으로기능을강화할목적으로 1980 년대에개발 본쉘계열 본쉘 (sh) 콘 (Korn) 쉘 (ksh) 배시 (Bash) 쉘 (bash) C 쉘계열 C 쉘 (csh) TC(TENEX C) 쉘 (tcsh) 본 (Bourne) 쉘계열 : Algol 언어의문법을차용 C 쉘계열 : C 언어의문법과유사 133

쉘의역사와종류 2/3 본쉘 C 쉘 AT&T 벨연구소의 Steven Bourne 이제작하였으며 Unix Version 7 의디폴트쉘로써릴리즈 University of California, Berkeley 의 Bill Joy 가제작하였으며 BSD( 버클리유닉스 ) 에포함되어배포 배시쉘 GNU 프로젝트의일환으로 FSF(Free Software Foundation) 의 Brian Fox 에의해개발 (POSIX 1003.2 준수 ) 콘쉘 AT&T 벨연구소의 David Korn 이개발 (POSIX 1003.2 준수 ) pdksh(public Domain Korn Shell) : 콘쉘의공개버전 TC 쉘 TENEX C 쉘의약자이며명령완성, 명령편집, 자동로그아웃등의기능을추가한 C 쉘의확장판 134

디폴트쉘 쉘의역사와종류 3/3 Solaris 와같은상용유닉스시스템들은주로콘쉘 Linux 시스템들은배시쉘 FreeBSD 유닉스시스템은 TC 쉘 로그인쉘 사용자가컴퓨터시스템에로그인하여처음사용하는쉘 사용자가특정한쉘을선택하지않았다면운영체제의디폴트쉘이로그인쉘 135

Cygwin 에서 TC 쉘사용 Cygwin 의디폴트쉘은배시쉘 배시쉘이외의쉘을사용하고자할경우 Cygwin 패키지업데이트기능을사용하여 Shells 카테고리에서원하는쉘패키지를선택한후설치 콘쉘 : pdksh 패키지 TC 쉘 : tcsh 패키지 136

로그인쉘을 TC 쉘로변경하기 로그인쉘은 /etc/passwd 에서지정 /etc/passwd 형식 username:passwd:uid:gid:real name:home dir:login shell 예제 kmh:unused:1000:513:myung Ho Kim:/home/kmh:/bin/bash /etc/passwd 의마지막항목을 TC 쉘변경 kmh:unused:1000:513:myung Ho Kim:/home/kmh:/bin/tcsh ( 참고 ) 로그인쉘확인방법 $ echo $SHELL 137

TC 쉘의초기화 1/2 프롬프트가나오기전에쉘이실행될때필요한환경변수들의값들을초기화파일에서읽어들여해당변수에설정하는과정 모든사용자에게공통적으로적용 /etc/csh.cshrc, /etc/csh.login 각사용자별로적용 ~/.tcshrc, ~/.login 138

로그인쉘로실행될때 1 /etc/csh.cshrc 2 /etc/csh.login 3 ~/.tcshrc, 4 ~/.login TC 쉘의초기화 2/2 다른쉘의자식쉘로실행될때 1 /etc/csh.cshrc 2 ~/.tcshrc 139

TC 쉘스크립트파일의작성과실행 1/2 쉘스크립트파일은실행가능한텍스트파일 C 프로그램과는달리컴파일없이실행 쉘에의해읽혀지고해석되어실행 TC 쉘스크립트의첫행 #!/bin/tcsh 실행할쉘을의미함 스크립트작성이완료되었으면쉘스크립트를실행하기전에그파일의모드를실행파일로지정해야함 chmod 사용 140

TC 쉘스크립트파일의작성과실행 2/2 $ tcsh hello_world.tcsh 새로운 tcsh 이실행되면서 hello_world.tcsh 을실행하고쉘이종료 $ hello_world.tcsh 현재의쉘에쉘스크립트을실행 chmod 명령을사용하여실행파일로만든후실행 141

변수 변수와명령어 1/3 지역변수 (Local Variables) 환경변수 (Environment Variables) 명령어 내장명령어 (Built-in Command) 외부명령어 142

지역변수와환경변수 2/3 변수의유효범위 (scope) 지역변수 : 자신이정의된쉘스크립트에서만사용될수있음 환경변수 : 자식쉘을포함한자식프로세스에서사용될수있음 리스트변수 지역변수 : 가능 환경변수 : 불가능 미리정의된변수 (Predefined Variable) 목록조회명령어 지역변수 : set 환경변수 : setenv 사용자정의변수작명규칙 지역변수 : 소문자 환경변수 : 대문자 143

내장명령어와외부명령어 3/3 내장명령어 이미메모리에로딩되어있는명령어를의미 내장명령어목록조회 : builtins 외부명령어 path 지역변수나 PATH 환경변수에등록되어있는경로상에존재하는실행프로그램 144

지역변수 1/2 지역변수를선언하고값을배정 set var_name = value 기호 = 를기준으로좌우공백은일치 변수에배정될값에공백문자가포함되어있을경우에는큰따옴표로묶어준다. 값이지정되지않으면널문자할당 지역변수삭제 unset var_name $var_name 은 var_name 의값으로치환 145

지역변수 2/2 146

환경변수 1/2 환경변수를선언하고값을배정 setenv VAR_NAME value 값이지정되지않으면널문자할당 변수에배정될값에공백문자가포함되어있을경우큰따옴표로묶어주지않으면지역변수와달리배정이이루어지지않음. 환경변수를제거 unsetenv VAR_NAME 147

환경변수 2/2 148

변수의유효범위 (scope) 1/3 프로세스 (Process) 실행중인프로그램 프로세스는다른프로세스를생성 부모프로세스 (parent process) 자식프로세스 (child process) 자식프로세스가생성될때부모프로세스의정보를상속 부모프로세스는자식프로세스가실행하는동안에는실행을멈추고대기하고있다가자식프로세스가끝나면다시실행을재개하는방식으로동작 149

지역변수 상속 X 변수의유효범위 (scope) 2/3 한프로세스내에서독립적으로사용되는변수 유효범위 : 해당프로세스내 환경변수 상속 O 자식프로세스에게그값이전달되는변수 자식프로세스에서환경변수의값을변경하였어도부모프로세스에는영향을주지않는다. 유효범위 : 해당프로세스와자식프로세스 150

변수의유효범위 (scope) 3/3 151

리스트변수 1/3 하나의변수에복수개의값을할당 ( 지역변수 ) 생성 set var_name = (value1 value2... valuen) n 번째값재정의 set var_name[n] = value 값의개수 $#var_name 152

첫번째요소 $var_name[1] 범위지정 $var_name[2-4] 모든요소 $var_name[*] or $var_name 리스트변수 2/3 153

리스트변수 3/3 154

리스트변수와 shift 명령어 1/2 리스트변수의 n 번째값을 n-1 번째값으로이동 첫번째값은리스트에서제거 값의총개수는 -1 감소 shift var_name 155

리스트변수와 shift 명령어 2/2 156

변수대치 $ 로시작하는변수는특정한문자열로대치 형태 $var_name ${var_name} $?var_name ${?var_name} $var_name[n] ${var_name[n]} $#var_name ${#var_name} 대치열 var_name 변수의값으로대치 ; var_name을다른문자와구분할때중괄호사용 var_name 변수가선언되어있으면 1, 아니면 0으로대치 var_name 변수의 n 번째값으로대치 var_name 변수의값의개수로대치 157

표준입력 $< 표준입력 $< 기본적으로키보드장치를의미 표준입력으로부터한단어를입력받아서변수에할당 set var_name = $< 158

if 조건에따라명령을실행할수있는명령어 사용법 if (expr) command if 명령어는괄호안의수식 expr 이참 (0 이아닌값 ) 이면 command 를실행하고, 아니면실행하지않는다. 여기서 command 는명령어하나이다. 159

if.. then.. endif 조건에따라명령을실행할수있는명령어 사용법 if (expr) then commands endif expr 이참 (0 이아닌값 ) 이면 commands 를실행하고, 아니면실행하지않는다. 여기서 commands 는복수개의명령어가될수있다. 160

if.. then.. else.. endif 1/2 조건에따라선택적으로명령을실행할수있는명령어 사용법 if (expr) then commands1 else commands2 endif if (expr1) then commands1 else if (expr2) then commands2 else commands3 endif expr 이참 (0 이아닌값 ) 이면 commands1 을실행하고, 아니면 commands2 를실행 expr1 이참일때 commands1 을실행하고, 아니면 expr2 를평가하여 expr2 가참이면 commands2 를아니면 commands3 를수행 161

if.. then.. else.. endif 2/2 162

goto 프로그램의제어를지정된곳으로이동하는명령어 사용법 goto label 제어를 lable 이라는레이블이붙은문장으로이동 레이블 label : command 163

goto 164

다중분기를위한명령어 switch 1/2 switch 는 expr 을평가한다음그값과일치하는 stri 을갖는 case 의다음의 commandsi 명령어들을수행 일치하는레이블이없을경우 default 레이블다음에오는명령어들을수행 case 문다음의레이블은와일드카드를포함한상수식이올수있음 실행중 breaksw 를만나면제어는 endsw 다음으로옮겨짐 165

switch 2/2 166

반복처리를위한명령어 사용법 foreach 1/4 foreach var_name (word1, word2,..., wordn) commands end 각반복때마다 var_name 은해당 wordi 를값으로갖고, 그 wordi 에대해 commands 를반복적으로실행 예를들어, 2 번째반복에서 var_name 의값은 word2 임 167

foreach 2/4 168

내장명령어 @ 수치변수용 set 명령어 산술연산의결과값을저장 foreach 3/4 사용법 @ var_name op expr @ var_name[n] op expr op =, +=, -=, *=, /= TC 쉘은부동소수점연산을지원하지않음 169

foreach 4/4 src_list 파일에저장된 C 소스프로그램들을컴파일하는스크립트 :r 경로이름에서파일의확장자를제거 prog 가 hello.c 값을가질경우 prog:r 은 hello 170

반복처리를위한명령어 사용법 while (expr) commands while 1/2 end 괄호안의 expr 이참 (0 이아닌값 ) 일동안 end 이전의 commands 를반복해서실행 171

while 2/2 172

반복처리를위한명령어 사용법 repeat repeat expr command expr 횟수만큼 command 를반복실행 173

쉘환경설정 쉘은사용자가자신의환경을구축할수있는방법을제공 ~/.tcshrc TC 쉘의사용자환경설정을위한파일 환경변수를설정하여쉘환경을구축 경로설정, 프롬프트설정, man 페이지경로설정, alias 설정등 174

~/.tcshrc 사용자의홈디렉터리에직접생성해야함 설정내용은쉘이생성될때마다실행되므로로그인쉘과자식쉘에서도동일하게적용됨 /etc/csh.cshrc 를실행한후 ~/.tcshrc 가실행되기때문에 ~/.tcshrc 에서설정한값이최종값이됨 175

TC 쉘의기본프롬프트 prompt 1/4 > _ Cygwin 의 TC 쉘을위한프롬프트설정 /etc/csh.cshrc 파일에서지정 set prompt = [%n@%m %c]$ [ 홍길동 @cosmos ~]$ _ 이설정은 Cygwin 의모든계정에적용되며각사용자가자신의프롬프트를설정하고자한다면, ~/.tcshrc 에지정하면된다. 176

prompt 2/4 지정자 의미 %/ 현재작업디렉토리 %~ 현재작업디렉토리. 홈디렉토리는 ~ 로출력. 다른사용자의홈디렉토리 는 ~user 로출력. 현재작업디렉토리. n 을지정하면디렉토리전체이름중에서하위 n 개의 %c[0]n 디렉토리이름만출력. 예 ) %c02 는현재작업디렉토리가 /aaa/bbb/ccc/ddd 일경우...ccc/ddd 출력. %C %c와같지만 ~ 치환없이출력 %h 현재히스토리이벤트번호 %M 전체호스트이름 %m 첫번째. 이전까지의호스트이름출력. 예 ) %m 은전체호스트이름이 somewhere.co.kr 일경우 somewhere 출력. 177

prompt 3/4 지정자 %S, %s %B, %b %U, %u %t, %@ 의미 출력문자의표준문자 (standout) 모드의시작 (%S) 과끝 (%s) 지정출력문자의굵은문자 (boldfacing) 모드의시작 (%B) 과끝 (%b) 지정출력문자의밑줄문자 (underline) 모드의시작 (%U) 과끝 (%u) 지정 AM/PM 형식의 12시간기준의시간출력 %T 24시간기준의시간출력 %p AM/PM 형식의 12시간기준의시간출력. 초단위까지출력 %P 24시간기준의시간출력. 초단위까지출력 %% 문자 % 의출력 %n 사용자이름출력 %d 요일출력 %D 날짜출력 178

prompt 4/4 지정자 의미 %w 월출력예 ) Jan, Feb %W mm 형식월출력 %y yy 형식연도출력 %Y yyyy 형식연도출력 %l 현재쉘의 tty 출력 디폴트동작시일반사용자는문자 > 출력, 수퍼유저는문자 # 출력. %# 그러나리스트타입의쉘변수 promptchars 가정의되어있을경우, 일반사 용자는 promptchars 의첫번째문자출력, 수퍼유저는두번째문자출력. %? 현재프롬프트출력직전에수행한명령어의종료상태값출력 예 ) 0 은정상종료, 0 이외의값은비정상종료의미 179

source ~/.tcshrc 파일의새로운설정을현재쉘에서바로적용시킬때사용 $ source.tcshrc 180

path 쉘변수 path 에등록된경로들은사용자의명령행에포함된외부명령어의위치를찾을때사용된다. 현재디렉터리를 path 에추가 set path = ($path.) setenv PATH ${PATH}:. TC 쉘은쉘변수 path 와환경변수 PATH 의값을내부적으로동기화시켜준다. 181

MANPATH MANPATH 환경변수는 man 페이지파일의경로를가지고있다. 새로운 man 페이지경로추가 setenv MANPATH {$MANPATH}:/usr/share/man:/usr/share/man/ko 문자 : 은경로들사이의구분자 182

alias 1/2 명령을자신이원하는이름 ( 별명 ) 으로변경할수있게하는명령어 형식 alias alias_name string 예 $ alias h history $ alias ll ls l $ alias ls ls -a 183

alias 2/2 alias 이름앞에역슬러시 (\) 기존명령어를별명으로사용한경우원래의기능으로그명령을사용하고싶을경우 $ alias ls ls -a $ \ls unalias alias 설정을제거하는명령어 $ unalias ll 184