표준 입출력과 리다이렉션
표준 입출력 - 장치 (Device)
표준 입출력 (Standard In/Output) 장치 : 컴퓨터와 상호 작용할 수 있는 가장 기본적인 장치
표준 출력/ 표준에러 장치: 기본(모니터)
표준 입력 장치: 기본(키보드)
표준 입출력 - 인터페이스
표준 입력/출력/에러 - 표준 입출력 장치를 위한 (리눅스의) 인터페이스
(리눅스의 프로그램이 데이터를 보내고 받기 위한 창구)
stdin (표준 입력) : 0 stdout (표준 출력) : 1 stderr (표준 에러) : 2 |
Redirection
-입출력의 방향을 다시 정한다-
출력 리다이렉션
명령 > 파일 (명령 1> 파일) : 명령의 표준 출력을 지정한 파일로 변경 (파일이 없으면 생성, 있으면 덮어쓰기)
명령 >> 파일 : 파일이 없으면 생성, 있으면 끝에 추가
에러 리다이렉션
명령 2> 파일: 명령의 표준 에러 출력을 지정한 파일로 변경
응용 : ls -al . kkk : -al. + -al kkk
1. ls -al .kkk > ls_log2 2> ls_err2
표준 출력은 ls_log2 파일로, 표준 에러는 ls_err2 파일로 리다이렉션
2. ls -al . kkk 2> /dev/null
표준에러를 /dev/null 파일로 리다이렉션, 표준 출력만 모니터로 나타남
/dev/null (가상의 문자 장치 파일) : 출력/ 에러 내용을 버리는데 사용(블랙홀)
3. ls -al . kkk >ls_log3 2>&1
표준 출력과 에러를 하나의 파일로 리다이렉션
표준 출력은 ls_log3 파일로, 표준 에러는 변경된 표준 출력(ls_log3)로 리다이렉션
&1 : 표준 출력의 파일 디스크립터
입력 리다이렉션
1. 명령 < 파일 (명령 0< 파일) : 명령의 표준 입력을 지정한 파일로 변경 (파일로부터 입력)
.bashrc 파일의 내용을 입력받아 출력: cat <. bashrc (cat .bashrc와 동일)
2. 명령 << 구분 문자열: << 뒤에 지정한 구분문자열이 다시 입력될때까지 표준 입력을 수행, 이후 구분 문자열 이전까지의 내용에 대해 명령 수행
표준 입력으로 받은 내용을 hello 파일에 출력(저장)
cat << EOF > hello
ekdma EOF 이전까지 입력 받은 내용을 출력, 출력을 hello 파일로 변경
'강의 > DevOps Linux' 카테고리의 다른 글
[DevOps-Linux] 7. Shell -5 //Shell 변수와 환경변수 (0) | 2023.08.05 |
---|---|
[DevOps-Linux] 7. Shell -4 //파이프 (0) | 2023.07.18 |
[DevOps-Linux] 7. Shell -2 (0) | 2023.07.16 |
[DevOps-Linux] 7. Shell -1 (0) | 2023.07.15 |
[DevOps-Linux] 5. 파일 시스템 (0) | 2023.07.12 |