반응형
부제: 에러 출력을 따로 저장하거나 버리기
cmd 2> err.txt # 에러만 파일로
cmd > out.txt 2>&1 # 정상+에러를 같은 파일로
cmd 2>/dev/null # 에러 버리기
$ ls 없는파일 2> err.txt
$ cat err.txt
ls: cannot access '없는파일': No such file or directory명령어의 정상 출력(1번)과 에러 출력(2번)은 흐르는 통로가 다르다.2>는 에러만 따로 보내고, 2>&1은 에러를 정상 출력 쪽으로 합친다. 2>/dev/null은 에러를 아예 버릴 때 쓴다.
순서가 중요하다. > out.txt 2>&1처럼 >가 먼저 와야 둘 다 파일로 가고, 순서를 바꾸면 에러는 터미널에 남는다.
이렇게도 쓴다
권한 없는 디렉터리 에러를 숨기고 검색 결과만 본다.
find / -name "*.conf" 2>/dev/null
에러만 로그 파일에 누적한다(>>는 이어쓰기).
./backup.sh 2>> backup-err.log
크론 작업에서 출력을 전부 버린다.
./job.sh > /dev/null 2>&1
화면으로 보면서 파일에도 남긴다(tee 조합 — 배포 로그 단골).
./deploy.sh 2>&1 | tee deploy.log
에러까지 포함해 거른다. 파이프는 정상 출력만 넘기므로 2>&1을 먼저 붙여야 에러가 grep에 닿는다.
./build.sh 2>&1 | grep -i error반응형
'명령어 > Linux' 카테고리의 다른 글
| [리눅스] head 파일 앞부분 첫 줄 확인 (0) | 2026.07.09 |
|---|---|
| [리눅스] tail 로그 실시간 확인 마지막 줄 (0) | 2026.07.09 |
| [리눅스] < 입력 리다이렉션 파일을 입력으로 (0) | 2026.07.08 |
| [리눅스] grep 문자열 검색 (0) | 2026.07.08 |
| [리눅스] chmod 파일 권한 변경 (0) | 2026.07.08 |