redirection에서 ls -al > result.txt 를 실행 했을때 현재 상태뿐만아니라 result.txt가 만들어진 상태의 ls -al 의 결과가 저장되던데.. 무슨이유인가요??
아래는 실습 내용입니다
bash-4.3$ ls -al
total 20
drwxr-xr-x 4 work work 4096 Aug 15 19:12 .
drwxrwxr-x 3 work work 4096 Aug 15 12:59 ..
-rw-r--r-- 1 work work 0 Aug 15 14:07 ap.txt
-rw-r--r-- 1 work work 47 Aug 15 14:20 hello.html
drwxr-xr-x 12 work work 4096 Aug 15 14:51 react_src
drwxr-xr-x 2 work work 4096 Aug 15 18:41 why
bash-4.3$ ls -al > result.txt
bash-4.3$ cat result.txt
total 20
drwxr-xr-x 4 work work 4096 Aug 15 19:13 .
drwxrwxr-x 3 work work 4096 Aug 15 12:59 ..
-rw-r--r-- 1 work work 0 Aug 15 14:07 ap.txt
-rw-r--r-- 1 work work 47 Aug 15 14:20 hello.html
drwxr-xr-x 12 work work 4096 Aug 15 14:51 react_src
-rw-r--r-- 1 work work 0 Aug 15 19:13 result.txt
drwxr-xr-x 2 work work 4096 Aug 15 18:41 why
$ ls -l | grep rw-
이 구문은 실행이 잘 되는데,
$ ls -l > grep rw-
이 구문은 rw- 라는 파일이 없다는 에러가 나옵니다.
.
파이프라인은 command line argument 를 대체하고,
input redirection 은 표준입출력의 방향을 결정하는 거라서
이런 차이가 발생하는 걸까요?