Shell 의 방향 변경

3255 단어
표준 입력, 표준 출력, 표준 오류
한 프로그램의 입력 은 키보드 에서 나 올 수도 있 고 파일 이나 다른 장치 에서 나 올 수도 있다.마찬가지 로 한 프로그램 도 출력 을 화면 에 표시 하거나 파일 에 저장 할 수 있 습 니 다.이것 은 표준 입력, 표준 출력 과 표준 오류 와 관련된다.
프로그램의 입력 은 표준 입력 이 고 기본 값 은 키보드 이 며 사용 자 는 파일 이나 다른 장치 로 지정 할 수 있 습 니 다.
프로그램의 출력 은 두 가지 가 있 는데 그것 이 바로 표준 출력 과 표준 오류 이다. 그 중에서 표준 출력 은 프로그램의 정상 적 인 출력 이 고 표준 오 류 는 프로그램의 오류 출력 이다.기본 값 은 화면 으로 지정 되 어 있 으 며 사용 자 는 파일 이나 다른 장치 로 지정 할 수 있 습 니 다.
다음 프로그램 은 키보드 에서 입력 을 읽 고 결 과 를 화면 에 표시 합 니 다. 즉, 표준 입력, 표준 출력 과 표준 오 류 는 모두 기본 설정 을 사용 합 니 다.
$ ls ~
hello.txt  homework  name  source.list.bk

방향 을 바꾸다
사용 자 는 표준 입력, 표준 출력 과 표준 오 류 를 지정 하 는 입력 과 출력 을 재 설정 할 수 있 습 니 다.
표준 입력 사용 < 을 지정 합 니 다. 아래 명령 은 input 파일 을 sort 명령 으로 입력 합 니 다. 곧 sort 명령 의 표준 입력 을 input 파일 로 재 설정 합 니 다.
$ cat input
zhao
qian
sun
li
zhou
wu
zheng
wang
$ sort < input
li
qian
sun
wang
wu
zhao
zheng
zhou

이 예 에서 input 파일 은 sort 명령 의 표준 으로 입력 합 니 다.
사용 > 표준 출력 으로 재 설정:
$ ls ~ > output
$ cat output
hello.txt
homework
input
name
output
source.list.bk

위 에서 보 듯 이 ls ~ 의 표준 출력 은 output 으로 재 설정 되 었 기 때문에 출력 은 output 파일 에 기록 되 었 다.
주의해 야 할 것 은 output 이 존재 하지 않 으 면 자동 으로 output 파일 을 만 듭 니 다.output 이 존재 한다 면 output 의 내용 을 비우 고 새로운 내용 을 기록 합 니 다.
출력 파일 의 기 존 내용 의 끝 에 만 추가 하려 면 사용 할 수 있 습 니 다 >>.
$ date >> output
$ cat output
hello.txt
homework
input
name
output
source.list.bk
Sat Jun 30 18:18:53 CST 2018

다음 명령 은 표준 입력 을 input 로 재 설정 하고 표준 출력 을 output 로 재 설정 합 니 다.
$ sort < input > output     #   output  
$ sort < input >> output    #  output      

파일 설명자
모든 입력 원 과 출력 지 에는 하나의 설명자 가 있 습 니 다. 표준 입력 의 설명 자 는 0 이 고 표준 출력 의 설명 자 는 1 이 며 표준 오류 의 설명 자 는 2 입 니 다.0< 리 셋 표준 입력 을 사용 합 니 다. 사실상 프로그램의 기본 리 셋 입력 은 표준 입력 이기 때문에 아래 의 두 명령 은 등가 입 니 다.
$ sort < input
$ sort 0< input

마찬가지 로 프로그램의 기본 적 인 출력 을 표준 출력 으로 재 설정 하기 때문에 아래 의 두 명령 도 등가 입 니 다.
$ ls > output
$ ls 1> output

다음 명령 은 표준 입력 을 input 파일 로 재 설정 하고 표준 출력 은 output 파일 (추가) 로 재 설정 하 며 표준 오 류 를 error 파일 로 재 설정 합 니 다.
$ sort < input 1>> output 2> error

표준 출력 과 표준 오 류 를 조합 합 니 다.
다음 명령 은 표준 출력 을 output 파일 로 재 설정 합 니 다. 표준 오 류 는 화면 에 표 시 됩 니 다.
$ sort < input > output

다음 명령 은 표준 출력 을 output 파일 로 재 설정 하고 표준 오 류 를 error 파일 로 재 설정 합 니 다.
$ sort < input > output 2> error

다음 명령 은 표준 출력 을 output 파일 로 재 설정 하고 2>&1 표준 오 류 를 표준 출력 으로 재 설정 합 니 다.
$ sort < input > output 2>&1

위의 예 에서 표준 출력 과 표준 오 류 는 모두 output 파일 로 재 설정 된다.
아래 명령 은 표준 출력 과 표준 오 류 를 서로 덮어 쓰기 때문에 사용 할 수 없습니다.
$ sort < input > output 2> output

좋은 웹페이지 즐겨찾기