리다이렉션 (Redirection )
- 표준입력과 출력의 방향을 재 지정하는 방법
명령어 입력 ( 키보드/표준입력 ) -> 명령어의 결과 (모니터/표준출력)
1) 출력 리다이렉션
[명령어] 1> [파일이름] - 파일 생성 및 덮어쓰기
- 표준 출력을 의미하는 fd는 1 생략 가능
- 기존에 동일한 파일이 있어도 덮어쓰게 되어 사용 시 주의가 필요함
ex) ls 1> ls_file -> cat ls_file
Bash 쉘에서 파일 덮어쓰기 방지하기 설정
#set -o noclobber // 덮어쓰기 방지 기능 활성화
#set +o noclobber // 덮어쓰기 방지 기능 비활성화
추가 리다이렉션
[명령어] >> [파일이름] - 파일에 출력결과 추가
파일 출력결과를 기존에 파일의 내용은 유지하고 추가됨
0 -> 표준 입력
1 -> 표준 출력
2 -> 표준 에러
2) 오류 리다이렉션
[명령어] 2> /dev/null
오류가 발생한 내용을 화면에 출력하지 않기 위해 사용
/dev/null - 리눅스 특수 파일로 파일의 내용을 지우거나 오류 메세지를 해당 파일로
리 다이렉션하여 출력하지 않을 수 있다.
3) 입력 리 다이렉션
[명령어] < [파일]
#tail < a.txt > b.txt
1. a.txt 파일이 tail 명령어 입력 값으로 리다이렉션
2. tail 명령어가 입력받은 a.txt의 내용에서 마지막 10줄만 출력
3. tail 명령어의 출력결과를 b.txt 파일에 출력
4. tail 명령어의 출력결과는 콘솔이 아닌 b.txt에 리다이렉션이 되어 있으므로 출력결과를 b.txt.에 저장
파이프 (PIPE)
- 파일과 프로세스간에 입출력이 아닌 프로세스와 프로세스간에 입출력을 전달하는 방식
ex ) A프로세스의 출력에서 B프로세스 입력으로 이동시켜주는 말 그대로 파이프역할
사용 예 : [명령어1] | [명령어2]
: [명령어1] | [명령어2] ... [명령어N]
ls -l | grep "^d" | wc -l
ls -l 출력 결과에서 행의 시작이 d 로 시작 하는 행만 출력 (grep "^d")하여 각 행의 수를 계산(wc -l)
'Server > Linux' 카테고리의 다른 글
Linux // 그룹 (0) | 2018.01.18 |
---|---|
Linux // 유저 패스워드 설정 (0) | 2018.01.17 |
Linux // vim & vi (0) | 2018.01.11 |
Linux // 링크파일 (0) | 2018.01.10 |
Linux // 기본 명령어 3 (0) | 2018.01.09 |