유닉스 프로그램 대부분은 상대적으로 작으며 단일 작업에 집중합니다. 이처럼 작고 좁은 범위의 프로그램에 중점을 두는 것이 유닉스 아키텍처의 원칙 중 하나입니다.
유닉스 아키텍처는 프로그램 간 관계와 연결에 중점을 둡니다. 기본적으로 모든 프로그램은 입력 스트림(stdin) 하나와 출력 스트림 두 개를 가지며, 출력 스트림은 표준 출력(stdout)과 에러 처리를 하는 특수 스트림(stderr)으로 나뉩니다. 다소 복잡할 수도 있지만, 입력과 출력에서 더 많은 스트림을 처리하는 것도 가능합니다.
이러한 유닉스 아키텍처의 접근 방식은 단순하면서도 강력하다는 장점이 있습니다. 수많은 개발자가 서로 다른 시기에 작성한 프로그램을 사용자가 손쉽게 결합하여 새롭고 다양한 결과를 얻을 수 있기 때문입니다. 이는 프로그램 구조를 통제해서가 아니라 프로그램 간 관계와 연결에 중점을 두었기 때문에 가능한 것입니다.