0Pricing
DevOps Bootcamp · 강의

입출력 리디렉션(>, >>, <)

명령의 출력을 파일로 리디렉션하고 파일을 명령의 입력으로 사용하는 방법을 익혀 스크립트의 유연성을 높입니다.

입출력 리디렉션(>, >>, <)은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

I/O 리디렉션이란 무엇인가요?

Linux에서 명령은 흔히 출력을 생성하거나 입력을 필요로 합니다. 입력/출력(I/O) 리디렉션을 사용하면 명령이 입력을 받는 위치나 출력을 보내는 위치를 변경할 수 있습니다.

화면(터미널)에 출력하는 대신 파일에 저장하거나, 파일의 내용을 다른 명령에 직접 입력으로 전달할 수도 있습니다.

표준 스트림 이해하기

모든 Linux 명령은 세 가지 "표준" 데이터 스트림과 상호 작용합니다.

  • 표준 입력(STDIN): 명령이 입력을 받는 곳입니다(일반적으로 키보드).
  • 표준 출력(STDOUT): 명령이 일반 출력을 보내는 곳입니다(일반적으로 화면).
  • 표준 오류(STDERR): 명령이 오류 메시지를 보내는 곳입니다(이 역시 일반적으로 화면).

리디렉션을 사용하면 이러한 기본 대상이나 입력 소스를 변경할 수 있습니다.

'>'로 출력 캡처하기

> 연산자는 명령의 표준 출력(STDOUT)을 파일로 리디렉션하는 데 사용됩니다. 화면에 출력하는 대신 명령의 출력이 지정한 파일에 기록됩니다.

중요: 파일이 이미 있으면 >는 새 출력으로 파일의 전체 내용을 덮어씁니다. 중요한 데이터를 실수로 삭제하지 않도록 주의하세요!

예제: 명령 출력 저장하기

ls -l 명령의 출력을 my_files.txt라는 파일에 저장해 보겠습니다. 그런 다음 cat을 사용하여 파일의 내용을 확인하겠습니다.

ls -l > my_files.txt
cat my_files.txt

'>>'로 파일에 추가하기

파일을 덮어쓰는 대신 새 내용을 파일 끝에 추가하고 싶을 때가 있습니다. 이때 >> 연산자를 사용합니다!

>>는 표준 출력(STDOUT)을 파일로 리디렉션하지만, 파일이 이미 있으면 기존 내용을 유지하면서 새 출력을 파일 끝에 추가합니다.

예제: 로그에 추가하기

먼저 간단한 파일을 만드세요. 그런 다음 >>를 사용하여 파일에 다른 줄을 추가하세요. 원래 내용이 그대로 유지되는지 확인해 보세요.

echo "First line of log." > app_log.txt
echo "Second line added." >> app_log.txt
cat app_log.txt

'2>'로 오류 처리하기

오류 메시지는 어떻게 처리할까요? 오류 메시지는 표준 오류(STDERR)로 전달됩니다. STDERR을 파일로 리디렉션하려면 파일 디스크립터 2 뒤에 > 연산자를 붙인 2>를 사용합니다.

이 방법은 기본 출력을 복잡하게 만들지 않고 오류를 기록하거나 스크립트를 디버깅할 때 매우 유용합니다.

예제: 오류 메시지 기록하기

존재하지 않는 디렉터리를 나열해 보겠습니다. 오류 메시지는 일반적으로 화면에 표시됩니다. 대신 errors.log로 리디렉션해 보겠습니다.

ls /this/path/does/not/exist 2> errors.log
echo "Command finished. Check errors.log."
cat errors.log

'<'로 입력 제공하기

< 연산자는 표준 입력(STDIN)을 리디렉션하는 데 사용됩니다. 명령이 키보드 입력을 기다리는 대신 지정한 파일에서 직접 입력을 읽습니다.

명령이 많은 입력을 필요로 하는 작업을 자동화하거나 파일의 내용을 직접 처리할 때 매우 유용합니다.

예제: 파일에서 정렬하기

정렬되지 않은 이름이 들어 있는 파일을 만든 다음, <를 사용하여 sort 명령이 해당 파일에서 입력을 읽도록 하겠습니다.

echo -e "Charlie\nAlice\nBob" > names.txt
sort < names.txt

빠른 확인: 리디렉션

표준 출력을 리디렉션하고, 출력을 추가하고, 오류를 처리하고, 파일에서 입력을 제공하는 방법을 배웠습니다. 이해한 내용을 확인해 보겠습니다.

복습: I/O 리디렉션의 강력한 기능

잘하셨습니다! Linux에서 I/O 리디렉션의 기본 원리를 익혔습니다.

  • >는 STDOUT을 리디렉션하여 파일을 덮어씁니다.
  • >>는 STDOUT을 리디렉션하여 파일에 내용을 추가합니다.
  • 2>는 STDERR을 리디렉션하여 오류 메시지를 캡처합니다.
  • <는 STDIN을 리디렉션하여 명령이 파일에서 읽도록 합니다.

이 연산자들은 스크립트 작성, 오류 기록, 작업 자동화에 매우 강력하게 활용됩니다. 계속 연습해 보세요!

자주 묻는 질문

“입출력 리디렉션(>, >>, <)” 강의는 무료인가요?

네 — “입출력 리디렉션(>, >>, <)” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“입출력 리디렉션(>, >>, <)”에서 뭘 배우나요?

명령의 출력을 파일로 리디렉션하고 파일을 명령의 입력으로 사용하는 방법을 익혀 스크립트의 유연성을 높입니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“입출력 리디렉션(>, >>, <)” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 프로세스 관리(ps, top, kill)
  2. 입출력 리디렉션(>, >>, <)
  3. 명령 연결하기(|)
  4. 백그라운드 작업과 작업 제어
← DevOps Bootcamp(으)로 돌아가기