Дисциплина линии (англ. line discipline, ldisc) — это слой абстракции подсистемы терминальных устройств (tty) UNIX-подобных операционных систем, необходимый для имитации соответствующих возможностей аппаратного терминала. Этот слой расположен между драйвером консоли и драйвером UART.
 Соединение с драйвером UART осуществляется через двунаправленный канал. Эта схема имеет несколько вариаций. Например, в качестве драйвера UART может выступать виртуальное устройство
телетайпа /dev/tty — в этом случае с имеющимся виртуальным терминалом могут работать процессы на локальной машине. Если же работа осуществляется через физический UART, то такая схема обеспечивает связь с процессом на удалённой рабочей станции, то есть режим удалённого терминала.
 Соединение с консолью осуществляется через два однонаправленных канала: канал ввода и канал вывода. Здесь тоже возможны вариации. Если в качестве консоли используется драйвер виртуального терминала UNIX, то, через такую виртуальную консоль пользователь может работать в UNIX-системе в полноэкранном текстовом режиме, переключаясь между консолями при помощи горячих клавиш. Вместо драйвера консоли, интерфейс ldisc может экспортироваться через файл устройства, такой, как,
например, /dev/ttyS0. В этом случае, с ldisc может взаимодействовать коммуникационная программа, такая, как minicom  (англ.) (рус.
 Существует так же схема подключения ldisc, при которой файлами виртуальных устройств заменяется как консоль, так и UART. Такая схема получила название псевдо-терминала  (англ.) (рус.. В этом случае ведущее устройство (master), такое, как /dev/ptyp1, заменяет консоль и используется специализированной программой, такой как tmux, xterm или socat. Подчинённое (slave) устройство, такое, как /dev/ttyp1, заменяет UART и может использоваться любым пользовательским процессом.
 Модуль дисциплины линии предоставляет буфер для приёма строки из канала вывода консоли, обрабатывает
управляющие символы
редактирования строки (не путать с управляющими последовательностями терминала),
а также обеспечивает
реализацию механизма эхо — отправляет принятые с консоли символы обратно, через канал ввода консоли.
После обработки, строка из буфера отправляется в канал UART. Принятые из канала UART данные, после обработки, отправляются в
канал ввода консоли.
 Именно слой ldisc определяет работу таких системных вызовов, как read(2) и write(2) при работе с различными файлами устройств терминала. Управлять им
можно с помощью системного вызова ioctl(2) (или же посредством библиотечной функции-обёртки tcsetattr(3)), в том случае, если хотя бы один из сопряжённых с ним компонентов экспортируется через файл устройств. При этом, какой именно компонент экспортирован,
значения не имеет — управление можно осуществлять как через устройство master, так и через slave. Например, используя файл-устройство /dev/tty (соответствует подчинённой стороне), можно управлять режимом эхо консоли, а, используя файл-устройство /dev/ttyS0 (соответствует ведущей стороне), можно управлять режимом эхо для самой коммуникационной программы: при включённом эхо, всё, записанное в /dev/ttyS0, можно будет сразу считать назад.
 Если программа использует собственную обработку строк, например, при помощи библиотеки Ncurses или Readline, то механизм обработки строк, предоставляемый подсистемой терминальных устройств, можно отключить, переведя ldisc в режим raw. В этом режиме, данные, принимаемые из канала вывода консоли, отправляются в канал UART, а данные, принятые с UART, отправляются в канал ввода консоли. Никакой обработки данных в этом режиме не происходит.