리눅스 리다이렉션이란?

리눅스 리다이렉션은 프로세스의 입력과 출력을 다른 위치로 변경하는 기술을 말합니다. 터미널에서 명령어를 실행할 때, 명령어의 입력과 출력을 화면이 아닌 파일로 보내거나 파일로부터 받을 수 있습니다. 이를 통해 명령어 실행 결과를 파일에 저장하거나, 파일을 명령어의 입력으로 사용하는 등 다양한 작업을 수행할 수 있습니다.

 

리눅스 리다이렉션의 주요 종류 및 사용 방법

표준 출력 리다이렉션 (>)

명령어의 표준 출력을 파일로 리다이렉션합니다. 이미 존재하는 파일이라면 덮어쓰게 되며, 없는 파일이라면 새로 생성됩니다.

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