Может быть, есть “яркие” парижане, кто будет делать эти вещи, но они не звучат как типичные виды деятельности для парижанина. @LegoStormtroopr О, это все прояснило. Если<symlink>- это симлинк на относительный путь, который работает только если `<symlink>в текущем каталоге. Вы можете хотеть использовать более ранних версий -Ф`. Или если вы используете `ЗШ`: `СР --удалить-конечный путь/к/симлинк(:а) путь/к/символическая ссылка` Что Q1 и Q3 журналов? Это национальная система классификации? Спасибо. Я не уверен, что это будет работать здесь: как я понимаю, `харч-установите` только обновляет файлы grub изображения и записывает в MBR: в частности, `харч.cfg` и не обновляется. Как я прокомментировал выше, монтаж специального Дирс может быть перебор, но я все равно думаю, что чтение-это способ обновить `жратвы.cfg` в простой способ? Чтобы сохранить текстовый документ или что-нибудь в домашнюю папку УР должно быть возможно, но я не может быть уверен, что изменения внести в ОС(в файловой системе)

Вы должны быть в состоянии обнаружить ошибки четности с правильными настройками termios, и даже пересчитать их, в зависимости от того какой драйвер обеспечивает. Функции ioctl TIOCGICOUNT (см. человек 4 tty_ioctl) можно получить погрешность счетчиков, хотя это не документировано в MAN-странице. Функции ioctl не предусмотрено Python, но следующий скрипт getcounts.py это через низкоуровневый вызов fcntl вызова, которые могут нуждаться в модификации для вашей системы. Он использует структуры, описанные в ядре серийный.ч включаемого файла. (Примечание, счетчики на реальные серийные устройства могут также рассматриваться в файле/proc/телетайп/драйвер/серийный, но не для USB-устройств).

#!/usr/Бен/вместо python2
# https://unix.stackexchange.com/a/525261/119298
импорт каталога sys флагов, массив
# ioctl для получения счетчиков. см. /usr/включать/Линукс/серийный.ч
# структура serial_icounter_struct{
# инт, карат, код, ГСЧ, ОКД, ГХ, ТХ, рамка, переполнения, четности, БРК
# buf_overrun, защищены[9]; }
деф getcounts(именем):
 TIOCGICOUNT = 0x545D
 ФД = открыть(имяфайла)
 ы = массив.массив('я',[0 Для я в диапазоне(20)])
 РЦ = вызов fcntl.функции ioctl(ФД.fileno(),TIOCGICOUNT,ы,правда)
 если RC!=0:
 печать "вертолет",радиоуправляемый
 имена = "ТТ,ДСР,ГСЧ,ОКД,ГХ,ТХ,рамка,переполнения,четности,БРК,буфо"
 ХТС,ДСР,ГСЧ,ОКД,ГХ,ТХ,рамка,переполнения,четности,БРК,буфо = с[:11]
 для меня,имя в перечислить(имена.сплит(",")):
 имя принт,с[я]
ФД.закрыть()

getcounts(Сыс.аргумент argv[1])

Например, 2 реальных последовательных портов подключен через кроссовер кабель следующими скрипт будет показывать 3 разных результатов, как мы меняем настройки определения четности. Начните с настройки обоих устройств с последовательным интерфейсом для того же, чтобы генерировать и определять четность (-ignpar с - за "не"). На попробуйте функцией выполняется 3 раза писать Привет На к ttys1, а затем использовать ключам , чтобы прочитать результат от ttyS0, и, в конце концов getcounts.py чтобы распечатать счетчики:

#!/бин/Баш
попробуйте()(
 команда xxd-Л 16 к /dev/ttyS0 &
 сон 1
 я в 1 2 3 ; делать Эхо привет; сделали >/Дев/к ttys1
 сон 1
 getcounts.пы файл /dev/ttyS0
)

действовать до его закрытия -Ф с /dev/ttyS0 9600 сырые -Эхо помощью clocal
действовать до его закрытия -Ф /Дев/к ttys1 9600 сырые -Эхо помощью clocal
действовать до его закрытия -Ф с /dev/ttyS0 parenb -ignpar inpck parodd
действовать до его закрытия -Ф /Дев/к ttys1 parenb -ignpar inpck parodd
попробовать # должно быть ОК
действовать до его закрытия -Ф с /dev/ttyS0 -parodd
попробовать # должны сделать ошибки четности, много нулевых данных
действовать до его закрытия -Ф с /dev/ttyS0 parmrk
попробовать # должны получить четности ошибок, много ФФ 00 префикс для каждого данных

Первой попытке должны показать нам данные, поступающие через ОК, и паритет граф 0 (предполагая, что мы только начали пользоваться этими приборами):

00000000: 6865 6865 6865 6c6c 6f0a 6c6c 6f0a 6c6c привет.Здравствуйте.ад
...
четности 0
...

Перед следующей попытке, мы меняем даже паритета на ttyS0 и мы получаем на выходе

00000000: 0000 0000 0000 0000 0000 0000 0000 0000 ................
паритет 16

т. е. значение null char для каждого персонажа с плохой четности. Фактический подсчет четности ошибки 16, а то xxd останавливается после прочтения 16 символов.

До финальной попытке, мы просим Марк четности ошибок в данных. Это делает ядра положите 2 байта 0xFF и 0x00 в передней части каждой плохой характер данных, и мы получаем:

00000000: ff00 68ff 0065 ff00 6cff 006c ff00 6fff ..ч..е..л..л..о.
паритет 22

Паритет рассчитывать только на 6, а то xxd заканчивается еще раньше.

Данные, которые мы видели выше, должны быть одинаковыми для драйвер USB, но вы не можете получить никаких изменений в счетчиках.