Командния интерпретатор е сложна програма. Основния му алгоритъм за работа, описан на езика “С”, е:
while (! EOF) { /* 1=true≠0; 0=false */
    prompt (); /* извежда поканата: C> (например) или $;*/
    read_command (); /* да се прочете командата; */
    exec_command (); /* да се изпълни командата; */
}
Командния интерпретатор извежда покана за въвеждане на команда, и след като командата се въведе, то командният интерпретатор я изпълнява. Тези команди се въвеждат или от клавиатурата (стандартен входен файл) или от някой друг файл и четенето продължава докато не се стигне до края на файла. Така последователно се изпълняват всички команди във файла.
Команди на командния интерпретатор
Тук се имат предвид видовете команди, които могат да бъдат задавани на командния интерпретатор.
1) Вътрешни команди (някои елементарни операции) – фиксират се от командния интерпретатор и не могат да се менят. Това са тези, които се изпълняват от самия команден интерпретатор. Например в DOS командата “dir” е вътрешна команда, която кара командния интерпретатор да изведе списък на файловете от някоя директория. В случая самият КИ реализира тази операция.
2) Външни команди – при тях, за да изпълни командата, командния интерпретатор пуска друга програма. Предназначението на една външна команда е да се пускат програми. Външните команди активират програма различна от командния интерпретатор. Например “ls” в UNIX е външна команда, защото “ls” е програма, която се пуска от КИ без да знае нейното предназначение.
Името на файла, където е записана програмата, реализираща изпълнението на командата “ls”, също трябва да се нарича “ls”. Например след въвеждането на командата “ls”, командният интерпретатор търси файл с име “ls” и след като го намери, стартира програмата, която е записана в този файл. Търсенето на файла с указаното име става на определени от потребителя места, които той задава с променливата “PATH”.