Linux

[Linux] 리눅스 리다이렉션과 파이프

  • -
도커를 공부하기 전 리눅스에 대해 공부하면서 알게된 점을 정리한 글입니다.

리다이렉션

Standard Stream 

리눅스에서 실행되는 프로세스는 세 가지 스트림을 가지고 있습니다. 

  1. 표준 입력 스트림(Standard Input Stream) - stdin
  2. 표준 출력 스트림(Standart Output Stream) - stdout
  3. 오류 출력 스트림(Standard Error Stream) - stderr

그리고 이 모든 스트림은 일반 텍스트로 콘솔에 출력됩니다.

 

예를 들어, ls -al이라는 명령을 했을 때

나오게 되는 텍스트가 모두 출력 스트림이고 ls -al 라는 명령이 입력 스트림이 되는 것이죠.

 

이처럼 각각의 스트림을 다루는 방법(콘솔에 plain text)이 기본적으로 설정이 되어있는데, 이를 바꾸는 방법이 리다이렉션과 파이프입니다.

 

리다이렉션

리다이렉션은 표준 스트림의 흐름을 바꿀 수 있습니다.

>, < 기호를 사용하고, 주로 명령어 표준 출력을 화면이 아닌 파일에 할 때 사용됩니다. 

 

표준 출력을 파일에 함

 

예를 들자면

ls > files.txt

이런 명령을 사용하게 되었을 때

ls 명령의 출력 결과가 화면이 아닌 text.txt에 출력되게 됩니다. 

vim 에서 files.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
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.