28년 20월 23일 목요일 07:2002:XNUMX CET
The 데이터 명령은 일반적으로 화면에 마지막 줄을 표시합니다. 이제 파일에 추가됩니다. 위시리스트.
![]()
5.2. 고급 리디렉션 기능
5.2.1. 파일 디스크립터 사용
I/O에는 세 가지 유형이 있으며, 각각 파일 설명자라고 하는 고유한 식별자가 있습니다.
• 표준 입력: 0
• 표준 출력: 1
• 표준 오차: 2
다음 설명에서 파일 설명자 번호가 생략되고 리디렉션 연산자의 첫 글자가 <이면 리디렉션은 표준 입력(파일 설명자 0)을 참조합니다. 리디렉션 연산자의 첫 글자가 >이면 리디렉션은 표준 출력(파일 설명자 1)을 참조합니다.
몇 가지 실제 사례를 살펴보면 이것이 더 명확해집니다.
ls> 디렉토리 2> 및 1
표준 출력과 표준 오류를 모두 파일에 보냅니다. 디렉토리, 명령하는 동안
ls 2>&1 > 디렉토리
표준 출력만 다음으로 전달합니다. 디렉토리이는 프로그래머에게 유용한 옵션이 될 수 있습니다.
여기서는 상황이 꽤 복잡해집니다. 4.1.2.1절에서 앰퍼샌드를 사용한 것과 혼동하지 마세요. XNUMX절에서 앰퍼샌드는 백그라운드에서 프로세스를 실행하는 데 사용됩니다. 여기서 앰퍼샌드는 뒤에 오는 숫자가 파일 이름이 아니라 데이터 스트림이 가리키는 위치를 나타내는 것일 뿐입니다. 또한, 파일 설명자 번호와 '보다 큰' 기호를 공백으로 구분해서는 안 됩니다. 공백으로 구분하면 출력을 다시 파일로 지정하게 됩니다. 아래 예제는 이를 보여줍니다.
[낸시@아수스 /var/tmp]$ ls 2> 임시
[낸시@아수스 /var/tmp]$ ls -l 임시
-rw-rw-r-- 1 낸시 낸시 0 7월 12일 58:XNUMX 임시
[낸시@아수스 /var/tmp]$ ls 2 > 임시
ls: 2: 해당 파일이나 디렉토리가 없습니다.
[낸시@아수스 /var/tmp]$ ls 2> 임시
[낸시@아수스 /var/tmp]$ ls -l 임시
-rw-rw-r-- 1 낸시 낸시 0 7월 12일 58:XNUMX 임시
[낸시@아수스 /var/tmp]$ ls 2 > 임시
ls: 2: 해당 파일이나 디렉토리가 없습니다.
첫 번째 명령은 낸시 실행은 정확합니다(오류가 생성되지 않고 표준 오류가 리디렉션되는 파일이 비어 있음에도 불구하고). 두 번째 명령은 다음을 예상합니다. 2 는 존재하지 않는 파일 이름이므로 오류가 표시됩니다.
이러한 모든 기능은 Bash Info 페이지에서 자세히 설명합니다.
![]()
문서