Małe Narzędzia, Wielkie Możliwości
Sukces skryptowania w UNIX-ie był nierozerwalnie związany z jego fundamentalną filozofią projektową. Zamiast tworzyć duże, monolityczne programy, które próbują robić wszystko, twórcy UNIX-a postawili na zbiór małych, wyspecjalizowanych narzędzi linii poleceń. Każde z tych narzędzi (np. `ls` do listowania plików, `grep` do wyszukiwania tekstu, `sort` do sortowania, `wc` do liczenia słów) zostało zaprojektowane tak, aby robić jedną rzecz, ale robić ją dobrze. Kluczowym elementem tej filozofii była unifikacja interfejsów – wszystkie te programy komunikowały się ze światem za pomocą prostych strumieni tekstowych (standardowe wejście, wyjście i wyjście błędów). Ta prostota i spójność sprawiły, że narzędzia te można było ze sobą dowolnie łączyć za pomocą potoków, tworząc w locie złożone i potężne przepływy przetwarzania danych. Język skryptowy powłoki był spoiwem, które spajało te elementy w całość.