TAG Clouds

New Postings

  • 내가 바꿀 수 없는 일들을 받아들이는 평온, 내가 바꿀 수 있는 일들을 바꿀 수 있는 용기, 그리고 그 둘의 차이를 알 수 있는 지혜를 주시옵소서.
    - 레인홀드 니버


프로그래밍
2005.08.05 13:38

REDIRECTION AND PIPELINE | 유닉스 기초

조회 수 10522 추천 수 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 게임 오토봇 스트롱홀드(트랜스포머) Dreamy 2009.08.08 12329 0
214 취미 드리미의 여섯가지 기타 스케일 연습곡 file Dreamy 2009.07.27 17533 0
213 게임 추천할만한 플래시게임들 몇 개 Dreamy 2009.08.06 12619 0
212 성가대 이종철 신부님 말씀(성가대는 꼭 읽어보세요) Dreamy 2009.11.18 10644 0
211 성가대 전례력에 따른 특별 찬미가 선곡 목록 작성 Dreamy 2009.12.02 12640 0
210 인터넷 도움이 될만한 사이트 모음 (즐겨찾기 하고 자주 가보는사이트) Dreamy 2010.02.11 14187 0
209 취미 Handel - Lascia ch'io Pianga Dreamy 2010.04.09 15169 0
208 성가대 결혼 축가용 편곡, 사랑 1 file Dreamy 2010.04.22 12421 0
207 성가대 귀도 다레쪼의 계명창법 file Dreamy 2010.04.23 14013 0
206 일반 RobotC 정보 secret Dreamy 2010.07.20 0 0
205 게임 일할때 몰래 게임을 해보자 1 Dreamy 2010.07.07 9705 0
204 성가대 [자작곡] 생명의 빵 Dreamy 2010.07.29 9758 0
203 취미 성시경 - 당신은 참 악보 secret Dreamy 2010.08.06 0 0
202 일반 Shift 키의 10가지 기능 1 Dreamy 2010.08.27 8905 0
201 일반 Mappy secret Dreamy 2010.09.01 0 0
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