귀염둥이의 메모

[Linux / CentOS 7] 리다이렉션 (Redirection) & 파이프 (Pipe) 본문

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>> 표준 에러 재지정 (이어쓰기)
>& 표준 출력&에러 재지정 (덮어쓰기)
>>& 표준 출력&에러 재지정 (이어쓰기)

 

파이프( | )

- 두 개 이상 명령어를 함께 사용합니다

- 첫 번째 명령의 표준 출력을 두 번째 명령의 표준 입력으로 대체합니다

 

 

리다이렉션, 파이프 예제

 

/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

 

반응형
Comments