티스토리 뷰
표준 입력 장치: 셸이 작업을 수행하는 데 필요한 정보를 받아들이는 장치. (키보드)
표준 출력 장치: 셸이 실행 결과를 내보내는 장치. (모니터)
표준 오류 장치: 셸이 오류 메세지를 내보내는 장치. (모니터)
파일 디스크립터(파일에 일련번호를 붙여서 관리하는 방식)
명령의 표준 입력 - 0
명령의 표준 출력 - 1
명령의 표준 오류 - 2
- 출력 리다이렉션(출력의 방향을 바꿈)
① 명령 > 파일명 : 해당 파일이 존재하지 않으면 새 파일을 생성해 명령의 결과를 저장. 해당 파일이 있으면 기존 파일의 내용을 삭제하고 새로 결과를 저장. '>' 대신 '1>'을 사용할 수 있는데, 여기서 1은 파일 디스크립터를 의미.
ex) ls -al > out1 을 하면 ls -al의 실행 결과가 화면에 출력되지 않고 파일 out1에 저장.
그 후 date > out1 을 하면 파일 out1에는 ls 명령의 결과가 사라지고 date 명령의 결과가 새로 저장.
* set -o noclobber를 실행하면 이미 존재하는 파일에 덮어쓰는 것을 금지. 설정을 해제하려면 +o 옵션 사용.
* cat 명령의 결과를 출력 리다이렉션하면 키보드의 입력을 받아 파일에 저장할 수 있음.
② 명령 >> 파일명 : 지정한 파일명의 파일이 없으면 파일을 생성하여 명령의 결과를 저장하고, 파일이 있으면 그 파일 내용 끝에 명령의 결과를 추가.
- 오류 리다이렉션
명령 2> 파일명 : 명령의 오류를 해당 파일에 저장. 오류 리다이렉션에서는 파일 디스크립터 번호 2를 생략할 수 없음.
* 표준 출력과 표준 오류를 한 번에 리다이렉션 하기 : ls . /abc > ls.out 2> ls.err (ls . 의 결과는 ls.out 파일에 저장되고 ls /abc의 결과는 ls.err 파일에 저장.)
* 표준 출력과 표준 오류를 한 파일로 리다이렉션 하기 : ls . /abc > ls.out 2>&1 (2>&1는 디스크립터 2번 파일을 1번으로 리다이렉션 하라는 의미.)
* 오류 메세지 버리기 : /dev/null 파일에 오류 메세지 저장. 이 파일에 저장된 내용은 복구할 수 없음.
- 입력 리다이렉션
명령 < 파일 : 표준 입력 장치 파일을 리다이렉션. '<'는 '0<'와 동일. (cat 명령의 파일을 읽어서 출력하는 기능은 <를 생략한 것. 즉 cat out1과 cat < out1이 동일)
'cs > linux' 카테고리의 다른 글
[리눅스/Linux] 에일리어스(alias), 히스토리(history) (0) | 2021.01.22 |
---|---|
[리눅스/Linux] 셸 변수/환경 변수, 변수 출력/생성/해제/, set/env/export/unset (0) | 2021.01.22 |
[리눅스/Linux] 셸 특수문자 의미 (*, ?, [], ~, -, '', "", ``, \, >, <, >>) (0) | 2021.01.22 |
[리눅스/Linux] 로그인 셸/서브 셸/셸 내장 명령/file/echo/printf (0) | 2021.01.22 |
[리눅스/Linux] 셸 기능/종류/변경 (0) | 2021.01.22 |