Filozofię Uniksa udokumentował Doug McIlroy w Bell System Technical Journal z 1978.

- Spraw, aby każdy program robił jedną rzecz dobrze. Aby wykonać nowe zadanie, zbuduj nowy, zamiast komplikować stare programy, dodając nowe do nich „funkcje”.
- Zakładaj, że wynik każdego programu stanie się wejściem innego, jeszcze nieznanego programu. Nie zaśmiecaj wyjścia dodatkowymi informacjami. Unikaj ściśle kolumnowych lub binarnych formatów wejściowych. Nie wymuszaj interaktywnego wprowadzania danych.
- Projektuj i twórz programy, a nawet systemy operacyjne tak, aby można je było szybko wypróbować, najlepiej w ciągu kilku tygodni. Bez wahania wyrzucaj niezdarne części i zbuduj je od nowa.
- Używaj narzędzi zamiast niewykwalifikowanej pomocy, aby ułatwić sobie zadanie programistyczne. Nawet jeśli musisz zbudować dodatkowe narzędzia zakładając, że niektóre z nich wyrzucisz, gdy nie będą już potrzebne.