$ pwd > result.txt # pwd의 출력 결과값을 result.txt 파일에 저장
# 파일에 출력값이 잘 저장됐는 지 확인
$ ls
$ cat result.txt
# 한 번 더 이 명령어를 실행시키면 기존 파일을 덮어씌움 (즉, 기존 파일의 내용이 다 날라감)
$ pwd > result.txt
일반적으로 서버를 운영하다보면 로그를 꾸준히 쌓아나가는 게 중요하다. 그런데 명령어 새로 한 번 쳤다고 기존 파일의 내용이 덮여씌여지면서 다 날라가면 문제가 될 수 있다. 따라서 기존 파일의 내용은 사라지지 않은 채로 기존 파일에 출력값을 이어서 작성하는 방법을 알아보자.
[기존 파일에 이어서 쓰기]
# 기존 파일 내용 확인
$ cat result.txt
# 기존 파일에 이어서 출력값 남기기
$ pwd >> result.txt
# 파일 내용 확인
$ cat result.txt
표준 에러 출력인 경우
[기존 파일에 덮어 쓰기]
$ ls abc 2> error.txt # ls의 출력 결과값을 error.txt 파일에 저장
# 파일에 출력값이 잘 저장됐는 지 확인
$ ls
$ cat error.txt
# 한 번 더 이 명령어를 실행시키면 기존 파일을 덮어씌움 (즉, 기존 파일의 내용이 다 날라감)
$ ls abc 2> error.txt
[기존 파일에 이어서 쓰기]
# 기존 파일 내용 확인
$ cat error.txt
# 기존 파일에 이어서 출력값 남기기
$ ls abc 2>> error.txt
# 파일 내용 확인
$ cat result.txt
# 한 번 더 테스트해보기
$ ls xxxx 2>> erorr.txt
$ cat error.txt
✅ 정리
> 대신 >>를 사용하면 파일을 덮어쓰지 않고 파일의 끝에 이어서 출력값을 덧붙여 기록하게 된다. 만약 기존의 출력값이 사라지면 안 되는 경우에는 반드시 >>를 사용하도록 하자.