pipe는 우리가 생각하는 이미지가 맞다
어떠한 공간에서 어떠한 물질을 다른 공간으로 이동시키는 역할인것을 생각하면 컴퓨터에서도 이 개념은 일맥상통한다.
하지만 컴퓨터에서는 물질보다는 프로세스와 프로세스 사이를 연결하는 역할을 하는것이 바로 pipe이다.
즉 특정한 프로세스의 출력을 또다른 프로세스의 입력으로 넣어주고 싶을때 쓰는것이다.
내가 1을 a프로세스에 입력하면 1+2 가 출력된다고 가정했을때 해당 수식을 계산해주는 b프로세스와 a 프로세스를 pipe 로 연결해주면 1+2라는 출력값을 계산해 3이라는 결과값을 새롭게 출력해주는것이다.
pipe를 가장많이 사용하는 명령어는 grep이라는 명령어이다.
grep이라는 명령어는 특정문자나 패턴을 찾을때 많이 사용한다.
grep [찾을패턴][수색할 파일이나 디렉토리] 이러한 구조로 사용된다.

실습을 위해 vi 파일 하나를 만들어준다.

해당 파일에서 jun 이라는 패턴만 찾아보자

이렇게 jun 이라는 단어가 써진 줄만 가져와서 표시해주는것이다.
이것말고도

이런식으로 vi파일이 아니더라도 응용이 가능하다.
grep이라는 명령어는 보통 다른 명령어의 결과에서 특정 단어를 찾을때 많이 활용한다.
그러기 위해서는 pipe가 필요한데 pipe는 | 기호를 사용한다 달러표시를 shift와 함께 누르면 나오는 기호이다.
즉 cat /etc/passwd | ~ 이렇게 쓴다면 cat으로 읽은 passwd 파일을 바로 출력하지않고 다름 프로세스로 넘긴다는 의미가 된다.
└─# cat /etc/passwd | grep root
즉 이렇게 입력을 하게되면 cat으로 출력한 정보들 속에서 root라는 패턴만 찾아내 출력해달라는 의미가 된다.

이렇게 정상적으로 원하는 결과값만 출력한것을 볼 수 있다.

이렇게 ip정보를 찾을때도 응용할 수 있고 다른 명령어와도 자주 호환하는 명령어이다.
즉 요약하자면 파이프[|] 는 A프로세스(명령어) 의 결과값을 다른 B프로세스(명령어)의 입력값으로 연결시켜주는 역할인 것이다.

내가 보고있는 강의의 해당 문제를 한번 풀어보자

└─# ls /bin/ | grep find
나는 이렇게 풀어보았다.
정상적으로 결과가 나왔다 ㅎㅎ