*표준 입/출력: 키보드로 입력 --> 모니터로 출력
입출력 리다이렉션(Redirection) : 파일로 표준 입/출력을 할 수 있도록 하는 것
리다이렉션 기호 | 방향 | 의미 |
> | 표준 출력 |
명령 > 파일 : 명령의 결과를 파일로 저장 (기존 파일 덮어씀) |
>> | 표준 출력(append) | 명령 >> 파일 : 명령의 결과를 기존 파일에 추가 |
< | 표준 입력 | 명령 < 파일 : 파일의 데이터를 명령에 입력 |
Ex1) cat test1.txt의 결과를 test.txt로 저장한다. (표준 출력 리다이렉션)
$cat test1.txt > test.txt
Ex2) cat test1.txt를 실행했을 때 에러가 발생하면 err.txt로 저장한다. (표준 에러 리다이렉션)
$cat test1.txt 2 > err.txt
*표준 출력/에러 모두 리다이렉션을 하고 싶다면 파일명 앞에 &추가
Ex) cat test1.txt >& test_err.txt
Ex3) test1.txt의 내용을 sort명령어의 입력으로 받는다. (표준 입력 리다이렉션)
$sort < test1.txt
Ex4) cat test1.txt를 실행한 결과를 test1.log로 저장하고 에러가 발생하는 경우에도 test1.log로 저장한다.
$cat test1.txt > test1.log 2 >&1
파일 디스크립터(File descriptor,fd)
구분 | 장치 |
fd |
표준 입력 | 키보드 | 0 |
표준 출력 | 모니터 | 1 |
표준 에러 | 모니터 | 2 |
*쉘 스크립트에서 표준 에러 출력 없애는 법 : 실행 명령 뒤에 리다이렉션 기호를 사용하여 /dev/null 2 > &1를 붙여 사용
Ex) cat /etc/shell > /dev/null 2 > &1
(/dev/null은 0값을 갖는 Null파일)
파이프 라인(Pipe): 실행한 명령의 결과를 다음 명령으로 전달하여 처리되도록 할 때 사용
Ex)실행중인 프로세스 출력 결과 중 test란 문자가 포함된 라인만 출력
$ps -ef | grep test
$ps -ef | grep test | grep -v foo
'Server > 리눅스' 카테고리의 다른 글
[리눅스 명령어] file, type : file 종류, 명령어 종류 확인 (0) | 2020.03.17 |
---|---|
[리눅스 명령어] find, grep : 파일 찾기 명령어 (0) | 2020.03.17 |
[리눅스 명령어] wc : 해당 파일의 단어 수 카운트 (0) | 2020.03.17 |
[리눅스 명령어] mv, rename : 파일명 or 디렉토리명 변경 (0) | 2020.03.17 |
[Linux] crontab(크론탭) 설정 및 사용법 (0) | 2019.05.21 |