2023. 3. 9. 19:59ㆍ부트캠프/DevOps (TIL)
리다이렉션(redirection)
컴퓨팅에서 표준 스트림을 사용자 지정 위치로 우회할 수 있는 다양한 유닉스 셸을 포함한 대부분의 명령어 인터프리터에 일반적인 명령이다. 방향 지정, 방향 변경으로도 부른다.
리다이렉션은 특정한 문자열들을 명령어 사이에 두어서 추가되는 것이 보통이다. 일반적으로, 이러한 문자열들의 문법은 다음과 같다.
명령어1 > 파일1
위의 줄은 명령어1을 실행하며 이로써 나오는 출력물을 파일1로 내보낸다. 기존에 파일1의 존재하는 경우 기존의 파일 내용은 지우고 새롭게 추가된다.
파일의 끝에 출력물을 추가하려면 >> 연산자를 이용한다:
명령어1 >> 파일1
다음을 이용하면
명령어1 < 파일1
명령어1을 실행하되, 파일1이 입력의 대상이 된다. (자판을 이용하는 것과는 반대로)
명령어1 < 들어오는파일 > 나가는파일
위의 줄은 두 개의 기능을 수행한다: 명령어1은 들어오는파일에서 내용을 불러들인 뒤 나가는파일에 기록한다.
예를 들어보자
$ ps aux > ps.txt
# 명령어 > 파일
ps aux 명령의 출력 결과를 ps.txt 파일에 저장합니다. 정확하게 말하자면, ps aux 의 출력 스트림을 ps.txt 이라는 파일로 전환하여 저장하는 것을 의미합니다. 따라서 아래 캡쳐와 같이 ps aux 의 명령의 결과는 콘솔이 아닌 ps.txt 파일에 기록됩니다.
반대의 경우도 가능합니다 예를 들어
$ head < ps.txt
# 명령어 < 파일
head 명령은 파일의 처음 부분을 설명한 라인(line)만큼 출력하는 명령입니다. 기본값으로 10줄이 세팅 되어 있습니다. 따라서 위의 명령을 실행하면 아래 캡쳐본과 같이 ps.txt 의 처음 10줄을 head 의 입력 스트림으로 전환하여 보내게 됩니다.
조금 더 응용하자면 다음과 같이 사용할 수도 있습니다.
$ head < ps.txt > sample.txt
# 명령어1 < 들어오는 파일 > 나가는 파일
이와 같은 기호를 정리하면 아래와 같습니다.
리다이렉션 기호 | 방향 | 의미 |
> | 표준 출력 | 명령의 결과를 파일로 저장(기존 파일에 덮어씀) |
>> | 표준 출력(append) | 명령의 결과를 기존 파일에 추가 |
< | 표준 입력 | 파일의 데이터를 명령에 입력 |
출처
https://ko.wikipedia.org/wiki/%EB%A6%AC%EB%8B%A4%EC%9D%B4%EB%A0%89%EC%85%98
04_Study(파이프라인) (0) | 2023.03.10 |
---|---|
04_Study(표준 스트림과 stdin, stdout, stderr) (0) | 2023.03.10 |
03_Study(패키지와 패키지 매니저) (0) | 2023.03.09 |
03_Study(절대경로와 상대경로) (0) | 2023.03.09 |
03_Study(Linux_기본적인 명령어_02) (0) | 2023.03.09 |