리다이렉션

리다이렉션

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