파이프는 | 로 나타내며, 앞에서 실행된 명령의 결과를 뒤쪽의 명령어로 전달하라는 의미이다.
그래서 파이프를 사용하면 뒤쪽의 명령어는 앞쪽의 명령어의 결과를 바탕으로
또 다른 결과가 나오게 할 수 있다.
즉, 각각의 명령어들의 기능을 조합하여 새로운 명령 또는 복잡한 명령을 수행할 수 있게 만들어 준다.
ps u | grep make
cat compile.log | more
tail -n 20 compile.log | grep Error
리다이렉트(redirect)는 > 또는 < 기호로 나타내며, 표준 입출력의 방향을 바꿔주고 싶을 때 사용한다.
ls > list.txt
ls 명령어는 결과를 콘솔 화면(표준 출력)에 출력하는데, 이를 화면이 아닌 list.txt 파일에 저장하라는 뜻.
tail -n 20 compile.log > result.txt
compile.log의 제일 끝 부분의 20줄만 콘솔 화면에 출력하는데, 이를 화면이 아닌 result.txt 파일에 저장하라는 뜻
grep hello < hello_world.c
hello_world.c 파일을 읽어서 hello라는 단어가 있는 줄만 화면에 출력.
cat hello_world.c | grep hello 와 같은 결과를 출력.