리다이렉션(redirection)이란?
- 리다이렉션은 출력장치(표준 입출력)를 전환(바꿔준다)한다.
- 입력 장치 : 명령어(키보드), 출력장치 : 모니터
- 명령어를 입력하면 그 출력 내용이 모니터에 나오게 됨
- 이 때, 출력 내용을 모니터가 아닌 파일로 처리하고 싶다면 리다이렉션 기호를 사용함
- 4가지 기호 사용(<, <<, >, >>)
[ 실습 ]
echo 1
=> 1을 모니터에 출력
echo Hello, World!
=> Hello, World! 를 모니터 출력
echo 1 > test.txt
=> 1이 화면에 출력되지 않음
cat test.txt
=> cat 명령어를 통해서 test.txt의 내용을 화면에 출력하면 1이 출력됨
=> 모니터에 출력될 1을 리다이렉션 기호('>')를 사용하여 test.txt 파일에 그 내용을 출력한 것.
echo 2 > test.txt
cat test.txt
=> 1은 보이지 않고, 2만 출력됨
=> 리다이렉션 기호('>')는 기존에 있던 내용을 덮어쓰고 새롭게 내용을 만듦
echo 3 >> test.txt
cat test.txt
=> 모니터에 숫자 2와 3을 보여줌
=> 기존에 내용을 두고 추가하려면 '>>' 을 사용
'>' 와 '>>' 공통점과 차이점
공통점 : 표준 출력인 모니터로 출력하지 않고, 파일로 출력하는(결국 파일에 입력이 됨) 리다이렉션 기호
차이점 : '>' 는 기존의 파일 내용을 없애고 파일에 출력, '>>'는 기존의 파일 내용을 유지하고 마지막 라인에 추가
따라서, '>' 리다이렉션 기호는 기존의 내용을 삭제하므로 조심해서 사용해야 함!
파일의 내용을 왼쪽 명령어에 입력값으로 사용하는 경우 '<'를 사용
예를 들어 데이터베이스 접속 시 백업해 놓은 파일을 입력값으로 해서 접속을 할 때
sudo mysql -u root -p shopping_db < customer_table_backup.sql
=> 백업 해 놓은 'customer_table_backup.sql'을 적용해서 접속
=> 즉, customer 테이블 복구!
또는 특정 파일의 내용을 정렬해서 출력하고 싶다면
sort < 파일이름 입력
ex) sort < list.txt
=> list.txt의 파일 내용을 정렬해서 모니터에 출력해라!
cat << end
> (입력상태가 지속됨)
> 1(엔터)
> 2(엔터)
> end(엔터)
=> end 문자열이 입력되면 현재까지 입력했던 문자열들이 echo 명령어에 의해 화면에 보여짐
cat << end > Hi.txt
> Hi
> My name is Kang
> Bye
> end
=> 입력상태가 end 문자열을 만나서 종료되고 입력된 내용을 ('>')에 의해서 Hi.txt에 출력되어 짐
'<' 와 '>' 를 활용
sort < list.txt > sort_list.txt
=> list.txt 의 내용을 sort(정렬)하고 그 정렬된 내용을 다시 sort_list.txt에 입력!
리다이렉션 기호를 정리하면
'>' : 출력의 변화(출력을 감지, 출력방향을 바꿈)
'>>' : 추가(Append)의 개념
'<' : 입력 장치를 변환(입력으로 받아들임)
=> A < B 는 B(파일의 내용)을 읽어서 A(어떤 명령어)를 실행시켜라!는 의미
'<<' : << [문자열] 형태로 쓰이며 문자열이 쓰일 때까지 입력 상태를 이어나감
'AWS' 카테고리의 다른 글
[AWS] 리눅스 파일 압축 및 해제 (0) | 2023.12.20 |
---|---|
[AWS] 교재 EC2 인스턴스 작성 명령어 모음 ① (0) | 2023.12.20 |
[AWS] EC2(Apache)-RDS(MySQL) 워드프레스 구현 (0) | 2023.12.20 |
[AWS] 교재 EC2 인스턴스 작성 (1) (0) | 2023.12.20 |
[AWS] AWS EC2 Nginx 구현 (0) | 2023.12.13 |