2.log

리다이렉션과 파이프에 대하여 본문

HACKING/Bandit+

리다이렉션과 파이프에 대하여

2.log 2023. 3. 20. 17:43
728x90
반응형

 

리다이렉션(redirection)

일반적으로 커맨드로 실행되는 프로세스는 하나의 입력 스트림(표준 입력 스트림)두 개의 출력 스트림(표준 출력 스트림, 오류 출력 스트림)을 가지며 일반적인 문자열(plain text)로 콘솔에 출력되는데, 리다이렉션은 이러한 표준스트림의 흐름을 바꿔주는 역할을 하며 리눅스에서 리다이렉션을 쓰기 위해서는 특수기호 > 또는 < 를 사용함

 

 

  •  ls 명령어 출력 결과를 ls.txt 파일에 저장
$ ls > ls.txt

 

  • ls.txt를 head의 입력 스트림으로 보냄
$ head < ls.txt

 

  • 응용
$ head < ls.txt > ls2.txt

 

>> 코드 실행 순서

  • ls.txt의 내용을 head 명령어의 입력 스트림으로 전송
  • head 명령어는 입력받은 ls.txt의 내용에서 처음 10줄 출력
  • head 명령어의 출력 스트림을 ls2.txt 파일에 연결
  • head 명령어의 출력 스트림은 콘솔이 아닌 ls2.txt에 연결되어 있으므로 출력 결과를 ls2.txt에 저장

 

 

파이프(Pipe)

리다이렉션이 프로세스의 입출력을 파일로 사용하는 것이었다면, 파이프는 이를 프로세스 간에 사용하며 기호로 사용됨

 

  • A | B : A의 표준출력을 B의 표준 입력으로 받음
$ ls | grep ls.txt

 

ls 출력 스트림을 grep 커맨드의 입력 스트림으로 보내고 인자값으로는 ls.txt를 준 것으로, 현재 디렉터리에 ls.txt 파일이 있으면 결과를 콘솔에 출력하게 됨

 

 

 

Combine redirection and Pipe

리다이렉션과 파이프는 조합이 가능함, 아래 예시의 경우 ls 명령어의 출력 스트림을 grep의 입력 스트림으로 연결하여 ls의 출력물을 grep으로 필터링 한 뒤 그 내용을 ls3.txt 파일에 기록함

$ ls | grep ls.txt > ls3.txt

 

 

 

 

 

출처

https://this-programmer.tistory.com/123

728x90
반응형

'HACKING > Bandit+' 카테고리의 다른 글

리눅스 find 정리  (0) 2023.03.21
리눅스 Shell 특수문자(meta-character) 정리  (0) 2023.03.20
ASCII 와 extended ASCII  (0) 2023.03.20
리눅스 기초 명령어 및 옵션 정리  (0) 2023.03.20
SSH에 대하여  (0) 2023.03.20
Comments