테크/리눅스

[리눅스] I/O Redirection

2022. 1. 24. 12:31

 

 

원 안에 있는 과정이 프로세스 즉 프로그램이 진행하는 과정이라고 생각하면 쉽다.

 

예를들어 ls, pwd, mkdir와 같은 명령어가 실행되면 프로세서라고 한다.

 

이 프로세서는 입력과 출력이 있다.

 

예를들어 ls -al이라는 명령어를 작성하면

ls는 프로세스,

-al은 input이며 구체적으로는 Command-line Argument라고 한다.

 

위의 명령어를 작성하고 엔터를 누르면 출력 결과가 나타나는데 이것이 standard output이다.

 

이 프로그램 출력 결과가 곧바로 모니터에 출력되는데 이 결과를 모니터가 아니라 다른 파일로 저장하는 작업을 redireaction이라고 한다.

 

redireaction하는 방법은 다음과 같다.


Output
ls -l > result.txt
 

> (파일이름) 을 진행함으로써 결과가 모니터로 출력되지 않고 .txt파일에 저장된 것을 확인 할 수 있다.

 

위의 작업은 명령어가 성공적으로 인식을 하고 진행이 되었지만 만일 잘못된 프로세서, 즉 에러출력은 standard error라고 한다.

 

예를들어 없는 파일을 삭제하면 다음과 같은 실행결과가 모니터에 출력된다.

이렇게 한 다음 에러 화면을 다른 파일로 저장하기 위해 다음과 같이 작성하면 어떻게 될까?

예상했던 바와 달리 에러화면이 파일에 저장되지 않는다.

 

이 사실로 알 수 있는 것은 에러가 출력되는 것은 standard output이 아니라 standard error이기 때문에 에러화면을 단순 > 로 처리되지 않는다는 것이다.

 

원하던 바와 같이 에러화면을 파일에 저장하고 싶다면 다음과 같이 작성하면 된다.

rm error.txt 2> error_result.log
 

조금 더 응용해서 output과 error를 알아서 실행되게 하는 방법도 있다.

 

다음과 같이 명령어를 작성하면 output은 result.txt로 저장, error는 error.log에 저장한다는 의미이다.

rm error 1>result.txt 2> error.log
 

결과를 확인하면 result.txt에는 아무 것도 없는 반면

error.log는 결과가 error.log에 저장된 것을 알 수 있다.

 

'테크 > 리눅스' 카테고리의 다른 글

[리눅스] 디렉토리 구조 & 파일찾기  (0) 2022.01.26
[리눅스] 쉘 스크립트 맛보기  (0) 2022.01.25
[리눅스] 패키지 매니저(apt, wget, git)  (0) 2022.01.22
[리눅스] 에디터 편집하기(nano)  (0) 2022.01.20
[리눅스] 에서 C언어 다루기(코드작성, 컴파일, 디버깅)  (0) 2021.08.16
'테크/리눅스' 카테고리의 다른 글
  • [리눅스] 디렉토리 구조 & 파일찾기
  • [리눅스] 쉘 스크립트 맛보기
  • [리눅스] 패키지 매니저(apt, wget, git)
  • [리눅스] 에디터 편집하기(nano)
시그널보내
시그널보내
삽질을 통해 깊게 공부하는 Electronic Engineer 연락 및 문의사항은 'donghyun9904@naver.com' 으로 부탁드립니다!
시그널보내
시그널보내
시그널보내
전체
오늘
어제
  • 분류 전체보기 (86)
    • 감상평 (0)
    • 테크 (4)
      • Network (2)
      • C | C++ (3)
      • MATLAB (12)
      • OSEK ⁄ VDX (4)
      • AVR(Microchip Studio) (9)
      • STM32 (1)
      • PcB (2)
      • [verilog | VHDL] (6)
      • 라즈베리파이 (4)
      • 아두이노 (6)
      • ML | DL (5)
      • ROS (3)
      • 리눅스 (12)
      • 프로젝트 (3)
      • 예제 (3)
    • 연수 ⁄ 교육 (4)
    • 대회 ⁄ 공모전 (3)
    • 취준 (4)
    • 사담 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • AVR
  • 머신러닝
  • 선형회귀
  • 아두이노avr
  • 라즈베리파이
  • 아두이노
  • 아트멜스튜디오
  • vhdl문법
  • 현대오토에버 모빌리티 임베디드 SW스쿨
  • MSE
  • 경사하강법
  • 차량용운영체제
  • osek
  • IDEC
  • 리눅스
  • 현대오토에버
  • 마이크로프로세서
  • osekos
  • VHDL
  • 매트랩

최근 댓글

최근 글

hELLO · Designed By 정상우.
시그널보내
[리눅스] I/O Redirection
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.