리다이렉션
1. echo
- 원하는 문자를 출력함
- 사용법 : echo "내용"
- echo -e "내용"
- 이스케이프 문자 사용 (\n이 줄바꿈 문자로 처리됨)
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ echo "hello world"
hello world
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ echo -e "hello \nworld"
hello
world
- echo -n "내용"
- 출력문 끝에 줄바꿈 문자를 자동으로 붙이지 않음
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ echo -n "hi" > hi.txt
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ echo -n " my name is" >> hi.txt
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ cat hi.txt
hi my name is
2. 리다이렉션(Redirection)
※ 표준 출력 → 모니터
※ 표준 입력 → 키보드
※ 표준 에러 → 모니터
- 파일로 표준 입력을 받고, 파일로 표준 출력을 받음
※ cat 파일명 : 문서의 내용을 출력
- 명령어 < 파일 : 파일의 내용을 명령어의 입력으로 사용
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ echo "hi" > hi.txt
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ cat hi.txt
hi
- 명령어 > 파일 : 명령어의 결과(표준 출력)를 파일에 덮어씀
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ echo "hi" < hi.txt
hi
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ echo "hello" > hi.txt
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ cat hi.txt
hello
- 명령어 >> 파일 : 명령어의 결과를 파일에 추가
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ touch a b c d e
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ ls -l
total 2
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:03 a
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:03 b
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:03 c
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:03 d
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:03 e
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ ls -l >> test.txt
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ cat test.txt
total 2
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:03 a
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:03 b
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:03 c
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:03 d
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:03 e
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:04 test.txt
3. 리다이렉션 사용법
- 명령어 1> 파일 : 명령어 > 파일 과 같은 의미로, 표준출력을 파일에 덮어씀 (표준 출력을 리다이렉션 함)
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ touch a b c
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ ls -l a b c d
ls: cannot access 'd': No such file or directory
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 a
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 b
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 c
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ ls a b c d 1> test.txt
ls: cannot access 'd': No such file or directory
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ cat test.txt
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 a
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 b
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 c
- 명령어 2> 파일 : 명령어 실행 시, 에러가 발생한다면, 에러 내용을 파일에 덮어씀 (표준 에러를 리다이렉션함)
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ touch a b c
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ ls -l a b c d
ls: cannot access 'd': No such file or directory
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 a
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 b
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 c
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ ls -l a b c d 2> test.txt
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 a
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 b
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:08 c
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ cat test.txt
ls: cannot access 'd': No such file or directory
- 명령어 1> 파일a 2> 파일b : 명령어 실행 시, 결과는 파일a에, 에러는 파일b에 덮어씀
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ touch a b c
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ ls -l a b c d
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:10 a
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:10 b
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:10 c
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ ls -l a b c d 1> result.txt 2> error.txt
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ cat result.txt
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:10 a
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:10 b
-rw-r--r-- 1 juv62 197609 0 Aug 11 17:10 c
name@E▒▒▒▒▒▒00 MINGW64 /c/Test
$ cat error.txt
ls: cannot access 'd': No such file or directory
- 명령어 1> 파일 2> 파일 : 명령어 실행 시, 표준 출력과 에러를 모두 파일에 덮어씀
'Back-End Study > Linux' 카테고리의 다른 글
Virtual Box (0) | 2022.08.17 |
---|---|
리눅스 명령어 2 (0) | 2022.08.11 |
Vim 에디터 (0) | 2022.08.11 |
리눅스 명령어 (0) | 2022.08.10 |
리눅스 (0) | 2022.08.10 |