Computer/Linux

[Linux] 입출력 재지정 (IO Redirection) - 입력 재지정

HONGGG 2023. 9. 20. 02:29

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

 

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

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

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

 

입력 재지정

입력 재지정은 키보드 입력을 파일에서 받도록 대체하는 것이다.

 

< 연산자

"<" 연산자는 키보드로 입력한 정보를 파일에 입력하도록 하는 것이다.

cat명령어 사용과 동일한 결과가 나온다.

# 표준 입력을 hello.txt에 입력
$ cat < hello.txt

# file_name의 파일 내용을 program의 표준 입력으로 사용하겠다 라는 의미
$ program < file_name

# "우히히만세" 문자를 echo를 통해 표준 출력하고, 출력된 문자를 aaa.txt 파일을 생성하고 저장 (출력 재지정)
$ echo "테스트" > aaa.txt 

# 디렉토리에 파일 생성됬는지 확인
$ ls aaa.txt 
aaa.txt

# 출력 재지정 == cat aaa.txt와 같다고 보면 된다.
$ cat < aaa.txt 
테스트

 

 

재지정을 통한 Copy

재지정은 파일을 복사할 수도 있다.

# hello문자열을 file에 저장
$ echo hello > file

# 입력재지정하여, file내용을 cat하고 그걸 바로 출력재지정하여 file_copied에 저장
$ cat < file > file_copied

# 결국 복사를 한것 과 같아진다.
$ cat file_copied
hello

 

 

 

 

 

 

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

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

inpa.tistory.com