티스토리 뷰
입출력 재지정은 일반적인 입력, 출력이 아닌 "파일"로 입출력을 하겠다는 의미이다.
본래 표준입력은 기본적으로 키보드 입력이고 표준 출력은 따로 디스크에 저장하지 않고 화면에 출력이 되는 형식이다.
이러한 입출력들을 "파일"에서 직접 입력을 받고 직접 출력(파일에 저장)하는 입출력 방향을 변경하는 것을 입출력 재지정이라고 한다.
표준 입력 (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
※ 파일이 이미 존재하는 경우 덮어쓰기 때문에, 지정한 파일과 동일한 이름을 가진 파일이 있는지 먼저 확인한 후에 사용을 하자.
>> 연산자
">>"는 이미 존재하는 파일에 이어서 기록한다는 의미의 연산자이다.
'Computer > Linux' 카테고리의 다른 글
[Linux] 쉘 (Shell) 01 (0) | 2023.09.22 |
---|---|
[Linux] 입출력 재지정 (IO Redirection) - 입력 재지정 (0) | 2023.09.20 |
[Linux] 파이프라인 (Pipeline, grep, cat) [중요] (0) | 2023.09.20 |
[Linux] 파일 다운로드 (wget) (0) | 2023.09.20 |
[Linux] 패키지 매니저 (0) | 2023.09.20 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 멀티스레드
- 클래스
- 명령어
- const
- 컴파일
- 상속
- 입출력
- 게임수학
- 프로세스
- dynamic_cast
- 초기화
- thread
- 인터럽트
- 크기
- static_cast
- 포인터
- 구조
- New
- 수학
- 메모리
- 백준
- malloc
- CPU
- 알고리즘
- 운영체제
- 레지스터
- 함수
- 스레드
- c++
- 할당
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함