Infra & Devops/Linux
[Linux / CentOS 7] 리다이렉션 (Redirection) & 파이프 (Pipe)
겸둥이xz
2021. 8. 21. 16:33
반응형
리다이렉션 (Redirection)
- 프로세스의 입력 또는 출력 대상을 변경합니다
- 일반적으로 출력 값을 파일로 저장하는 용도로 사용합니다
- 표준 입출력 및 표준 에러에 대한 처리 기능
<표준 입출력>
0 | stdin (표준 입력) | keyboard |
1 | stdout (표준 출력) | monitor(terminal) |
2 | stderr (표준 에러) | monitor(terminal) |
<입력, 출력, 에러 리다이렉션>
기호 | 설명 |
< | 표준 입력 재지정 |
> | 표준 출력 재지정 (덮어쓰기) |
>> | 표준 출력 재지정 (이어쓰기) |
2> | 표준 에러 재지정 (덮어쓰기) |
2>> | 표준 에러 재지정 (이어쓰기) |
>& | 표준 출력&에러 재지정 (덮어쓰기) |
>>& | 표준 출력&에러 재지정 (이어쓰기) |
파이프( | )
- 두 개 이상 명령어를 함께 사용합니다
- 첫 번째 명령의 표준 출력을 두 번째 명령의 표준 입력으로 대체합니다
![](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
리다이렉션, 파이프 예제
/etc/passwd 파일에서 처음 10줄을 fileA 에 저장하기
# head /etc/passwd > fileA
/etc/hosts 파일의 모든 내용을 fileB 에 저장하기
# cat /etc/hosts > fileB
전체 시스템 ( / ) 에서 fileA 라는 이름의 파일을 검색하며 에러 메시지는 /dev/null 로 버리기
# find / -name fileA 2> /dev/null
/etc/ssh/sshd_config 파일에서 주석과 빈 라인을 제외한 내용을 ssh.txt 파일로 저장하기
# grep -v -e '^#' -e '^$' /etc/ssh/sshd_config > ssh.txt
/etc/group 파일의 끝부분 3줄을 fileA 에 추가하기
# tail -n 3 /etc/group >> fileA
/etc 디렉토리의 파일 중에서 디렉토리를 찾기 (ls -l 에서 d 로 시작하면 디렉토리)
# ls -l /etc | grep '^d'
/tmp 디렉토리의 파일이 몇 개인지 확인하기 (wc 명령어를 사용하면 글자수/단어수/라인수 확인 가능)
# ls -l /tmp | grep '^-' | wc -l
명령어 히스토리에서 30 ~ 35 라인의 명령어 확인하기
# history | grep '^ *3[012345] '
/usr 디렉토리의 파일 목록을 list.txt 로 저장하고 해당 파일이 몇개인지 확인하기
# ls /usr | tee list.txt | wc -l
반응형