티스토리 뷰

728x90


 
 
표준 입력 장치: 셸이 작업을 수행하는 데 필요한 정보를 받아들이는 장치. (키보드)
표준 출력 장치: 셸이 실행 결과를 내보내는 장치. (모니터)
표준 오류 장치: 셸이 오류 메세지를 내보내는 장치. (모니터)
 
 
파일 디스크립터(파일에 일련번호를 붙여서 관리하는 방식)
명령의 표준 입력 - 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이 동일)

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함