Работая с командной строкой при управлении операционной системой, пользователь вводит текст и передает его системе, а система выводит необходимые пользователю данные и сообщения.
Текстовый принцип работы с системой позволяет отвлечься от конкретных частей компьютера, таких как клавиатура и видеокарта с монитором, рассматривая их, как единое оконечное устройство, посредством которого происходит обмен тестовыми сообщениями. Такое устройство называется терминалом. В общем случае терминал — это точка входа пользователя в систему, обладающая способностью передавать текстовую информацию.
Роль терминала может с успехом выполнять и программа, исполняющаяся на сколь угодно удалённом компьютере, связанным с UNIX-системой, например, посредством сети Интернет. В современной практике такой способ доступа очень широко используется для удалённой работы, в особенности для администрирования серверов, которые зачастую устанавливаются в специальных помещениях, доступ в которые затруднен и нежелателен.
Графические пользовательские интерфейсы UNIX-систем также дают возможность работы с терминалом. Эта возможность достигается с помощью графических терминалов — специальных программ, которые эмулируют текстовый терминал в графическом окне.
Свойство терминала передавать только текст приводит к необходимости операции по управлению вводом и выводом текста: удаление неправильно введённых символов, команда передать введённый текст системе, перевод строки, графическое выделение выведенного текста и т. п. — тоже кодировать с помощью специальных символов Такие символы объединяют понятием управляющие символы.
Часть управляющих символов вводится специальными клавишами, предусмотренными для управления вводом текста, такими как Backspace и Enter. Управляющих символов может быть больше, чем нетекстовых клавиш на клавиатуре, в этом случае их необходимо извлекать с помощью какого-либо клавиатурного модификатора, например, Ctrl.
Количество различных управляющих символов зачастую ограничено и оказывается меньше количества необходимых терминалу команд. В этом случае для передачи команд используются управляющие последовательности, которые начинаются управляющим символом, за которым следует строго определенное число обычных символов, в данном случае интерпретируемых терминалом как та или иная команда.
Специальные управляющие символы могут быть также зарезервированы для команд межпроцессного взаимодействия (передачи сигналов). В частности, для завершения командной оболочки можно использовать символ конца ввода Ctrl-D. Эту команду интерпретирует при вводе с терминала система. Она же превращает некоторые другие управляющие символы (например, Ctrl-C — «прерывание» или Ctrl-Z — «засыпание») в соответствующие сигналы.
Одной из полезных особенностей терминала является возможность его «прокрутки» с помощью клавиш Shift-PgUp и Shift-PgDn. Это может быть полезно, если вывод программы занимает больший объём, чем размер экрана.
За несколько десятилетий использования UNIX-подобных ОС создано большое количество разнообразных устройств и программ, выполняющих в той или иной системе роль терминала. Каждое такое устройство или соответствующая программа имеют свои характеристики по вводу и выводу информации. К таким характеристикам могут быть отнесены: число цветов отображения, способность перемещать курсор и изменять размер экрана, набор управляющих символов и т. п. Операционная система должны учитывать указанное выше разнообразие, обеспечивая при этом возможность работать с любыми терминалами одинаковым способом. Для этого в операционных системах семейства UNIX вводится понятие тип терминала: каждый тип сводится к набору характеристик, регламентированных в специальном конфигурационном файле. Информация обо всех существующих типах терминалов хранится в специализированной базе данных (terminfo или termcap). Примерами типов терминалов являются типы tty (телетайп) и xterm (графический терминал).
Практически любая UNIX-подобная операционная система является многозадачной и многопользовательской, поэтому ничто не препятствует подключить к операционной системе произвольное число терминалов одновременно, в особенности, если функции терминала выполняет программа. Благодаря этому каждый компьютер, на котором работает UNIX, предоставляет возможность зарегистрироваться и получить доступ к системе с нескольких терминалов одновременно. Даже если в распоряжении всех пользователей есть только один монитор и одна системная клавиатура, эта возможность небесполезна: одновременная регистрация в системе на нескольких терминалах позволяет работать поочередно с несколькими задачами без необходимости каждый раз их завершать и затем возобновлять.
Характерный для современных версий UNIX способ организации параллельной работы пользователей — виртуальные консоли.
Виртуальные консоли — это несколько параллельно выполняемых операционной системой программ, предоставляющих пользователю возможность зарегистрироваться в системе в текстовом режиме и получить доступ к командной строке.
Каждая виртуальная консоль обозначается специальным именем: «tty1», «tty2» и т. д. Число доступных по умолчанию виртуальных консолей в каждой Unix-подобной ОС свое. Так в Linux доступно не менее шести виртуальных консолей. Каждая виртуальная консоль связана с собственным терминалом, который характеризуется файлом устройства с соответствующим именем (например, /dev/tty1).