TAG Clouds

New Postings

  • 모든 어려움에도 불구하고 나는 여전히 사람들이 선한 마음을 가지고 있다고 믿는다.
    - 안네 프랑크


프로그래밍
2005.08.05 13:38

REDIRECTION AND PIPELINE | 유닉스 기초

조회 수 10408 추천 수 7 댓글 0
REDIRECTION

유닉스에서 표준 입출력은 키보드와 화면이다. redirection이란 표준 입출력 대신 일반 파일이나  device로 입출력을 변경하는 것을 말한다.

<  : 입력
>  : 출력
>> : 출력(append)

redirection에 대해서는  에러에 관한 것만 언급하겠다.
유닉스에서는 에러가 출력되는 장치로 모니터가 지정되어 있다. redirection을 사용하여 에러 결과를 파일로 받아 보자.
/home/users/ > cat aaa > bbb
여기서 aaa는 /home/users 라는 디렉토리에 없는 파일이라고 가정하자. 파일이 없으니 "cat: 0652-050 Cannot open aaa."과 같은 에러가 출력된다.  그러나 bbb 파일에는 에러 내용이 담기지 않는다.

유닉스에서는 에러가 화면으로 출력되게끔 지정되어 있다.  파일로 에러 내용을 받는 방법은 쉘의 종류에 따라 다르다. 본쉘이나 콘쉘에서는 다음과 같이 사용한다.
/home/users/ > cat aaa  2> bbb
"2"와 ">"사이에는 공백이 없어야 한다.

그리고 C쉘에서는
/home/users/ > cat aaa >& bbb 와 같이 사용한다.
  
PIPELINE  
어떤 명령어의 출력이 다른 명령어의 입력으로 사용될 때가 많이 있다. 예를 들어 "who"라는 명령어는 누가 현재 login하여 사용하는가에 대한 정보를 보여준다.
사용자 한 명당, 한 라인에 정보를 보여주므로 전체 라인 수가 현재 login한 사용자 수가
된다.  "who"라는 명령어를 쳤을 때 한 화면 이상 출력되면 라인 수를 일일이 count해야 한다. 또는 파일로 담아 다시 "wc(word count)" 명령어를 사용하여 count 할 수 있다.
다음과 같이...

/home/users/ > who > who.out
/home/users/ > wc -l  who.out
/home/users/ > rm who.out

여기서 보듯이 "who"의 출력 결과를 "who.out"이라는 파일에 만들고, 다시 "wc -l" 의 입력 파일로 사용하고 있다. 그리고 "rm" 명령어로 "who.out"을 삭제한다.
불필요한 파일이기 때문에 디스크를 정리하는 차원에서 삭제하는데 꼭 습관화하는 것이 좋다.

<명령어 wc>
   이 명령어는 파일의 바이트, 단어 그리고 라인 수를 출력한다.
   사용법 : wc [-c] [-w] [-l] [file]
            -c : 바이트 수를 출력.
            -w : 단어 수를 출력.
            -l : 라인 수를 출력.

위의 예를 한 문장으로 바꿔 보자.

/home/users/ > who | wc -l

얼마나 간단한가? 삭제할 파일도 없다.

이런 이유로 파이프 라인(pipe lines)을 사용한다.

"|(vertical bar, 파이프 기호라고 함)"는 두개의 명령어를 연결한다. "|"를 기준으로 왼쪽은 표준 출력을 만들어 내고, 오른쪽은 표준 출력을 표준 입력으로 사용한다. 파이프 기호를 여러 개 같이 사용할 수도 있다.

command1 | command2 | command3 ...

어떤 프로그램을 실행시켜 출력은 화면으로 보면서 파일로 그 출력을 저장시키고 싶은 경우가 있다. 유닉스에서 이런 일을 pipe fitting이라고 하는데 "tee"라는 명령어를 통해 수행시킬 수 있다.

/home/users/ > ls | tee ls.out

<명령어 tee>
   이 명령어는 어떤 program의 출력을 화면에 display하고 결과를 파일에 저장하기 위해
   사용.
   사용법 : tee [-a] [filename]
            -a : 파일을 overwrite하지 않고 append 함.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
200 교리교안 천사론 file Dreamy 2004.06.06 11072 22
199 일반 영문 편지에 유용한 표현 Dreamy 2007.08.09 10921 39
198 일반 선현들의 생활지침서 '채근담' file ★웅제★ 2003.01.02 10722 47
197 교리교안 신앙학교 안내문 file Dreamy 2004.07.15 10686 66
196 교리교안 성모님께 바치는 장미꽃다발 (묵주기도 성월) file Dreamy 2004.06.06 10570 41
195 성가대 이종철 신부님 말씀(성가대는 꼭 읽어보세요) Dreamy 2009.11.18 10509 0
194 성가대 음정이란 file Dreamy 2005.08.15 10478 43
193 유틸리티 이미지 프린터 드라이버 ( Virtual Image Printer driver ) 1 file Dreamy 2012.03.28 10474 0
» 프로그래밍 REDIRECTION AND PIPELINE | 유닉스 기초 Dreamy 2005.08.05 10408 7
191 성가대 16배음에 관하여. file Dreamy 2005.08.18 10306 20
190 수업 사랑의 기술을 읽고 (독후감) file Dreamy 2003.06.22 10274 117
189 인터넷 ietoy 문맥메뉴가 정상작동 하지 않을 경우 대처법 Dreamy 2005.12.19 10252 6
188 프로그래밍 CxImage Library 5.99 file Dreamy 2005.12.05 10194 23
187 교리교안 나의 소중한 것은 (난파선 게임) file Dreamy 2004.06.06 10181 39
186 인터넷 HTML 태그 사전 file Dreamy 2006.06.29 10139 48
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 9 10 11 12 ... 17 Next ›
/ 17

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5