리눅스 리다이렉션이란?
리눅스 리다이렉션은 프로세스의 입력과 출력을 다른 위치로 변경하는 기술을 말합니다. 터미널에서 명령어를 실행할 때, 명령어의 입력과 출력을 화면이 아닌 파일로 보내거나 파일로부터 받을 수 있습니다. 이를 통해 명령어 실행 결과를 파일에 저장하거나, 파일을 명령어의 입력으로 사용하는 등 다양한 작업을 수행할 수 있습니다.
리눅스 리다이렉션의 주요 종류 및 사용 방법
표준 출력 리다이렉션 (>)
명령어의 표준 출력을 파일로 리다이렉션합니다. 이미 존재하는 파일이라면 덮어쓰게 되며, 없는 파일이라면 새로 생성됩니다.
command > output.txt
표준 출력 추가 리다이렉션 (>>)
명령어의 표준 출력을 파일에 추가로 리다이렉션합니다. 파일이 이미 존재하면 파일의 끝에 내용이 추가됩니다.
command >> output.txt
표준 에러 리다이렉션 (2>)
명령어의 표준 에러 출력을 파일로 리다이렉션합니다.
command 2> error.txt
표준 출력과 에러를 같은 파일로 리다이렉션 (&> 또는 &>>)
명령어의 표준 출력과 표준 에러 출력을 같은 파일로 리다이렉션합니다.
command &> output_and_error.txt
표준 입력 리다이렉션 (<)
파일의 내용을 명령어의 표준 입력으로 리다이렉션합니다.
command < input.txt
파이프 (|)
한 명령어의 출력을 다른 명령어의 입력으로 사용하는 것을 말합니다. 여러 명령어를 연결하여 복잡한 작업을 수행할 수 있습니다.
command1 | command2
/dev/null 리다이렉션
/dev/null은 리눅스에서 모든 출력을 버릴 수 있는 특수한 파일입니다. 주로 출력을 무시하고 싶을 때 사용됩니다.
command > /dev/null # 출력을 버림
command 2> /dev/null # 에러 출력을 버림
command &> /dev/null # 출력과 에러 출력을 버림
리다이렉션 종류
리다이렉션 | 설명 | 사용 예시 |
> |
표준 출력을 파일로 리다이렉션하여 파일에 덮어씁니다. | ls > file.txt |
>> |
표준 출력을 파일에 추가로 리다이렉션합니다. | echo "Hello" >> file.txt |
2> |
표준 에러 출력을 파일로 리다이렉션합니다. | ls non_existent_dir 2> error.txt |
&> 또는 &>> |
표준 출력과 표준 에러 출력을 같은 파일로 리다이렉션합니다. | command &> output_and_error.txt |
< |
파일의 내용을 표준 입력으로 리다이렉션합니다. | sort < input.txt |
` | ` | 한 명령어의 출력을 다른 명령어의 입력으로 사용합니다. |
/dev/null 리다이렉션 |
출력을 버리거나 에러를 무시합니다. | command > /dev/null <br>command 2> /dev/null <br>command &> /dev/null |