
bash 프롬프트에서 명령을 실행하면 일반적으로 해당 명령의 출력을 터미널에 직접 인쇄하여 즉시 읽을 수 있습니다. 그러나 bash를 사용하면 명령의 출력을 “리디렉션”하여 텍스트 파일로 저장하여 나중에 출력을 검토 할 수 있습니다.
이것은 Linux 및 macOS에서 Windows 10의 Ubuntu 기반 bash 환경에 이르기까지 모든 운영 체제에서 bash에서 작동합니다.
옵션 1 : 출력을 파일로만 리디렉션
bash 리디렉션을 사용하려면 명령을 실행하고 > 또는 >> 연산자를 입력 한 다음 출력을 리디렉션 할 파일의 경로를 제공하십시오.
-
>명령의 출력을 파일로 리디렉션하여 파일의 기존 내용을 바꿉니다. -
>>명령의 출력을 파일로 리디렉션하여 출력을 파일의 기존 내용에 추가합니다.
기술적으로 이것은 표준 출력 인 “stdout”을 화면으로 리디렉션합니다.
간단한 예를 들어 보겠습니다. 그만큼 ls 명령은 현재 디렉토리의 파일과 폴더를 나열합니다. 그래서. 다음 명령을 실행할 때 ls 현재 디렉토리의 파일과 폴더를 나열합니다. 그러나 화면에는 인쇄되지 않으며 지정한 파일에 저장됩니다.
ls > /path/to/file
기존 파일의 경로를 지정할 필요가 없습니다. 유효한 경로를 지정하면 bash는 해당 위치에 파일을 만듭니다.

파일의 내용을 보면, ls 명령의 출력. 예를 들어 cat 명령은 파일의 내용을 터미널에 인쇄합니다.
cat /path/to/file

기억하십시오 operator는 파일의 기존 내용을 명령 출력으로 바꿉니다. 여러 명령의 출력을 단일 파일에 저장하려면 > 대신 연산자. 예를 들어, 다음 명령은 지정한 파일에 시스템 정보를 추가합니다.>>
uname -a >> /path/to/file
파일이 없으면 bash에서 파일을 만듭니다. 그렇지 않으면, bash는 파일의 기존 내용을 그대로두고 파일 끝에 출력을 추가합니다.
파일 내용을 보면 두 번째 명령의 결과가 파일 끝에 추가 된 것을 볼 수 있습니다.

파일 끝에 출력을 계속 추가하려는 경우이 프로세스를 여러 번 반복 할 수 있습니다.
옵션 2 : 출력을 정상적으로 인쇄하고 파일로 리디렉션
을 사용하여 출력을 리디렉션하지 않을 수도 있습니다. > 또는 >> 터미널에서 명령의 출력을 볼 수 없으므로 그게 tee 명령입니다. tee 명령은 수신 한 입력을 화면에 인쇄합니다 과 파일에 동시에 저장합니다.
명령 출력을 파이프하려면 tee, 화면에 인쇄하고 파일로 저장하려면 다음 구문을 사용하십시오.
command | tee /path/to/file
이것은 파일의 모든 것을 명령의 출력으로 대체합니다. > 운영자.

명령 출력을 파이프하려면 tee , 화면에 인쇄하여 파일로 저장하지만 파일 끝에 추가하십시오.
command | tee -a /path/to/file
이렇게하면 파일 끝에 출력이 추가됩니다. >> 운영자.

관련 : 쉘 스크립팅 초보자 안내서 : 기본
bash 쉘에는 유사한 기능을 수행하는 추가 고급 연산자가 포함되어 있습니다. bash 스크립트를 작성하는 경우 특히 유용합니다. 자세한 내용은 Advanced Bash-Scripting Guide의 “I / O Redirection”장을 참조하십시오.








