도커를 공부하기 전 리눅스에 대해 공부하면서 알게된 점을 정리한 글입니다.
리다이렉션
Standard Stream
리눅스에서 실행되는 프로세스는 세 가지 스트림을 가지고 있습니다.
- 표준 입력 스트림(Standard Input Stream) - stdin
- 표준 출력 스트림(Standart Output Stream) - stdout
- 오류 출력 스트림(Standard Error Stream) - stderr
그리고 이 모든 스트림은 일반 텍스트로 콘솔에 출력됩니다.
예를 들어, ls -al이라는 명령을 했을 때
나오게 되는 텍스트가 모두 출력 스트림이고 ls -al 라는 명령이 입력 스트림이 되는 것이죠.
이처럼 각각의 스트림을 다루는 방법(콘솔에 plain text)이 기본적으로 설정이 되어있는데, 이를 바꾸는 방법이 리다이렉션과 파이프입니다.
리다이렉션
리다이렉션은 표준 스트림의 흐름을 바꿀 수 있습니다.
>, < 기호를 사용하고, 주로 명령어 표준 출력을 화면이 아닌 파일에 할 때 사용됩니다.
예를 들자면
ls > files.txt
이런 명령을 사용하게 되었을 때
ls 명령의 출력 결과가 화면이 아닌 text.txt에 출력되게 됩니다.
그런데 > 기호는 그 파일안에 데이터를 덮어 씌우게 됩니다.
파일에 내용을 추가하고 싶을 땐 >> 기호를 사용해야 합니다.
이렇게 내용을 추가한 후, ls > files.txt를 입력하면
이렇게 내용이 덮어 씌워집니다.
이번에는 ls >> files.txt로 내용을 추가하겠습니다.
이렇게 추가된 것을 확인할 수 있습니다.
파이프
파이프는 두 프로세스 사이에서 한 프로세스의 출력 스트림을 또다른 프로세스의 입력 스트림으로 사용할 때 사용됩니다.
파이프의 기호는 | 입니다.
ls -al | grep files.txt
ls -al 과 grep 모두 명령입니다.
ls -al 의 결과 중에서, files.txt가 포함된 줄을 출력하게 되는데요. 이와같이 앞 명령의 출력 결과가 뒤 명령의 입력 스트림에 들어와 동작하는 것이 파이프 입니다.
개념만 간단히 정리한 글이기 때문에 큰 도움은 안되겠지만 끝까지 읽어주셔서 감사합니다.
'Linux' 카테고리의 다른 글
[Linux] 리눅스 쉘에서 VIM 에디터 활용하기 (0) | 2023.11.18 |
---|