Command line tools

Similar documents
Microsoft PowerPoint - comp_prac_081223_2.pptx

PowerPoint 프레젠테이션

테이블 데이터 처리용 command line tool들

Microsoft PowerPoint UNIX Shell.ppt

Microsoft PowerPoint UNIX Shell.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

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

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

<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

제2장 리눅스 사용

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

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

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

슬라이드 1

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일


Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

chap2

01Àå

Microsoft PowerPoint - u6.pptx

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

PowerPoint 프레젠테이션

Ruby 프로그래밍 3

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

Adobe Flash 취약점 분석 (CVE )

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

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

/chroot/lib/ /chroot/etc/

Microsoft PowerPoint 웹 연동 기술.pptx

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint Template

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

4S 1차년도 평가 발표자료

C 프로그램의 기본

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

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

The Pocket Guide to TCP/IP Sockets: C Version

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

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

14장 파일

Microsoft PowerPoint - u5.pptx

PowerPoint 프레젠테이션

LXR 설치 및 사용법.doc

vRealize Automation용 VMware Remote Console - VMware

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

PowerPoint 프레젠테이션

#한국사문제7회4급

PowerPoint 프레젠테이션

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

PowerPoint 프레젠테이션

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft Word ARM_ver2_0a.docx

Windows 8에서 BioStar 1 설치하기

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

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

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

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

BMP 파일 처리

MF3010 MF Driver Installation Guide

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

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

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

강의 개요

Microsoft PowerPoint - chap4_2013 [호환 모드]

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

ICAS CADWorx SPLM License 평가판설치가이드

로거 자료실

untitled

슬라이드 1

Microsoft PowerPoint - u5.pptx

0.1-6

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

슬라이드 1

Microsoft Word - Armjtag_문서1.doc

PowerPoint 프레젠테이션

Abstract View of System Components

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

PowerPoint Presentation

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - u4.pptx

Secure Programming Lecture1 : Introduction

Computer Programming (2008 Fall)

제2장 유닉스 사용

Microsoft Word _mentor_conf_output5.docx

Microsoft Word - Lab_080104A.docx

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

Microsoft PowerPoint APUE(Intro).ppt

OCW_C언어 기초

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

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

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Install stm32cubemx and st-link utility

03 상수, 변수, 자료형

Transcription:

Command line tools 한국어정보의전산처리 2019. 3. 19.

command line tool 을사용하기위한환경 Unix 및이를 PC 에서구현한운영체제인 Linux 는 command line/ 터미널이기본적인사용자인터페이스 (UI) 임. MS-DOS 는이를조악하게모방한것. Unix/Linux 와 DOS 의차이 줄바꿈문자 : LF 대 CR-LF 경로구분자 (path separator): 슬래시 (/) 대역슬래시 (\: 폰트에따라 \ 로보임 ) 아이콘, 메뉴를마우스로클릭하는방식의 GUI 를 Apple 社의 Macintosh 에서처음으로구현. 이방식이 MS-Windows, Linux 의 X-Windows 에도채용됨. MS-Windows 운영체제에서제공하는기본적인 command line 인터페이스 : 명령프롬프트 (cmd) (DOS 를계승한것 ), powershell MS-Windows 에서 Unix/Linux 의 command line 을흉내낸 (emulate) 것 : Cygwin

Cygwin 이란? Windows 운영체제에서 Linux 비슷한 command line 환경을제공하고 Linux 의기본 command line tool 들을사용할수있게해주는 emulator Linux 의기본 command line tool 들은 GNU 프로젝트에서관리해왔는데 Cygnus 라는회사에서이것을 Windows 용으로 porting 하여제공했음. 그래서 Cygwin 이라는이름이붙었음. Cygnus 社는 Redhat Linux 에합병되었으나, Cygwin 은계속유지, 관리되고업데이트되고있음. https://www.cygwin.com/ Cygwin 과비슷한대안 : UnxUtils, DJGPP, MKS Toolkit, AT&T UWIN 등

command line tool 의철학 (Unix 철학 ) Do one thing well 한가지일만잘하는소프트웨어는디자인 / 유지 / 관리하기가쉬움. 복잡한일을처리하려면복수의 tool 을 pipe 로연결해서쓰면됨. Process lines of text, not binary 텍스트파일은보편적이고다루기쉬움. Use regular expressions 텍스트처리의강력한도구인정규표현을적극활용함. Default to standard I/O 표준입력과표준출력을 default 로사용. 파일입출력을원하면명시. Don t be chatty start processing, ~% processed, finished 같은메시지를출력하지않음. 그런메시지는, 여러 tool 들을 pipe 로연결해서쓸때오히려장애요인이됨. Generate the same output format accepted as input

Cygwin 설치절차 (Ubuntu 사용자는불필요 ) Cygwin 홈페이지에서설치파일을다운로드하여실행함으로써설치할수있음. 32 비트용 : setup-x86.exe 64 비트용 : setup-x86_64.exe Cygwin 에는방대한 tool 들이포함되어있기때문에, 설치과정에서설치를원하는 tool 들을선택할수있음. Cygwin 을이미설치한뒤에도, setup 파일을다시실행하여 tool 들을추가로설치하거나, 이미설치된 tool 들을업데이트할수있음. setup 파일을실행하여 Select Packages 단계에서 Category 별로 tool 들의목록을보고원하는것을선택함. Base 범주에있는것은사용자가일부러선택하지않아도 default 로설치됨. Interpreters 범주에서 python, python3, ruby 를선택. Math 범주에서 bc, R 을선택. Net 범주에서 curl 을선택. Text 범주에서 jq, pcre, pcre2 를선택. Utils 범주에서 diffutils 를선택. Web 범주에서 wget 을선택. Devel 범주에서 git 를선택.

Cygwin 설치후의관리 (Ubuntu 사용자는불필요 ) (64 비트용을설치했다면 ) c:/cygwin64/bin 에실행파일 (~.exe) 과 DLL 들이들어있음. Cygwin 의환경설정에서이디렉토리가지정되어있기때문에, 이디렉토리에있는실행파일은어느디렉토리에서든접근가능함. 다른실행파일도이디렉토리에복사해넣으면같은효과를가짐. Cygwin 터미널을실행했을때의초기디렉토리는 c:/cygwin64/home/username ( 이탤릭체부분은가변적 ) 임. Ubuntu 에서터미널을실행했을때의초기디렉토리는 /usr/home/username ( 이탤릭체부분은가변적 ) 임. Ubuntu 에서는 GUI 의디렉토리탐색기에서특정디렉토리로가서터미널을열수도있음.

터미널사용을위한초기세팅 Ubuntu 에서소프트웨어나라이브러리설치시에는 passwor 를입력하는사용자절차를필요로함. 설치명령앞에 sudo 를추가함. python 으로제작된 tool 이나 library 를설치할때 pip 이라는 tool 을흔히사용함. sudo apt-get install python-pip (pip 이설치되어있지않으면설치함 ) Cygwin 명령 : python -m ensurepip sudo pip install -U pip (pip 을최신버전으로업그레이드함 ) Cygwin 명령 : python m pip install U pip sudo pip install ~~ (~~ 라는 python tool/library 를설치함. 예 : csvkit) 중요한약호의의미. current directory.. one-level higher directory

디렉토리이동 : cd cd : 디렉토리이동 cd.. 한단계상위디렉토리로이동 cd../.. 두단계상위디렉토리로이동 cd abc 현재디렉토리로부터그안에있는 abc 디렉토리로이동 cd../../../abc 세단계상위디렉토리안에있는 abc 디렉토리로이동 주로 relative path 사용. absolute path도사용가능 : cd /usr/home/username/abc cd /media/username/ 외장하드레이블외장하드의최상위디렉토리로이동 DOS 명령어 cd 도거의비슷하나약간차이있음. cd.. 띄어쓰지않아도됨. cd\ 현재드라이브의최상위디렉토리로이동 d: d 드라이브로이동 해당드라이브로처음이동하는것이라면최상위디렉토리로이동. 그드라이브의특정디렉토리에있다가드라이브를변경했다면그디렉토리로이동. 상위디렉토리와하위디렉토리를구분하는기호 (path separator) 가 / 대신 \ 임.

파일및디렉토리관리 ls : 현재디렉토리에들어있는디렉토리및파일목록을출력함. ls -l : 각디렉토리 / 파일의상세정보까지함께출력함. 유사한 DOS 명령어 : dir mkdir ~~: 현재디렉토리에 ~~ 라는하위디렉토리를만듦. 유사한 DOS 명령어 : md rmdir ~~: 현재디렉토리에존재하는 ~~ 라는하위디렉토리를삭제함. 유사한 DOS 명령어 : rd cp source target : source 파일을 target 디렉토리에복사함. cp xyz abc 현재디렉토리에있는파일 xyz 가 abc 디렉토리안에복사됨. cp../abc/def.../abc 디렉토리에있는파일 def 가현재디렉토리에복사됨. target 이라는디렉토리가없으면, target 이라는파일을만듦. 이파일의내용은 source 와동일함. target 은 디렉토리 / 파일 일수도있음. 유사한 DOS 명령어 : copy ( 여러파일을통합할때도쓸수있음. 후술 ) mv source target : source 파일을 target 디렉토리로이동함. target 이라는디렉토리가없으면, 파일명을 source 에서 target 으로바꿈. rm ~~: 현재디렉토리에존재하는 ~~ 라는이름의파일을삭제함. 유사한 DOS 명령어 : del

아무개문자 (wild card) 특정문자가아니라임의의문자를지칭할수있는특수문자? 1 개의임의의문자 * 임의의개수의임의의문자 명령어뒤에써주는문자열을 command line argument 라고함. 명령어뒤에하이픈과함께써주는것은실행옵션을지정하는 switch 임. command line argument 는완전히확정된특정문자열일수도있고 rm abc : abc 라는이름의파일 1 개만삭제함. 아무개문자를포함한문자열일수도있음. rm ab? : ab~ 라는이름의모든파일을삭제함. rm ab* : ab 로시작되는이름의모든파일을삭제함. rm *.jpg : 확장자가 jpg 인 ( 즉이름이.jpg 로끝나는 ) 모든파일을삭제함. ls *.txt : 현재디렉토리에있는, 확장자가 txt 인파일들의목록을출력함. 아무개문자는이렇게특수목적에사용되기때문에, 파일이름에사용할수없음.

파일, 변수내용출력 cat abc : abc 파일의내용전체를화면에출력함. head abc : abc 파일의첫 10 줄을화면에출력함. head -(n ) 숫자 abc : abc 파일의첫 숫자 줄을화면에출력함. tail abc : abc 파일의끝 10 줄을화면에출력함. tail (n ) 숫자 abc: abc 파일의끝 숫자 줄을화면에출력함. echo : command line argument( 의내용 ) 을화면에출력함. myvar=xyz123abc echo $myvar ( 화면에 xyz123abc 를출력함. 변수이름앞에 $ 를붙임 ) printf : formatted printing/output 포맷지정방법 : %c 문자, %d 정수, %f 실수 %04d 정수를네자리로출력. 네자리미만이면앞에 0 을붙여서네자리로맞춤 %.4f 실수의소수점이하를네자리로출력. 네자리를초과할경우반올림하여맞춤 myvar=123.456789 printf my variable is %.4f $myvar (my variable is 123.4568 을출력함 ) printf my variable is %.2f $myvar (my variable is 123.46 을출력함 ) 대개의프로그래밍언어 (C, perl, python, ruby 등 ) 에서 printf 함수를제공함.

redirection : 입출력방향바꾸기 command line tool 의 default 입력장치는키보드 (standard input) 이고, default 출력장치는콘솔 ( 터미널 ) 화면 (standard output) 임. 입력장치를파일로바꾸고자할때 : <input_file 출력장치를파일로바꾸고자할때 >output_file (output_file 이라는이름의파일이이미존재하면 overwrite) >>output_file (output_file 이라는이름의파일이이미존재하면 append) 입력장치가파일일때, 입력파일을지정하는방법 cat input_file ( 대개의명령어는 < 를쓰지않아도첫째 command line argument 를입력파일로인식함 ) cat <input_file (< 를써주면입력장치가파일임이더명확함. tr 은 < 를써야함 ) <input_file cat (< 입력파일을명령어앞에써도됨. 이때는 < 가필수적.) pipe 로복수의명령어를연결해서쓸때는이방식이더직관적임. <input sort uniq 대 sort input uniq : 후자보다전자가더직관에부합됨.

파일통합, 분리 cat file1 file2 file3 : command line argument 에제시된파일들을통합함. 통합결과는 default 로화면에출력됨. redirection 으로출력파일을지정하면파일로저장됨. cat f1 f2 >output 아무개문자사용가능 : cat *.txt >output ( 현재디텍토리에있는확장자가 txt 인모든파일을통합하여 output 이라는이름으로저장 ) cat 명령어는파일내용출력, 파일통합이라는 2 개의과제를수행하므로 Do one thing well 이라는 Unix 철학에위배되는예라고할수도있겠으나 기본기능은파일내용출력이고그입력이파일 1 개일수도있고여러개일수도있다고보면 Unix 철학위반이아님. DOS 명령어 copy 로도파일통합을할수있음. (Unix 철학위반 ) copy *.txt output split input : input 파일을일정한크기 ( 라인수 ) 의파일들로쪼갬. default 라인수는 1000. split -(l ) 숫자 : 숫자만큼의라인수로쪼갬. output 파일들은 xaa, xab, xac,..., xaz, xbb, xba,..., xzz 식으로이름이붙여짐.

line 번호붙이기 nl input : input 파일의각라인에순차적으로라인번호를붙임. 라인번호와본래의라인사이에는 default 로탭을넣음. 스위치 s 로지정가능. 비어있는라인에는번호를붙이지않음. 이러한 default 행동을스위치 -l 로조정가능. 주의 : 줄바꿈문자가 CR-LF 로되어있으면, CR 때문에빈줄로인식하지않음. 줄바꿈문자가 LF 로되어있어야빈줄이빈줄로인식됨. cat -n input : nl 과동일하나, 비어있는라인에도번호를붙임. cat 이파일내용출력과라인번호붙이기라는 2 개의기능을하므로, Unix 철학위반이라고볼수도있음. 기본기능은파일내용출력인데, 라인번호붙이기라는부가기능을추가로수행할수도있는것으로보면, 위반이아니라고할수도있음. EmEditor 32 비트용 Plug-in 중에비슷한기능을하는것이있음. 행두삽입, 행말삽입등가능. 라인번호앞이나뒤에특정문자추가가능. 텍스트에디터의설정에서라인번호가보이게할수있음.

sort 입력파일의각라인을일정한기준에따라순서를배열 / 정렬해줌. default 는문자열 (string) 의사전순비교 (lexicographic comparison) 에의한오름차순 (ascending order) 정렬 -f : 대소문자구별안함. 소문자를대문자로간주하여정렬. -g 또는 -n : 문자열대신숫자값 (numeric value) 에의한정렬. -g : general numeric, -n : numeric -r : (reverse) 내림차순 (descending order) 정렬 -u : (unique) 정렬한결과동일한라인이연속해서나오면중복라인을삭제하여각라인을 unique 하게만듦. -k 숫자 : 숫자번째필드를기준으로정렬함. -t ~ : 필드구분자를 ~ 로함. 복수의스위치를결합해서사용할수있음.

통계정보추출 wc : (word count) 파일의크기에대한수치정보출력 default 로라인수, 단어수, 바이트수출력 wc -l 라인수, wc -w 단어수, wc -c 바이트수, wc -m 문자수 아스키문자만들어있으면 wc -c 의결과와 wc -m 의결과가일치하나 아스키이외의문자 (2 바이트이상의문자 ) 가있으면결과가다름. uniq : 동일한라인이연속해서나오면중복라인을삭제하여각라인을 unique 하게만듦. sort -u 는 sort uniq 와동일한기능을함. 그러나 uniq 는 sorting 된결과뿐아니라 unsorted input 에도적용가능. 그러므로기능이완전히같다고할수없음. 스위치 -c : (count) 연속해서나온동일한라인의수를함께출력함. 스위치 -i : 대소문자구분안함.

문자바꾸기 : tr (translate) tr 집합1 집합2 : 집합1에나열된문자들각각을집합2에나열된문자로바꿈. <input tr abc xyz : a를 x로, b를 y로, c를 z로바꿈 집합2에나열된문자의개수가모자라면, 마지막문자를반복해서개수를채움. 주의 : tr은모든문자가 1바이트문자라고전제함. 2바이트이상의문자가문자집합에제시되면이를 1바이트문자들의연쇄로인식. tr -d 집합 : (delete) 집합에나열된문자들을삭제함. <input tr -d abc : a, b, c를삭제함. tr -s 집합 (squeeze) 집합에나열된문자가, 같은것이연속해서나올때중복된것을삭제하여 unique하게만들어줌. <input tr -s abc : aa나 aaa 등을 a로, bb 등을 b로, cc 등을 c로만듦. uniq가라인차원에서하는일을문자차원에서하는셈. 스위치 -c : (complement) 문자집합에제시되지않은문자들이대치대상이됨. 문자집합의특수한지정방법 문자1-문자2 : 문자1부터문자2까지라는의미. [:space:] 모든 ( 수평및수직 ) 공백문자 [:blank:] 모든수평공백문자 [:punct:] 모든문장부호 [:digit:] 모든숫자 [:alpha:] 모든알파벳문자

pipe 두명령을 pipe 로연결하면, 앞명령의출력이뒤명령의입력이되는식으로순차적으로명령이실행됨. <input tr [:blank:][:punct:] \n sort uniq -c sort -gr tr - \n : input 파일의공백, 문장부호를모두줄바꿈문자로바꾼다. 이렇게하면하나의단어가하나의라인을구성하게됨. ( 빈줄도생김 ) sort: 소팅함. 같은단어들이한데모여연속해서나오게됨. uniq -c: 같은단어 ( 라인 ) 가연속해서나오면중복삭제하고개수를 count 함. 그러면모든단어에대해 [ 빈도, 단어 ] 형식으로출력됨. 사전순배열. sort -gr: 빈도가큰것부터내림차순으로정렬됨. 대명률직해이두문에서이두목록및빈도추출 <daminglu.txt grep "{# tr -d {#}()[:digit:] tr [:blank:]" "\n" grep "/" gawk 'BEGIN{FS="/"}{print $2}' sort uniq c {# 를포함한라인추출, {#}() 숫자삭제, 공백을줄바꿈으로대치 / 포함한라인추출, / 뒤부분만추출, 소팅, 중복삭제하면서 count

파일비교 diff file1 file2 두파일의내용을라인단위로비교하여, 차이나는부분을출력함. file1 에만있는라인은 < 기호뒤에표시하고 file2 에만있는라인은 > 기호뒤에표시함. 인터넷으로파일을공동관리할때 ( 예 : 위키백과, open source software) 파일내용수정내역을기록 / 관리하기위한용도로주로사용됨. comm file1 file2 : 차집합, 교집합출력 두파일을라인단위로비교하여 f1-f2, f2-f1, f1 f2 를 3 개의필드로나누어출력 두입력파일이 sort 되어있을것을전제로함. comm - 숫자 : 숫자번째필드를출력안함. comm - 숫자 1 숫자 2 : 숫자 1 번째필드와숫자 2 번째필드를출력안함. comm -12 : 두파일의교집합만출력 comm -23 : f1-f2, 즉 f1 에만있고 f2 에는없는라인만출력. 목록 ( 특히단어목록 ) 끼리비교하여차집합, 교집합을추출할때유용함.

네트워크로부터파일다운로드 wget url url 이가리키는네트워크상의파일을다운로드하여 원본파일이름과같은이름으로현재디렉토리에저장함. url 에파일이름에금지된문자가들어있으면, 그문자를대치하거나삭제함. 파일크기, 다운로드진척상황등을화면에보여줌. 스위치 -r : (recursive) url 의모든하위디렉토리를 recursive 하게뒤져서모든파일을다운로드함. ( 주의 : 다운로드용량및시간이엄청날수있음 ) curl url url 이가리키는네트워크상의파일을다운로드하여 그내용을화면에출력함. 파일로저장하려면리다이렉션지정. 리다이렉션을지정하더라도, 파일크기, 다운로드진척상황등을화면에보여줌. 두소프트웨어의기능이거의동일하나, 약간의장단점이있음. wget 의단점 : 파일이름을지정할수없으므로, 다운로드후파일이름바꾸기단계를거쳐야하는경우가많음. wget 의장점 : 다운로드하다가중단된경우, 자동으로다운로드를다시시도함. 두 tool 모두단독으로사용하기보다, shell script 를작성하여많은수의파일을대상으로처리할때 power 를발휘함. ( 휴식시간지정도가능 )