[linux] 리다이렉션, redirection

5/10/2025, 1:14:42 AM (수정: 5/10/2025, 1:27:48 AM)
linux

Redirection

표준 출력의 Redirection

리다이렉트 출력 기호, >는 명령어의 결과를 화면 대신 파일에 저장되게 해줍니다.

  • command > filename

예를 들어, date > output.txt 명령을 수행하면 현재 날짜 정보가 output.txt 파일에 쓰여집니다.

표준 출력의 Appending

리다이렉트 출력을 기존 파일에 하면 덮어씁니다. 만약 덮어쓰지 않고 추가되게 하고 싶다면 >>를 사용하면 됩니다.

  • command >> filename

  • date >> output.txt

표준 입력의 Redirection

파일의 내용을 표준 입력으로 전달하고 싶을 때는 < 기호를 사용합니다.

  • command < filename

표준 입력과 출력 동시 Redirection

  • cat < original.txt > output.txt

  • cat < original.txt >> output.txt

  • sort < names.txt > sorted.txt

표준 에러의 Redirection

표준 에러를 리다이렉트하고 싶은 경우에는 2>기호를 사용합니다.

  • cat nonexistentfile 2> error.txt

2>인 이유는 표준 출력이 1이기 때문입니다. 1>>은 같은 역할을 합니다.

표준 에러의 Appending

  • ls -zzz 2>> error.txt

표준 출력과 표준 에러 동시에 Redirection

  • ls docs > output.txt 2> output.txt

위와 같이 동시에 사용할 때는 항상 표준 출력 리다이렉션을 먼저 사용해야 합니다. 에러가 안나면 표준 에러 redirection은 실행되지 않습니다.

표준 에러와 표준 출력을 같은 파일에 저장하고 싶을 때는 2>&1 기호를 사용합니다.

  • ls docs > output.txt 2>&1

더 심플하게는 다음과 같이 &> 기호를 사용할 수도 있습니다.

  • ls docs &> output.txt

  • ls docs &>> output.txt