Tuesday, October 24, 2006
리눅스 명령어 결과 저장; 실행 화면 텍스트 파일로; Linux Unix Output to File
리눅스/유닉스의 콘솔/터미널의 bash 쉘 등에서는 "재지향(Redirection)"이라는 방법으로, 각종 명령어 출력 결과를 파일로 저장할 수 있습니다.
예를 들어 ls 명령의 출력 결과를, 연필로 옮겨쓰는 대신에
라고 하면 out.txt 라는 파일로 ls 명령의 결과가 간단히 저장됩니다. ls뿐 아니라 다른 모든 명령들도 마찬가지입니다.
> 이런 기호는, 글자들의 출력 방향을 화면이 아닌, 파일 같은 다른 데로 전환시키는 것입니다.
그런데 위의 재지향 방법으로는 에러 메시지 출력은 저장되지 않습니다. 에러 메세지까지 파일로 저장되어 버리면, 에러가 났는지 알 수 없기 때문입니다. 기술적으로 말하자면, 일반 문자열은 "표준 출력(Standard Output)"으로 출력되고, 에러는 "표준 에러 출력(Standard Error)"으로 출력되기에 재지향이 안되는 것입니다.
에러까지 재지향하여 파일로 저장하는 방법이 있습니다.
이렇게 &> 기호로 재지향하면 됩니다. ewyrsyrwyy 라는 이름의 파일이 없을 것이기에, ls 에서 그런 파일을 찾을 수 없다(No such file or directory)고 에러가 납니다. 그 에러 메시지가 out.txt 라는 파일로 저장됩니다.
참고: 재지향(Redirection)
데스크탑의 그래픽 화면을 파일로 캡처하는 법은 여기에 있습니다: ▶▶ Linux/리눅스] 화면 캡처, 데스크탑 화면을 파일로 저장, 갈무리; Screen Capture
예를 들어 ls 명령의 출력 결과를, 연필로 옮겨쓰는 대신에
ls > out.txt
라고 하면 out.txt 라는 파일로 ls 명령의 결과가 간단히 저장됩니다. ls뿐 아니라 다른 모든 명령들도 마찬가지입니다.
> 이런 기호는, 글자들의 출력 방향을 화면이 아닌, 파일 같은 다른 데로 전환시키는 것입니다.
에러 메시지까지 파일로 저장하는 방법
그런데 위의 재지향 방법으로는 에러 메시지 출력은 저장되지 않습니다. 에러 메세지까지 파일로 저장되어 버리면, 에러가 났는지 알 수 없기 때문입니다. 기술적으로 말하자면, 일반 문자열은 "표준 출력(Standard Output)"으로 출력되고, 에러는 "표준 에러 출력(Standard Error)"으로 출력되기에 재지향이 안되는 것입니다.
에러까지 재지향하여 파일로 저장하는 방법이 있습니다.
ls ewyrsyrwyy &> out.txt
이렇게 &> 기호로 재지향하면 됩니다. ewyrsyrwyy 라는 이름의 파일이 없을 것이기에, ls 에서 그런 파일을 찾을 수 없다(No such file or directory)고 에러가 납니다. 그 에러 메시지가 out.txt 라는 파일로 저장됩니다.
참고: 재지향(Redirection)
데스크탑의 그래픽 화면을 파일로 캡처하는 법은 여기에 있습니다: ▶▶ Linux/리눅스] 화면 캡처, 데스크탑 화면을 파일로 저장, 갈무리; Screen Capture
tag: linux
리눅스 Linux | 유닉스 Unix | 시그윈 Cygwin
<< Home