파이프라인과 리다이렉션
카테고리: Linux
파이프라인
파이프라인은 여러 개의 명령어를 연속적으로 실행하고, 한 명령어의 출력을 다음 명령어의 입력으로 전달하는 기능입니다. 파이프( | ) 기호를 사용하여 명령어를 연결하며, 첫 번째 명령어의 출력은 다음 명령어의 입력으로 전달됩니다. |
예를 들어, "ls -l | grep .txt"
명령어는 현재 디렉토리에서 .txt 확장자를 가진 파일 목록을 출력한 후, 그 결과에서 “grep” 명령어를 사용하여 .txt를 포함하는 파일만 필터링합니다. 이렇게 파이프라인을 사용하면 여러 명령어를 조합하여 복잡한 작업을 수행할 수 있습니다.
리다이렉션
리다이렉션은 명령어의 입출력 방향을 변경하는 기능입니다. 리다이렉션 기호(>)와 (<)를 사용하여 입출력 방향을 지정할 수 있습니다.
-
”>” (표준 출력)
리다이렉션 기호는 명령어의 출력을 파일로 리다이렉션합니다. 예를 들어, “ls > file.txt” 명령어는 현재 디렉토리의 파일 목록을 “file.txt”라는 파일로 저장합니다. 이미 존재하는 파일에 리다이렉션할 경우, 기존 파일은 덮어쓰여집니다.
-
”»” (표준 출력 append)
리다이렉션 기호는 명령어의 출력을 파일에 추가합니다. 예를 들어, “echo “Hello” » file.txt” 명령어는 “Hello”를 “file.txt” 파일에 추가합니다. 이미 존재하는 파일에 리다이렉션할 경우, 기존 파일의 끝에 내용이 추가됩니다.
-
”<” (표준 입력)
리다이렉션 기호는 파일의 내용을 명령어의 입력으로 리다이렉션합니다. 예를 들어, “sort < file.txt” 명령어는 “file.txt” 파일의 내용을 읽어와서 “sort” 명령어의 입력으로 사용합니다. 파일의 내용은 표준 입력으로 간주됩니다.
조금 더 응용하자면 다음과 같이 사용할 수도 있습니다.
1
2
$ head < ps.txt > sample.txt
# 명령어1 < 들어오는 파일 > 나가는 파일
위 코드는 다음과 같이 실행됩니다.
ps.txt
의 내용을head
명령의 입력 스트림으로 전환하여 전송합니다.head
명령은 입력받은ps.txt
의 내용에서 처음 10줄을 출력합니다.head
명령의 출력 스트림을sample.txt
파일에 연결합니다.head
명령의 출력 스트림은 결과를sample.txt
파일에 저장합니다.
리다이렉션을 사용하면 명령어의 입출력을 일로 저장하거나, 파일의 내용을 명령어의 입력으로 사용할 수 있습니다. 이를 통해 파일의 처리, 명령어의 결과 분석 등을 유연하게 할 수 있습니다.
파이프라인과 리다이렉션은 리눅스와 유닉스 시스템에서 강력한 기능으로 사용되며, 여러 명령어를 조합하고 입출력을 유연하게 처리하는 데에 매우 유용합니다.
댓글남기기