1. 리 다이렉션
Redirection(입출력 재 지정)이란 표준 입력/출력/에러를 화면이 아닌 파일로 대체하는 것을 말한다.
기호의 종류
리다이렉션 기호 | 내용 |
< | 파일 읽기 |
> | 파일 쓰기(덮어쓰기) |
>> | 파일 쓰기(이어쓰기) |
파일 디스크립터
파일 디스크립터 (일련번호) |
이름 | 용도 | 표준장치 |
0 | stdin | 명령어에 입력될 내용을 저장 | 키보드 |
1 | stdout | 명령어에서 출력될 내용을 저장 | 화면 |
2 | stderr | 명령어에서 출력될 에러 메시지를 저장 | 화면 |
다양한 리다이렉션 기호 조합
- 명령 &> 파일명 # : 명령이 실행된 표준 출력의 결과와 에러를 파일로 출력
- 명령 &>> 파일명 # : 명령이 실행된 표준 출력의 결과와 에러를 파일로 덧붙여 출력
- 명령 2> err.txt # : 명령 실행 시 에러가 나면, 에러를 화면에 출력하지 말고 파일에 기록하도록 재 지정
- 명령 2>> err.txt # : 오류가 나면 에러내용을 계속 파일에 덧붙여 추가한다.
2>&1 이해하기
[root@Linux ~]# ls [root@Linux ~]# ls > ls.log [root@Linux ~]# cat ls.log ls.log [root@Linux ~]# ls /error > ls.log ls: cannot access '/error': No such file or directory [root@Linux ~]# cat ls.log # ls.log에 정상 명령어는 저장되고 에러는 저장되지 않는다. [root@Linux ~]# ls 2> ls.log ls.log [root@Linux ~]# cat ls.log [root@Linux ~]# ls /error 2> ls.log [root@Linux ~]# cat ls.log ls: cannot access '/error': No such file or directory # 2>를 사용하면 출력은 저장되지 않고 에러만 저장된다. [root@Linux ~]# ls > ls.log 2> ls.log [root@Linux ~]# cat ls.log ls.log [root@Linux ~]# ls /error > ls.log 2> ls.log [root@Linux ~]# cat ls.log ls: cannot access '/error': No such file or directory # 정상출력과 에러가 모두 파일에 저장되지만 명령어가 복잡해져 사용이 어렵다. [root@Linux ~]# ls /test /error > ls.log 2>&1 [root@Linux ~]# cat ls.log ls: cannot access '/error': No such file or directory /test: # 출력과 에러가 모두 파일에 저장된다. |
/dev/null
데이터를 지우고 싶을 때 사용한다 주로 출력이 필요 없을 때 사용
[root@Linux ~]# ls > /dev/null # 출력값이 나오지 않는다. |
2. | (pipe)
앞에 실행한 명령어의 출력 결과를 뒤에 실행하는 명령어의 입력 값으로 넣어 준다. |(pipe)를 사용하면 여러 명령을 동시에 연결하여 사용할 수 있다.
[root@Linux ~]# dnf list | grep htop htop.x86_64 3.2.2-1.el9 @epel #dnf list 내용중 htop에 대한 내용만 출력 |
'리눅스-기초명령어 > 문서 관리' 카테고리의 다른 글
정규표현식 (2) | 2023.08.31 |
---|---|
vi(vim) (0) | 2023.08.31 |
EOF, --stdin (0) | 2023.08.31 |
echo, cat, head, tail (1) | 2023.08.31 |
텍스트 파일 관련 명령어 wc(word count) (0) | 2023.05.16 |