TAG Clouds

New Postings

  • 일이 뜻대로 되지 않을 때는 나보다 못한 사람을 생각하라. 원망하고 탓하는 마음이 저절로 사라지리라.
    - 홍자성


프로그래밍
2005.08.05 13:38

REDIRECTION AND PIPELINE | 유닉스 기초

조회 수 10395 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
215 교리교안 주님께서 원하시는 것 file Dreamy 2004.06.06 10050 50
214 수업 권력이동 독후감 file Dreamy 2004.06.15 9727 62
213 수업 오렌지 북(Orange Book)과 ITSEC file Dreamy 2004.06.25 9629 68
212 수업 '정보화 촉진 기본법'의 소프트웨어 공학적 평가 file Dreamy 2004.06.25 7726 72
211 교리교안 신앙학교 9일기도문 Dreamy 2004.07.15 11205 48
210 교리교안 신앙학교 안내문 file Dreamy 2004.07.15 10666 66
209 취미 모과주 담그는 법 Dreamy 2004.10.04 17334 62
208 취미 각종 술담그는 법 Dreamy 2004.10.04 13297 119
207 일반 영화 시카고 대본 4 file Dreamy 2004.10.09 11263 71
206 일반 영화 매트릭스 2, 3 대본 file Dreamy 2004.10.09 9313 99
205 일반 누구에게 나 슬픈날은 있다. 'The Blueday Book' file Dreamy 2004.10.09 8217 76
204 일반 신입사원 시절의 재테크 - 사회 초년생 재테크 10계명 Dreamy 2005.01.14 7263 29
203 취미 시조 모음 file Dreamy 2005.01.19 17126 87
202 교리교안 하가다 예절 file Dreamy 2005.02.13 12259 72
» 프로그래밍 REDIRECTION AND PIPELINE | 유닉스 기초 Dreamy 2005.08.05 10395 7
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