반응형
기본 사용 방법

Linux에서 리디렉션 기호는 명령의 입력 및 출력을 조작하는 데 사용된다. 이러한 기호를 사용하여 명령 출력을 저장하고, 일반 출력에서 ​​오류 메시지를 분리하고, 다른 명령에 대한 입력으로 파일 콘텐츠를 제공할 수 있다.

 

리디렉션에는 표준 입력(stdin), 표준 출력(stdout) 및 표준 오류(stderr)의 세 가지 주요 유형이 있다. 이러한 리디렉션에 사용되는 기호는 다음과 같다.

>: stdout을 파일로 리디렉션하고 파일이 있으면 덮어쓴다.
>>: stdout을 파일로 리디렉션하고 파일이 있는 경우 파일에 추가한다.
<: 파일을 stdin으로 리디렉션한다.
2>: stderr을 파일로 리디렉션하고 파일이 있으면 덮어쓴다.
2>>: stderr을 파일로 리디렉션하고 파일이 있는 경우 파일에 추가한다.
&> 또는 >&: stdout과 stderr을 모두 파일로 리디렉션하고 파일이 있으면 덮어쓴다.
&>> 또는 >>&: stdout 및 stderr을 모두 파일로 리디렉션하고 파일이 있는 경우 파일에 추가한다.

사용 예시

예시 1: ls 명령의 출력을 file_list.txt라는 파일로 리디렉션

$ ls > file_list.txt

이 명령은 ls 명령의 출력으로 file_list.txt 파일을 만들거나 덮어쓴다.

예시 2: date 명령의 출력을 log.txt라는 파일에 추가

$ date >> log.txt

이 명령은 기존 내용을 덮어쓰지 않고 log.txt 파일에 현재 날짜와 시간을 추가한다.

예시 3: grep 명령에 대한 입력으로 파일 내용 사용

$ grep 'pattern' < input.txt

이 명령은 input.txt 파일의 내용 내에서 지정된 패턴을 검색한다. grep 'pattern' input.txt와 동일하다.

예시 4: find 명령의 오류 출력을 errors.txt라는 파일로 리디렉션

$ find / -name "file.txt" 2> errors.txt

이 명령은 루트 디렉터리 및 해당 하위 디렉터리에서 "file.txt"라는 파일을 검색한다. 검색 중에 생성된 모든 오류 메시지(예: 권한 부족)는 errors.txt 파일에 기록되며 파일이 이미 있는 경우 내용을 덮어쓴다.

예시 5: errors.txt라는 파일에 find 명령의 오류 출력을 추가

$ find / -name "file.txt" 2>> errors.txt

이 명령은 이전 예제와 유사하지만 내용을 덮어쓰는 대신 errors.txt 파일에 오류 메시지를 추가한다.

예시 6: wget 명령의 stdout 및 stderr을 모두 download.log라는 파일로 리디렉션

$ wget https://example.com/file.zip &> download.log

이 명령은 지정된 URL에서 파일을 다운로드하고 표준 출력(예: 다운로드 진행률) 및 표준 오류(예: 오류 메시지)를 모두 download.log 파일에 기록하고 파일이 이미 있는 경우 내용을 덮어쓴다.

예시 7: wget 명령의 stdout 및 stderr을 모두 download.log라는 파일에 추가

$ wget https://example.com/file.zip &>> download.log

이 명령은 이전 예제와 유사하지만 콘텐츠를 덮어쓰는 대신 표준 출력과 표준 오류를 모두 download.log 파일에 추가한다.

반응형