Stderr 및 Stdout을 Bash의 파일로 리디렉션

Abid Ullah 2024년2월15일
  1. Linux의 표준 출력 및 표준 오류
  2. 표준 출력을 Bash의 파일로 리디렉션
  3. 표준 오류를 Bash의 파일로 리디렉션
  4. 표준 출력 및 표준 오류를 Bash의 파일로 리디렉션
Stderr 및 Stdout을 Bash의 파일로 리디렉션

이 기사에서는 Linux의 표준 출력 및 표준 오류에 대해 설명합니다. Bash에서 표준 출력 및 표준 오류를 리디렉션하는 방법을 살펴보겠습니다.

Linux에서 표준 출력 및 표준 오류라는 용어를 이해하기 시작하겠습니다.

Linux의 표준 출력 및 표준 오류

Linux에서 명령은 파일 또는 속성이 될 수 있는 사용자의 일부 입력을 받습니다. 이 명령을 실행하면 표준 출력이라고 하는 입력의 일부 출력이 제공됩니다.

이 표준 출력은 성공 또는 오류일 수 있습니다. 우리가 얻는 출력이 오류이면 이를 표준 오류라고 합니다.

둘 다 터미널 화면에 표시됩니다. 때로는 코드를 테스트하거나 디버깅하기 위해 표준 출력 및 표준 오류를 파일에 저장하려고 합니다.

Linux에서는 이 두 출력을 파일로 리디렉션할 수 있으며 이를 저장하는 프로세스를 리디렉션이라고 합니다.

Linux에서는 모든 프로세스에 대해 표준 입력(stdin), 표준 출력(stdout) 및 표준 오류(stderr)의 세 가지 데이터 스트림이 있습니다.

표준 입력(stdin)은 키보드를 통해 사용자로부터 입력을 받습니다. 표준 출력(stdout)은 터미널 화면에 출력을 표시합니다.

표준 오류(stderr)는 화면에 오류 정보를 표시합니다. 기본적으로 표준 출력과 표준 오류가 모두 터미널 화면에 인쇄됩니다.

Linux에서 각 데이터 스트림에는 고유한 숫자 ID가 있습니다.

  • 표준 입력(stdin)의 경우 숫자 ID는 0입니다.
  • 표준 출력(stdout)의 경우 숫자 ID는 1입니다.
  • 표준 오류(stderr)의 경우 숫자 ID는 2입니다.

표준 출력 및 표준 오류의 리디렉션에 대해 자세히 설명하겠습니다.

표준 출력을 Bash의 파일로 리디렉션

Linux에서는 숫자 ID를 사용하여 stdout을 파일로 리디렉션할 수 있습니다. 명령의 표준 출력을 리디렉션하려면 > 기호인 리디렉션 작업과 함께 1을 사용합니다.

이 예에서는 ls 명령을 사용합니다. ls 명령의 출력을 파일로 리디렉션합니다.

그런 다음 파일에 저장된 ls 명령의 출력을 보기 위해 텍스트 파일을 봅니다.

예제 코드:

$ ls 1> stdout.txt

파일을 보려면 다음 명령을 사용합니다.

$ cat stdout.txt

코드 출력:

ls 명령 출력을 파일로 리디렉션

위의 터미널 화면과 같이 터미널에서 ls 1> stdout.txt 명령을 사용했습니다. 이 명령은 ls 명령의 출력을 stdout.txt라는 파일에 저장합니다.

Linux에서 ls 명령을 사용하여 모든 파일과 디렉토리를 나열합니다. 따라서 파일에서 ls 명령의 출력을 리디렉션합니다.

cat 명령을 사용하여 파일을 보면 파일에 저장된 ls 명령의 표준 출력을 볼 수 있습니다. 이것이 숫자 ID를 사용하여 명령의 표준 출력을 파일로 리디렉션하는 방법입니다.

표준 오류를 Bash의 파일로 리디렉션

숫자 ID를 사용하여 표준 오류를 파일로 리디렉션할 수도 있습니다. 표준 오류를 파일로 리디렉션하려면 리디렉션 연산자 >와 함께 숫자 ID 2를 사용합니다.

터미널에서 다음 명령을 사용하여 이를 수행할 수 있습니다.

예제 코드:

$ cat file.txt 2> stderr.txt

stderr.txt라는 파일을 보려면 다음 명령을 사용합니다.

$ cat stderr.txt

표준 오류를 파일로 리디렉션

보시다시피 터미널에서 cat file.txt 2> stderr.txt 명령을 사용했습니다. 현재 디렉토리에 file.txt라는 파일이 없기 때문에 cat 명령은 stderr.txt 파일에 추가한 오류를 제공합니다.

cat 명령을 사용하여 stderr.txt 파일을 보면 No such file or directory라는 오류가 표시되는 것을 볼 수 있습니다. 이는 cat 명령의 표준 오류를 stderr.txt라는 파일로 리디렉션했음을 의미합니다.

이것이 모든 명령의 표준 오류를 파일로 리디렉션하는 방법입니다.

표준 출력 및 표준 오류를 Bash의 파일로 리디렉션

단일 명령을 사용하여 이 두 출력을 파일로 리디렉션할 수도 있습니다. 이를 위해 다음 명령을 사용합니다.

예제 코드:

$ ls 1> stdout.txt 2> stderr.txt

stdout.txt 파일을 보려면 다음 명령을 사용합니다.

$ cat stdout.txt

stderr.txt 파일을 보려면 다음 명령을 사용합니다.

$ cat stderr.txt

단일 명령을 사용하여 stdout 및 stderr 리디렉션

보시다시피 표준 출력 및 표준 오류를 단일 명령의 파일로 리디렉션했습니다. ls 명령 출력은 stdout.txt 파일에 저장되며 stderr.txt 채우기는 오류가 없기 때문에 비어 있습니다.

단일 명령을 사용하여 표준 출력 및 표준 오류를 파일로 리디렉션할 수 있는 방법입니다.

이 Linux 문서가 명령의 표준 출력 및 표준 오류를 Bash의 파일로 리디렉션하는 방법을 이해하는 데 도움이 되기를 바랍니다.

작가: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn

관련 문장 - Linux File