일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 트리
- Logback
- spring boot
- Gradle
- spring cloud
- 다익스트라
- BFS
- 구현
- 백트래킹
- Zuul
- Java
- 스택
- 서비스 디스커버리
- 도커
- dp
- ZuulFilter
- 게이트웨이
- 이분 탐색
- 달팽이
- Spring Cloud Config
- 스프링 시큐리티
- 주울
- 완전 탐색
- 플로이드 와샬
- docker-compose
- 유레카
- 이분 매칭
- 비트마스킹
- 메모이제이션
- 구간 트리
- Today
- Total
Hello, Freakin world!
[Ubuntu] 입출력 리다이렉션 연산자 정리하기 본문
< , > , << , >> 를 이용해 IO의 방향을 정할 수 있습니다.
> 를 이용해 표준 출력을 파일에 저장
위의 예제는 cat 명령을 이용해 키보드 입력에 대한 출력을 example.txt 에 저장하는 예제입니다.
(cat 명령어에 아무런 옵션과 인수를 주지 않을 경우, 키보드 입력이 표준 출력으로 나오게 됩니다.)
위의 예제는 >>를 이용해도 결국 동일한 결과를 나타내게 됩니다.
>, >>의 차이는 뭘까요?
> 를 사용하는 경우 매번 새로운 example.txt 를 생성해 결과를 덮어쓰게 됩니다.
하지만 >> 를 사용하는 경우 기존의 example.txt에 결과를 이어서 쓸 수 있습니다.
이제 반대 방향인 < 도 써볼까요?
< 를 이용하니 cat의 표준 입력이 example.txt 내용을 화면에 출력하는 표준 출력으로 대체됐습니다.
그렇다면 << 는 어떻게 동작할까요?
cat << example.txt 라는 코드를 작성했다고 하죠. >> 를 썼던 경우와는 뭔가 상황이 달라졌습니다.
이전의 예제에서 >>는 뭔가를 이어 붙인다는 개념이었습니다.
그렇다면 표준 입력에서 뭔가를 이어 붙인다는 건 어떤 의미일까요?
갑자기 heredoc 이라는게 튀어나왔습니다.
이게 뭔고 보니 한 줄 단위 입력이 아니라 여러 줄의 입력을 받아주는 거네요.
간단하게 정리해보자면, cat 명령어처럼 표준 입력을 받는 명령어에 << 를 사용하면 여러 줄 입력이 가능하게 됩니다.
>> 예제에서 느꼈던 뭔가 이어 붙인다는 개념과도 어느 정도 들어맞네요.
다시 제대로 예제를 작성해봅시다.
<< 뒤에 오는 건 delimiter(구획 문자) 입니다.
간단하게 말해서 문서의 끝을 지정하는 문자입니다. 보통 EOF(end of file?)과 같은 약자를 많이 쓰는 것 같네요.
'OS > Ubuntu' 카테고리의 다른 글
우분투 자바 환경 변수 설정 (0) | 2020.09.23 |
---|---|
[Ubuntu] Vim 명령어 쓸것만 정리 (0) | 2020.05.29 |
[Ubuntu] 로그인 여부에 따른 쉘 환경 (0) | 2020.05.29 |
[Ubuntu] 쉘 환경 - 환경 변수, 쉘 변수 (0) | 2020.05.28 |
[리눅스] 커맨드라인 편집 명령어 정리 (0) | 2020.05.27 |