티스토리 뷰

입출력 재지정은 일반적인 입력, 출력이 아닌 "파일"로 입출력을 하겠다는 의미이다.

 

본래 표준입력은 기본적으로 키보드 입력이고 표준 출력은 따로 디스크에 저장하지 않고 화면에 출력이 되는 형식이다.

이러한 입출력들을 "파일"에서 직접 입력을 받고 직접 출력(파일에 저장)하는 입출력 방향을 변경하는 것을 입출력 재지정이라고 한다.

표준 입력 (stdin) : 표준 입력이라고 부르는 곳에서 입력 내용을 가져옴, 기본적으로 키보드에 직접 연결
표준 출력 (stdout) : 명령이나 프로그램 등의 실행 결과를 표준 출력에 전송, 기본적으로 화면과 연결 되어 있고 디스크파일에 따로 저장하지 않음
표준 오류 (stderr) : 명령이나 프로그램 등의 상태 및 오류 메시지를 표준 에러에 전송, 기본적 화면과 연결되고 디스크 파일에 따로 저장히지 않음

 

위 예제에서 첫 ls -l 명령어는 현재 디렉토리의 정보를 출력한다.

하지만 2번째 ls -l 명령어는 "> result.txt"라는 옵션이 추가적으로 존재하는데, 이를 통해 ls -l 명령어에서 발생하는 결과 값이 result.txt 파일에 저장되는 것이다.

 

이러한 방식은 특정 프로그램의 오류를 별도로 저장하여 추후 확인할 수 있는 용도로 사용도 가능하다.

 

 

출력 재지정

> 연산자

">"는 재지정을 하는 연산자로 특정 값의 결과 값을 지정한 다른 파일에 작성한다는 의미이다.

1> 연산자

"1>"은 ">"와 동일하며 표준 출력을 의미한다. 즉, 특정 명령어가 진행 중 표준출력만 파일로 출력하고 표준에러는 파일로 출력하지 않는다.

2> 연산자

"2>"은 ">"와 동일하며 표준 에러를 출력한다. 즉, 특정 명령어가 진행 중 표준에러를 파일로 출력한다.

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

rename2.txt파일을 제거하며 출력 결과는 result.txt에 저장하고 에러 결과는 error.log에 저장한다.
rm rename2.txt 1> result.txt 2> error.log
※ 파일이 이미 존재하는 경우 덮어쓰기 때문에, 지정한 파일과 동일한 이름을 가진 파일이 있는지 먼저 확인한 후에 사용을 하자.

>> 연산

">>"는 이미 존재하는 파일에 이어서 기록한다는 의미의 연산자이다.

 

 

 

[LINUX] 📚 입출력 재지정 & 파이프 명령어 💯 정리

입출력 재지정 입출력 재지정이란, 일반적인 입력, 출력을 사용하지 않고 "파일"로 입출력 하겠다는 말이다. 본래 표준입력은 기본적으로 키보드에서 직접 받아오고, 표준 출력은 기본적으로 따

inpa.tistory.com

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함