TAG Clouds

New Postings

  • 가장 큰 약점은 약점을 보일것에 대한 두려움이다.
    - 보쉬에


프로그래밍
2005.08.05 13:38

REDIRECTION AND PIPELINE | 유닉스 기초

조회 수 10525 추천 수 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 2015.03.05 1549 0
214 일반 Das Urteil 선고, Franz Kafka 프란츠 카프카 (전문) Dreamy 2019.02.01 1627 0
213 게임 DOS용 게임 Dreamy 2020.04.20 1666 0
212 일반 각종 양념 레시피 file Dreamy 2019.01.08 1697 0
211 취미 Circle of fifth (Chord Wheel) file Dreamy 2019.01.02 1719 0
210 취미 무지카사크라 지휘자 한근희 요셉, 독창회 file Dreamy 2014.06.19 1738 0
209 일반 경조사별 인사말 Dreamy 2019.11.05 1782 0
208 취미 I love you you're perfect now change. 가사 Dreamy 2018.01.11 1785 0
207 멀티미디어 Youtube 플레이리스트 다운로드 사이트 Dreamy 2018.06.19 1822 0
206 취미 슈베르트 - 겨울나그네(Winterreise) 듣기 Dreamy 2015.03.23 1826 0
205 일반 외워두자 띄어쓰기 Dreamy 2019.03.21 1828 0
204 일반 오멜라스를 떠나는 사람들 - 어슐라 르 귄(Ursula Le Guin) Dreamy 2014.01.29 1865 0
203 영어 영단어 필수 어근 모음 Dreamy 2015.08.18 1875 0
202 취미 김광진 - 편지 file Dreamy 2014.07.18 1882 0
201 프로그래밍 The Humble Programmer - Dijkstra, 원문 Dreamy 2015.06.25 1889 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