1. 기존 파일에 덮어 쓰기 vs 기존 파일에 이어서 쓰기
1) 표준 출력인 경우
#1 기존 파일에 덮어 쓰기
- Ubuntu
ubuntu@ip-172-31-39-75:~$ pwd > result.txt
ubuntu@ip-172-31-39-75:~$ ls
all.txt app.txt awesome-service directory.txt dummy.txt error.txt list.txt list2.txt list3.txt list4.txt myfile.txt new-box result.txt
ubuntu@ip-172-31-39-75:~$ cat result.txt
/home/ubuntu
ubuntu@ip-172-31-39-75:~$ pwd > result.txt
ubuntu@ip-172-31-39-75:~$ cat result.txt
/home/ubuntu
pwd > result.txt 명령어를 실행시킨 뒤, 한 번 더 이 명령어를 실행시키면 기존 파일을 덮어씌운다. (즉, 기존 파일의 내용이 다 날라감)
일반적으로 서버를 운영하다보면 로그를 꾸준히 쌓아두는게 중요하다. 그런데 명령어 새로 한 번 쳤다고 기존 파일의 내용이 다 사라지면 문제가 될 수 있다.
#2 기존 파일에 이어서 쓰기
- Ubuntu
ubuntu@ip-172-31-39-75:~$ cat result.txt
/home/ubuntu
ubuntu@ip-172-31-39-75:~$ pwd >> result.txt
ubuntu@ip-172-31-39-75:~$ cat result.txt
/home/ubuntu
/home/ubuntu
실무에서는 이런식으로 많이 활용한다.
2) 표준 에러 출력인 경우
#1 기존 파일에 덮어 쓰기
- Ubuntu
ubuntu@ip-172-31-39-75:~$ ls abc 2> error.txt
ubuntu@ip-172-31-39-75:~$ ls
all.txt app.txt awesome-service directory.txt dummy.txt error.txt list.txt list2.txt list3.txt list4.txt myfile.txt new-box result.txt
ubuntu@ip-172-31-39-75:~$ cat error.txt
ls: cannot access 'abc': No such file or directory
ubuntu@ip-172-31-39-75:~$ ls abc 2> error.txt
ubuntu@ip-172-31-39-75:~$ cat error.txt
ls: cannot access 'abc': No such file or directory
ls abc 2> error.txt 명령어를 실행시킨 뒤, 한 번 더 이 명령어를 실행시키면 기존 파일을 덮어씌운다. (즉, 기존 파일의 내용이 다 날라감)
#2 기존 파일에 이어서 쓰기
- Ubuntu
ubuntu@ip-172-31-39-75:~$ cat error.txt
ls: cannot access 'abc': No such file or directory
ubuntu@ip-172-31-39-75:~$ ls abc 2>> error.txt
ubuntu@ip-172-31-39-75:~$ cat error.txt
ls: cannot access 'abc': No such file or directory
ls: cannot access 'abc': No such file or directory
2개의 에러 메시지가 잘 이어서 기록된 것을 확인할 수 있다. 한 번 더 테스트 해본다.
- Ubuntu
ubuntu@ip-172-31-39-75:~$ ls xxxx 2>> error.txt
ubuntu@ip-172-31-39-75:~$ cat error.txt
ls: cannot access 'abc': No such file or directory
ls: cannot access 'abc': No such file or directory
ls: cannot access 'xxxx': No such file or directory
3개의 에러 메시지가 나오는 것을 확인할 수 있다.
2. 정리
> 대신 >> 를 사용하면 파일을 덮어쓰지 않고 파일의 끝에 이어서 출력값을 덧붙여 기록하게 된다.
만약 기존의 출력값이 사라지면 안 되는 경우에는 반드시 >> 를 사용한다.
참고링크 : https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90%EB%8F%84-%EC%9D%B4%ED%95%B4%ED%95%A0-%EC%88%98-%EC%9E%88%EB%8A%94-%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%9E%85
비전공자도 이해할 수 있는 리눅스 입문/실전| JSCODE 박재성 - 인프런 강의
현재 평점 5.0점 수강생 285명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 '리눅스 입문' 강의를 만들어봤습니다! 리눅스를 처음 배우시는 분, Per
www.inflearn.com
'강의 실습 > 비전공자도 이해할 수 있는 리눅스 입문 실전' 카테고리의 다른 글
| 리눅스에서 실행 중인 프로세스 조회하기 / 종료하기 (ps, kill) (0) | 2025.11.19 |
|---|---|
| [실습] Spring Boot 서버가 출력하는 로그를 파일로 남기기 (1) | 2025.11.13 |
| 표준 에러 출력(stderr)이란? (0) | 2025.11.11 |
| [실습] 표준 출력(stdout) 활용해보기 (0) | 2025.11.10 |
| 표준 출력(stdout)이란? (0) | 2025.11.09 |
댓글