본문 바로가기
강의 실습/비전공자도 이해할 수 있는 리눅스 입문 실전

표준 출력(stdout)과 표준 에러 출력(stderr)의 추가 기능

by jint 2025. 11. 12.

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

댓글