리눅스 분류
명령어 파이프 실행순서
작성자 정보
- 서형석 작성
- 작성일
컨텐츠 정보
- 3,735 조회
- 2 댓글
- 0 추천
- 목록
본문
안녕하세요,
명령어 파이프 실행순서에 대해 문의 드립니다.
예를 들어 $ date > date.txt | cat date.txt 이렇게 하면 그냥 왼쪽부터 순차적으로 하면 date 를 실행한 결과를 date.txt 로 생성하고 그다음 date.txt 내용을 표시해 주는걸로 생각했는데요.
실제로는 먼저 cat date.txt 가 실행되면서 존재하지 않는 파일이라고 합니다. 실제로는 존재하고 내용도 있습니다.
$ date >> date.txt | cat date.txt 를 해도 이번 date 추가는 아 보이고 append 이전만 표시해 줍니다. 실제로는 이번 것도 가지고 있습니다.
예전에 어떤 책에서 리눅스의 이런 현상에 대해 얼핏 본것도 같은데요???
그럼 진짜로 date.txt 가 없는 상태에서 date 를 실행해서 date.txt 에 집어 넣고 다음에 내용을 보여 주려면 어떻게 해야 하나요?
파이프 처리 순서가 따로 있는건가요?
전문가님들의 쉬원한 답변 부탁 드립니다.
감사합니다.
명령어 파이프 실행순서에 대해 문의 드립니다.
예를 들어 $ date > date.txt | cat date.txt 이렇게 하면 그냥 왼쪽부터 순차적으로 하면 date 를 실행한 결과를 date.txt 로 생성하고 그다음 date.txt 내용을 표시해 주는걸로 생각했는데요.
실제로는 먼저 cat date.txt 가 실행되면서 존재하지 않는 파일이라고 합니다. 실제로는 존재하고 내용도 있습니다.
$ date >> date.txt | cat date.txt 를 해도 이번 date 추가는 아 보이고 append 이전만 표시해 줍니다. 실제로는 이번 것도 가지고 있습니다.
예전에 어떤 책에서 리눅스의 이런 현상에 대해 얼핏 본것도 같은데요???
그럼 진짜로 date.txt 가 없는 상태에서 date 를 실행해서 date.txt 에 집어 넣고 다음에 내용을 보여 주려면 어떻게 해야 하나요?
파이프 처리 순서가 따로 있는건가요?
전문가님들의 쉬원한 답변 부탁 드립니다.
감사합니다.
관련자료
-
이전
-
다음
댓글 2
장규승님의 댓글
- 장규승
- 작성일
date > date.txt ; cat date.txt
파이프가 아닌 세미콜론을 이용하면됩니다.
파이프가 아닌 세미콜론을 이용하면됩니다.
LUFFY님의 댓글
- LUFFY
- 작성일
파이프의 용도에 대해 약간 잘못 알고 계신거 같아요.
전 | 후
이런 식이면, 전의 결과값을 후의 입력값으로 받아들이는 것이 파이프의 역할입니다.
예를들면
pstree | grep httpd
pstree 해서 나온 결과값을 grep httpd 의 입력값으로 받아들여서 pstree 중에 httpd 에 해당하는 내용을 찾아냅니다.
순차적인 명령어라면 윗분의 설명처럼 ; 로 적으시면 됩니다.
전 | 후
이런 식이면, 전의 결과값을 후의 입력값으로 받아들이는 것이 파이프의 역할입니다.
예를들면
pstree | grep httpd
pstree 해서 나온 결과값을 grep httpd 의 입력값으로 받아들여서 pstree 중에 httpd 에 해당하는 내용을 찾아냅니다.
순차적인 명령어라면 윗분의 설명처럼 ; 로 적으시면 됩니다.