매일 업데이트
2023-09-07 20:10 4 min

Windows, Mac 및 Linux에서 명령줄 출력을 파일에 저장하는 방법

터미널에서 명령어를 실행하면, 결과가 즉시 화면에 표시되어 사용자가 바로 확인할 수 있습니다. 하지만 때로는 이러한 결과를 나중에 분석하거나 다른 프로그램과 연동하기 위해 파일 형태로 저장해야 할 필요가 있습니다.

이러한 작업을 위해 명령줄에서 출력 리디렉션 기능을 사용할 수 있습니다. Windows, Mac, 그리고 Linux 환경에서 명령의 결과를 텍스트 파일로 저장하는 방법을 자세히 알아보겠습니다.

명령줄 출력을 파일로 리디렉션하기

명령 결과를 파일로 저장하는 데는 두 가지 주요 연산자(>>>)가 사용됩니다. 데이터 손실을 방지하려면 이 두 연산자의 차이점을 정확히 이해하는 것이 중요합니다.

> 기호는 파일을 새로 만들거나, 이미 파일이 존재하면 그 내용을 덮어씁니다. 반면, >> 연산자는 파일이 없을 경우 새로운 파일을 생성하지만, 기존 파일을 덮어쓰지는 않습니다. 파일이 이미 존재한다면, 이 연산자는 파일의 끝부분에 새로운 내용을 추가합니다.

명령어의 결과를 파일로 저장하려면, 명령어를 입력한 후 > 또는 >> 연산자를 지정하고, 마지막으로 결과를 저장할 파일의 경로를 입력하면 됩니다. 예를 들어, 현재 디렉토리의 내용 목록을 보여주는 ls 명령의 결과를 저장하는 방법은 다음과 같습니다.

 ls > /path/to/file 

/path/to/file 부분을 저장하려는 파일의 전체 경로로 변경하십시오. 명령어가 실행되면, 지정된 파일에 결과가 저장됩니다.

저장된 파일의 내용을 터미널에서 확인하려면 cat 명령어를 사용할 수 있습니다. 여기서도 /path/to/file 부분을 확인하고 싶은 파일의 전체 경로로 대체해야 합니다.

 cat /path/to/file 

이제 새 파일에 저장된 명령 결과를 확인할 수 있습니다.

> 연산자는 기존 파일의 내용을 완전히 대체하므로, 여러 명령의 결과를 하나의 파일에 순차적으로 저장하려면 >> 연산자를 사용해야 합니다. 이렇게 하면 이전에 저장된 결과가 지워지지 않고, 새로운 결과가 파일 끝에 추가됩니다.

예를 들어, 방금 만든 파일의 끝부분에 시스템 정보를 추가해 봅시다. Linux/Mac에서는 uname -a를, Windows에서는 ver 명령을 실행하고 파일 경로와 함께 >> 연산자를 사용하면 됩니다.

 uname -a >> /path/to/file 

필요에 따라 이 과정을 반복하여 파일 끝에 명령 결과를 계속 추가할 수 있습니다.

출력을 화면에 표시하고 파일로 리디렉션하기

>>> 연산자는 명령 결과를 화면에 표시하지 않고 바로 파일로 저장합니다. 만약 결과를 파일로 저장함과 동시에 화면에서도 보고 싶다면 tee 명령어를 사용해야 합니다.

tee 명령어를 사용하려면 파이프 연산자인 |를 사용하여 다른 명령의 결과를 tee 명령어로 전달해야 합니다. 예를 들어, ls 명령의 결과를 tee로 전달하는 방법은 다음과 같습니다.

 ls | tee /path/to/output.txt 

이렇게 하면 tee 명령어가 결과를 화면에 출력하는 동시에 지정된 파일에도 저장합니다. > 연산자와 마찬가지로 파일이 존재하면 내용을 덮어쓰고, 파일이 없으면 새로 생성합니다.

만약 tee 명령어를 사용하여 결과를 화면에 표시하고, 동시에 파일의 끝에 추가하고 싶다면, 파일 경로 앞에 -a 플래그를 추가해야 합니다. 예를 들어 다음과 같습니다.

 uname -a | tee -a /path/to/output.txt 

이제 화면에 명령 결과가 표시되며, cat 명령어를 사용해서 tee가 해당 결과를 파일에 추가했는지 확인할 수 있습니다.

명령줄의 강력한 기능 활용하기

오류 메시지를 포함한 다양한 종류의 결과를 파일로 저장하는 방법은 여러 가지가 있습니다. 명령줄의 강력한 기능을 활용하면 시스템 활동을 모니터링하거나 여러 소스의 데이터를 결합하는 등의 다양한 작업을 수행할 수 있습니다.

결과를 저장하는 것 외에도 터미널에서는 훨씬 더 많은 작업을 할 수 있습니다. 처음에는 학습 곡선이 가파를 수 있지만, 터미널 명령어는 매우 강력하고 유연하며, GUI 방식보다 훨씬 더 빠르게 작업을 처리할 수 있는 경우가 많습니다.

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.