Что такое элементы в каталоге / dev?

Я писал приложение на C ++, которое передает радиосообщения, записывая модем, подключенный к последовательному порту. Для этого мне нужно получить файловый дескриптор, используя код формы

fd1=open(“/dev/ttyS0″, O_RDWR | O_NOCTTY | O_NDELAY);

. Мне было интересно узнать природу элементов в / dev. Чтобы попытаться получить представление о содержимом этих элементов, я попытался использовать

sudo cat /dev/ttyS0

только для получения сообщения

cat: /dev/ttyS0: Input/output error

, которое совсем не помогло мне понять. Являются ли эти элементы фактически файлом вообще или просто своего рода ссылкой, которая позволяет получить доступ к функциям драйвера?

1
задан 18 July 2012 в 23:09

1 ответ

Из проекта документации Linux:

Компьютер считает, что каждый последовательный порт является «устройством». Его иногда называют терминальным устройством, поскольку в одно время терминалы были наиболее распространенными для последовательного порта. Для каждого такого последовательного порта есть специальный файл в каталоге / dev (device). / dev / ttyS0) является специальным файлом для последовательного порта, известного как COM1 в мире DOS / Windows. Чтобы отправить текст на терминал, вы можете перенаправить стандартный вывод некоторой команды командной строки в соответствующий специальный файл. Например, ввод «echo test> / dev / ttyS1» в командной строке должен отправить слово «тест» на терминал на ttyS1 (COM2), если у вас есть разрешение на запись на / dev / ttyS1. Аналогично, ввод «cat my_file> / dev / ttyS0» отправит содержимое файла my_file в COM1 (ttyS0).
2
ответ дан 25 May 2018 в 08:31

Другие вопросы по тегам:

Похожие вопросы: