Programy jsou obyčejné spustitelné soubory napsané v libovolném jazyce (většinou C).
Shell převezme zadaný příkaz, který je pouze řetězcem. Poté hledá určité sekvence znaků, které mají speciální význam pro shell, jako jsou proměnné prostředí, které jsou $ následované slovem nebo přesměrováním > následuje cesta. Po provedení této substituce má řetězec, který je rozdělen na mezery, aby se vygeneroval název spustitelného souboru a parametry. Shell poté vyhledá spustitelný soubor v seznamu adresářů v proměnné prostředí PATH. Shell pak používá systémová volání k vytvoření procesu ze spustitelného souboru s parametry.
Například pro provedení příkazu ls $HOME shell by nejprve poznal, že $HOME je proměnná prostředí a dosaďte ji za její hodnotu v tomto případě /home/user ponechání příkazu ls /home/user . Poté rozdělí příkaz na mezeru a získá název spustitelného souboru ls a parametr /home/user . Shell najde první spustitelný soubor, který odpovídá ls obvykle /bin/ls . K vytvoření nového procesu pak použije systémová volání spawn()/posix_spawn() nebo fork() a exec().
Většina základních nástrojů v linuxu je napsána v C .To můžete ověřit v busybox source code který podporuje většinu základních linuxových příkazových nástrojů, které jsou napsány v C .Takže příkazy jako ls,cd ...atd jsou v c
Jak bude shell interpretovat check-in odkaz níže
v operačním systému existuje speciální program zvaný shell. Shell přijímá lidsky čitelné příkazy a překládá je do něčeho, co může jádro číst a zpracovávat.
http://www.math.iitb.ac.in/resources/manuals/Unix_Unleashed/Vol_1/ch08.htm
Tyto programy jsou napsány hlavně v programovacím jazyce C, stejně jako linuxové jádro.