728x90
반응형
Redirection이란?
- 명령어를 통해 프로그램의 입력 및 출력을 다른 곳으로 전환하는 것
- 표준 입력(stdin), 표준 출력(stdout), 표준 에러(stderr)를 다른 파일이나 장치로 전환하는 데 사용
- > 또는 1>&: 출력 리다이렉션
- command > file: 명령어의 표준 출력을 파일로 전환합니다. 파일이 존재하지 않으면 새로 생성되며, 이미 파일이 존재하면 덮어씁니다.
- >>: 출력 리다이렉션(추가)
- command >> file: 명령어의 표준 출력을 파일로 추가합니다. 파일이 존재하지 않으면 새로 생성되며, 이미 파일이 존재하면 끝에 추가됩니다.
- <: 입력 리다이렉션
- command < file: 파일의 내용을 명령어의 표준 입력으로 제공합니다.
- |: 파이프
- command1 | command2: command1의 출력을 command2의 입력으로 전달합니다.
- &> 또는 2>&1: 표준 에러를 표준 출력으로 리다이렉션
- command &> file 또는 command 2>&1 > file: 표준 출력과 표준 에러 모두를 파일로 전환합니다.
- &>>: 표준 에러를 표준 출력에 추가로 리다이렉션
- command &>> file: 표준 출력과 표준 에러 모두를 파일에 추가합니다.
- <<: Here 문서를 사용한 입력 리다이렉션
- command << marker: "marker"로 표시된 문자열을 만날 때까지의 모든 텍스트를 명령어의 표준 입력으로 사용합니다.
- shell에서 직접 여러 줄의 텍스트를 입력할 수 있으며, 이를 특정 명령어나 스크립트의 입력으로 전달 가능
- 주로 스크립트에서 다른 프로그램에 대한 입력으로 여러 줄의 텍스트를 제공할 때 사용
cat << END
This is line 1.
This is line 2.
END
* Here 문서: shell 스크립트에서 특정 구간에 대한 입력을 지정하는 데 사용
find / -name *.txt 1>& a.txt
# / 디렉터리부터 시작하여 모든 파일 시스템에서 확장자가 .txt인 파일을 찾습니다.
# 1>& a.txt는 표준 출력을 a.txt 파일로 리다이렉션하는 것을 의미합니다.
# 즉, 검색 결과가 a.txt 파일에 저장됩니다.
ls -al -KnockOn 1> b.txt 2> a.txt
# -al은 ls 명령어의 옵션으로 모든 파일을 자세히 표시하고, 숨김 파일을 포함하여 표시합니다.
# -KnockOn은 경로..?
# 1> b.txt는 표준 출력을 b.txt 파일로 리다이렉션하는 것을 의미합니다.
# 즉, 파일 및 디렉터리 목록이 b.txt 파일에 저장됩니다.
# 2> a.txt는 표준 에러를 a.txt 파일로 리다이렉션하는 것을 의미합니다.
# 따라서 에러 메시지가 a.txt 파일에 저장됩니다.
ls -knockOn > c.txt 2>&1
# >는 표준 출력을 파일로 리다이렉션하는 것을 의미합니다.
# 따라서 파일 및 디렉터리 목록이 c.txt 파일에 저장됩니다.
# 2>&1은 표준 에러를 표준 출력으로 리다이렉션하는 것을 의미합니다.
# 따라서 에러 메시지도 표준 출력으로 전환되어 c.txt 파일에 저장됩니다.
파일 디스크립터(file descriptor)
- UNIX 및 UNIX 계열 운영 체제에서 파일과 관련된 입출력을 조작하는 데 사용되는 정수값
- 특히, UNIX 시스템에서 표준 입출력 및 에러 스트림을 지정하는 데 사용
- stdin (표준 입력, 파일 디스크립터 0):
- 표준 입력은 프로그램에 입력을 제공하는 스트림입니다. 보통 이는 키보드 입력으로 사용되지만, 파일 디스크립터를 리다이렉션하여 파일이나 다른 스트림에서 입력을 받을 수도 있습니다.
- stdout (표준 출력, 파일 디스크립터 1):
- 표준 출력은 프로그램의 출력을 포착하는 스트림입니다. 보통 이는 터미널에 출력되지만, 파일 디스크립터를 리다이렉션하여 파일이나 다른 스트림으로 출력을 보낼 수 있습니다.
- stderr (표준 에러, 파일 디스크립터 2):
- 표준 에러는 프로그램에서 발생하는 오류와 관련된 메시지를 포착하는 스트림입니다. 보통 이 역시 터미널에 출력되지만, 파일 디스크립터를 리다이렉션하여 파일이나 다른 스트림으로 오류를 보낼 수 있습니다.
728x90
반응형
'Linux' 카테고리의 다른 글
Ubuntu 운영체제의 패키지 (0) | 2024.02.22 |
---|---|
Linux 디렉토리 구조 (0) | 2024.02.22 |
"chmod: changing permissions of 'file': Operation not permitted" 오류 (0) | 2024.02.22 |
Ubuntu 운영체제 명령어 (0) | 2024.02.21 |
Linux 운영체제 (0) | 2024.02.20 |