Как автоматически установить группу для модуля?

cat x y > yбудет таким же, как cp x y(, потому что yбудет усечено временем catначала ), за которым следует cat y >> y.

cat x >> xбудет бесконечным циклом, пока ваш диск не будет заполнен или вы не достигнете предела размера файла файловой системы -(, потому что он продолжает добавлять в конец файла, а затем считывает его обратно, чтобы добавить снова ).

Обратите внимание, что эта «ошибка» не означает, что catничего не делала -, это просто уведомление о том, что этот конкретный файл был пропущен(в GNU cat, по крайней мере). Вам «разрешено» запускать его, просто он, вероятно, не делал то, что вы хотели, и дает вам знать.

Проверка в GNU catдля генерации этого сообщения состоит в том, что:

  1. вывод (fd 0 )— в обычный файл; и
  2. поле устройства(st_dev)и поле inode(st_ino)одинаковы как для выходного fd, так и для исследуемого входного файла; и
  3. смещение во входном файле меньше размера файла (, поэтому он не пустой; Я не могу придумать случая, когда смещение не было бы нулевым в этот момент, но, предположительно, оно )есть.

Если все верно, распечатывается диагностика и выполняется переход к следующему входному файлу.

Некоторые версии команды catне выполняют эту проверку, и вы можете сделать это.Я могу представить себе систему, в которой они проверяют и не могут сказать, что это один и тот же файл, хотя я не могу -с руки рассказать вам об одном. В любом случае, это, вероятно, плохо кончится. Вполне возможно, что вместо цикла вы просто удвоите файл до сих пор, если реализация catделает только одну запись всего сопоставленного файла памяти -, но это просто меньший вид плохо.

0
05.05.2020, 12:38
1 ответ

Вы можете сделать это с помощью udev. Вам просто нужно поместить файл в /etc/udev/rules.d/с соответствующим содержимым, например

KERNEL=="mydriver", OWNER="username", GROUP="groupname", MODE="0640"
1
28.04.2021, 23:16

Теги

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