홈페이지 » 어떻게 » Bash에서 명령 출력을 파일에 저장하는 방법 (일명 Linux 및 macOS 터미널)

    Bash에서 명령 출력을 파일에 저장하는 방법 (일명 Linux 및 macOS 터미널)

    bash 프롬프트에서 명령을 실행하면 보통 명령의 출력을 터미널에 직접 인쇄하여 즉시 읽을 수있게합니다. 하지만 bash는 명령의 출력을 "리다이렉트 (redirect)"하여 텍스트 파일에 저장하여 나중에 출력을 검토 할 수 있도록합니다.

    이것은 리눅스 나 macOS에서 Windows 10의 Ubuntu 기반 bash 환경에 이르기까지 모든 운영 체제에서 bash로 작동합니다.

    옵션 1 : 출력 만 파일로 리디렉션

    bash 리디렉션을 사용하려면 명령을 실행하고 > 또는 >> 연산자를 호출 한 다음 출력이 리디렉션되도록하려는 파일의 경로를 제공하십시오.

    •  > 명령의 출력을 파일로 재지향하여 파일의 기존 내용 바꾸기.
    •  >> 명령의 출력을 파일로 재 지정하고 출력을 파일의 기존 내용에 추가합니다..

    기술적으로 이것은 "stdout"(화면 인 표준 출력)을 파일로 리디렉션합니다.

    다음은 간단한 예입니다. 그만큼 ls 명령은 현재 디렉토리의 파일과 폴더를 나열합니다. 그래서. 다음 명령을 실행할 때, ls 현재 디렉토리의 파일과 폴더를 나열합니다. 그러나 파일을 화면에 인쇄하지는 않습니다. 지정한 파일에 저장됩니다..

    ls> / path / to / file

    기존 파일의 경로를 지정할 필요가 없습니다. 유효한 경로를 지정하면 bash는 그 위치에 파일을 생성합니다..

    파일의 내용을 보면, ls 명령의 출력. 예를 들어, 고양이 명령은 파일 내용을 터미널에 인쇄합니다.

    고양이 / 경로 / to / 파일

    기억하십시오. >  연산자는 파일의 기존 내용을 명령의 출력으로 바꿉니다. 여러 명령의 출력을 하나의 파일에 저장하려면 다음 명령을 사용하십시오. >> 연산자 대신. 예를 들어 다음 명령은 지정한 파일에 시스템 정보를 추가합니다.

    uname -a >> / path / to / file

    파일이 없으면 bash가 파일을 작성합니다. 그렇지 않으면, bash는 파일의 기존 내용을 그대로두고 출력을 파일의 끝에 추가합니다.

    파일의 내용을 볼 때 두 번째 명령의 결과가 파일의 끝에 추가 된 것을 볼 수 있습니다.

    이 프로세스를 원하는만큼 여러 번 반복하여 파일 끝에 출력을 추가 할 수 있습니다..

    옵션 2 : 출력을 정상적으로 출력하고 파일로 리디렉션

    출력을 리디렉션하는 것을 좋아하지 않을 수도 있습니다. > 또는 >> 운영자는 터미널에서 명령의 출력을 보지 못합니다. 그것이 바로 명령입니다. tee 명령은 수신 한 입력을 화면에 인쇄합니다. 동시에 파일에 저장합니다..

    명령의 출력을 , 이를 화면에 인쇄하고 파일에 저장하려면 다음 구문을 사용하십시오.

    명령 | 티 / 경로 / to / 파일

    이렇게하면 파일의 내용이 명령의 출력으로 바뀝니다. > 운영자.

    명령의 출력을 , 화면에 인쇄하여 파일에 저장하지만 파일의 끝에 추가 :

    명령 | 티 -a / 경로 / to / 파일

    그러면 파일의 끝에 출력이 추가됩니다. >> 운영자.

    bash 쉘에는 유사한 기능을 수행하는 몇 가지 고급 고급 연산자가 포함되어 있습니다. 특히 bash 스크립트를 작성하는 경우에 유용합니다. 자세한 정보는 고급 Bash 스크립팅 가이드의 I / O 리디렉션 장을 참조하십시오..