travel data science
[리눅스] 2. 입출력 방향 바꾸기 ( >, >>, 2>, <) 본문
개념
* 표준 입력 장치(키보드), 표준 출력 장치(모니터), 표준 오류 장치(모니터) 는 파일로 관리하며, 파일디스크립터(일련번호)를 붙여 관리함.
* 리다이렉션: 표준 입출력장치를 파일로 바꾸는 것
* 출력 리다이렉션 (>와 >> 사용)
1. > 를 사용한 리다이렉션(덮어쓰기)
- out1파일 생성 후 hello 저장. echo hi > out1 하면 덮어써지기 때문에 hello 가 없고, hi 만 있음.
2. 무분별하게 덮어쓰기 되는 것 막기
3. >>를 이용한 리다이렉션(연장)
- '>>'는 hello 가 사라지지 않고 hi가 추가되기만 함을 알 수 있음. (>와 차이점)
* cat 명령으로 리다이렉션
- cat 명령어는 화면에 파일의 내용 출력할 때 사용, 또는 입력을 받아 표준 출력으로 보낼 수도 있음.
* 오류 리다이렉션
- out4는 없는 파일이기 때문에 에러가 뜸. 단순히 >와 >> 를 사용하는 것은 안됨.
- 2> 를 사용해서 에러 파일을 저장하는 파일을 만듦.
- 버리고 싶으면 /dev/null으로 저장하기
* 표준 출력과 표준 오류를 한 번에 리다이렉션 하기
- 표준 입력과 표준 출력이 같이 뜨는 명령어인데 한 번에 두 개의 파일(ls.out, ls.err)로 리다이렉션함.
* 표준 출력과 표준 오류를 한 파일로 리다이렉션 하기
- &1이 파일디스크립터 1번을 의미하는데, 파일 디스크립터 1번은 표준 출력을 뜻한다.
* 입력 리다이렉션
- cat [파일명] 명령은 cat < [파일명]과 같음.
따라해보기 & 혼자해보기
* 따라해보기
1. 현대 디렉터리에서 l로 시작하는 모든 파일의 상세 정보를 확인한다.
2. 임시로 사용할 temp 디렉터리를 만든다.
3. l로 시작하는 모든 파일을 temp 디렉터리로 이동한다.
4. 운영체제의 이름을 출력하는 uname명령을 사용하여 'This is Linux System.' 이라는 문장을 추력한다. 백쿼터 기호를 작은 따옴표와 헷갈리지 않도록 유의한다.
5. 출력 방향 바꾸기로 4번 명령의 실행 결과를 u.out 파일에 저장한다.
6. date 명령의 실행 결과를 u.out 파일에 저장한다. u.out 파일에 어떤 내용이 남아있을지 생각해본다.
* 혼자해보기
1. 특수문자 *를 사용하여 temp디렉터리로 이동한 모든 파일을 현재 디렉터릴 복사한다.
2. uname -n 명령은 호스트 이름을 출력한다. 이 명령과 특수문자 ``를 사용하여 'This system name is ****.' 와 같이 출력되게 한다. ****에는 실제 호스트 이름이 출력되어야 한다.
3. 2번에서 실행한 결과를 출력 방향 바꾸기로 un.out 파일에 저장한다.
4. 현재 디렉터리의 파일 목촉을 출력 방향 바꾸기로 ls.out 파일에 저장한다.
5. un.out 파일과 ls.out 파일의 내용을 모두 출력 방향 바꾸기로 u.dat 파일에 추가한다. 명령을 한 번에 실행해야 한다.
'Linux (ubuntu)' 카테고리의 다른 글
[리눅스] 6. 환경 설정 파일 (0) | 2021.06.08 |
---|---|
[리눅스] 5. 프롬프트 설정 (0) | 2021.06.07 |
[리눅스] 4. 에일리어스와 히스토리( alias, unalias, history, !!, ! ) (0) | 2021.06.07 |
[리눅스] 3. 배시 셸 환경 설정(환경 변수 - set, env, echo $변수) (0) | 2021.06.07 |
[리눅스] 1. 셸 기본 사용법(shch, echo, printf, 특수문자) (4) | 2021.06.06 |