신기 한 셸 명령 행 입 출력 기능 소개

표준 입 출력 과 리 눅 스 배포 판 Fedora Core Linux,Red Hat 의 기 존 Red Hat Linux 개발 팀 도 이 배포 판 개발 에 계속 참여 할 예정 이다.
표준 입 출력
셸 명령 행 을 실행 할 때 보통 세 개의 표준 파일,즉 표준 입력 파일(stdin)을 자동 으로 열 고 터미널 키보드 에 대응 하 는 것 을 알 고 있 습 니 다.표준 출력 파일(stdout)과 표준 오류 출력 파일(stderr)은 두 파일 모두 터미널 화면 에 대응 합 니 다.프로 세 스 는 표준 입력 파일 에서 데 이 터 를 입력 하고 정상 적 인 출력 데 이 터 를 표준 출력 파일 로 출력 하 며 오류 정 보 를 표준 오류 파일 로 보 냅 니 다.cat 명령 을 예 로 들 면 cat 명령 의 기능 은 셸 명령 행 에서 제 시 된 파일 에서 데 이 터 를 읽 고 이 데 이 터 를 표준 출력 으로 직접 보 내 는 것 입 니 다.다음 명령 을 사용 하면$cat config 는 파일 config 의 내용 을 순서대로 화면 에 표시 합 니 다.단,cat 의 셸 명령 줄 에 인자 가 없 으 면 표준 입력 에서 데 이 터 를 읽 고 표준 출력 으로 보 냅 니 다.Hello world Hello world Bye Bye
사용자 가 입력 한 모든 줄 은 즉시 cat 명령 에 의 해 화면 에 출력 됩 니 다.또 다른 예,명령 sort 는 줄 에 따라 파일 본문 을 읽 습 니 다.(셸 명령 줄 에 파일 이름 이 없 을 때 표준 입력 에서 읽 는 것 을 표시 합 니 다)정렬 하고 결 과 를 표준 출력 으로 보 냅 니 다.아래 의 예 는 표준 입력 에서 구 매 서 를 읽 고 정렬 하 는 것 입 니 다.$sort bananas carrots apples bananas carrots
이때 우 리 는 화면 에서 정렬 된 구 매 서 를 받 았 다.표준 입력/출력 파일 을 직접 사용 하 는 데 다음 과 같은 문제 가 존재 합 니 다.입력 데 이 터 를 터미널 에서 입력 할 때 사용자 가 반나절 동안 입력 한 데 이 터 는 한 번 만 사용 할 수 있 습 니 다.다음 에 이 데 이 터 를 사용 하려 면 다시 입력 해 야 합 니 다.또한 터미널 에 입력 할 때 입력 이 잘못 되 어 수정 하기 가 쉽 지 않다.터미널 화면 에 출력 된 정 보 는 움 직 일 수 없 을 뿐 입 니 다.출력 을 다른 명령 의 입력 으로 추가 처리 하 는 등 출력 에 대해 더 많은 처 리 를 할 수 없습니다.상기 문 제 를 해결 하기 위해 리 눅 스 시스템 은 입 출력 전송 을 위해 다른 두 가지 체 제 를 도입 했다.즉,입 출력 재 설정 과 관 로 를 도입 했다.
입력
입력 리 셋 이란 명령(또는 실행 가능 한 프로그램)의 표준 입력 을 지정 한 파일 로 리 셋 하 는 것 을 말한다.입력 은 키보드 가 아 닌 지정 한 파일 에서 나 올 수 있다 는 것 이다.따라서 입력 재 설정 은 주로 명령 의 입력 원 을 바 꾸 는 데 사 용 됩 니 다.특히 대량의 입력 이 필요 한 입력 원 을 바 꾸 는 데 사 용 됩 니 다.예 를 들 어 wc 명령 은 지정 한 파일 에 포 함 된 줄 수,단어 수,문자 수 를 집계 합 니 다.셸 명령 줄 에 만 입력 하면:
$wc
wc 는 사용자 가 무엇 을 통계 하 는 지 알려 줄 때 까지 기다 릴 것 입 니 다.이때 셸 은 마치 죽은 것 처럼 키보드 에서 입력 한 모든 텍스트 가 화면 에 나타 나 지만 아무런 결과 가 없습니다.<ctrl+d>를 눌 러 야 wc 는 명령 결 과 를 화면 에 쓸 수 있 습 니 다.wc 명령 의 매개 변수 로 파일 이름 을 지정 하면 다음 과 같이 wc 는 이 파일 에 포 함 된 줄 수,단어 수,문자 수 를 되 돌려 줍 니 다.
$wc/etc/passwd 20 23 726/etc/passwd 다른 방법 은/etc/passwd 파일 내용 을 wc 명령 에 전달 하 는 방법 입 니 다.재 설정 을 입력 하 는 일반적인 형식 은 명령<파일 이름 입 니 다.다음 명령 으로 wc 명령 의 입력 을/etc/passwd 파일 로 바 꿀 수 있 습 니 다:$wc다른 입력 은 here 문서 로 재 설정 합 니 다.셸 현재 명령 의 표준 입력 은 셸 명령 행 에서 온 것 을 알려 줍 니 다.here 문서 의 리 셋 연산 자 는<<를 사용 합 니 다.이것 은 구분자(이 예 에서 delim 으로 표시)사이 의 본문 을 명령 에 다시 입력 합 니 다.다음 예 는 구분자 delim 사이 의 본문 을 wc 명령 으로 입력 하여 본문의 줄 수,단어 수,문자 수 를 집계 합 니 다.$wc<>this text forms the content >of the here document,which >continues until the end of >text delimter >delim
<<연산 자 뒤에 있 는 모든 문 자 는 본문 시작 전의 구분자 로 사용 할 수 있 습 니 다.이 예 에 서 는 delim 을 구분자 로 사용 합 니 다.here 문서 의 본문 은 다른 구분자 가 만 날 때 까지 이 어 집 니 다.두 번 째 구분자 가 새 줄 의 시작 에 나타 나 야 합 니 다.이 때 here 문서 의 본문(시작 과 끝 을 포함 하지 않 음)은 명령 wc 에 표준 입력 으로 다시 지정 합 니 다.이상 셸 명령 행 에 사용 합 니 다.

좋은 웹페이지 즐겨찾기