본문 바로가기

러닝리눅스

출력 저장하기

ls 의 출력 캡쳐 ==> ls /usr/bin > ~/lscap.txt
/usr/bin 하위의 디렉토리와 파일 목록이 자신의 home 디레토리 하위에 lscap.txt 라는 파일로 저장된다.(lscap.txt 라는 파일이 이미 존재한다면 덮어쓰기가 된다.)
lscap.txt에 계속해서 다른 내용을 추가하려면
ls /usr/local >> ~/lscap.txt 처럼 하면 된다(>> 사용)

> 문자는 표준출력(정상적인 출력)물만 저장한다. 에러메세지는 저장하지 않는다.
에러메세지 저장은 >& 를 사용한다.
ex) cp tesfagfg.txt ~/temp/ >& error-msg.txt
본쉘과 bash 에서는 cp tesfagfg.txt ~/temp/ &> error-msg.txt 를 사용한다.
>& 은 표준출력과 에러메세지를 함께 저장한다.

에러메시지만 저장하려면?
cp tesfagfg.txt ~/temp/ 2> error-msg.txt
쉘에서는 표준출력은 1, 표준에러는 2 로 지정되어있다.

cp tesfagfg.txt ~/temp/ 2> error-msg.txt > /dev/null
이것은 표준에러는 error-msg.txt 에 저장하고 표준출력은 /dev/null 에 저장을 한다는 뜻이다.
그러나 /dev/null 은 블랙홀이다.(이곳으로 보내는 모든 내용은 저장되지 않고 사라진다.)