Note ≣ | 셸
셸(shell)은 사용자가 운영 체제와 상호 작용할 수 있도록 하는 인터페이스이며, 파이프라인으로 여러 프로그램의 입력과 출력을 연결할 수 있습니다. 예를 들어 다음 명령처럼 유닉스 셸에서 파이프(|)를 사용하여 다양한 프로그램을 연결할 수 있습니다.
$ cat file.txt | grep "error" | sort
이 명령은 cat 프로그램으로 file.txt 파일 내용을 출력하고 이를 다음 프로그램 입력으로 전달합니다. grep은 입력된 데이터 중에서 error라는 단어를 포함한 줄만 필터링하고는 다음 프로그램의 입력으로 전달합니다. 마지막으로 sort는 입력된 데이터를 정렬하여 출력합니다. 이 방식으로 셸은 앞선 프로그램 출력이 다음 프로그램 입력으로 연결되도록 파이프라인을 만듭니다.
유닉스 아키텍처는 프로그램이 어떻게 동작해야 하는지 구체적으로 정의하지 않습니다. 프로그램은 다양한 언어로 작성할 수 있으며, 이진 데이터나 텍스트 데이터 등도 처리할 수 있습니다.