Частичный ответ :Не уверен, что можно отключить только один порт USB, но можно отключить контроллер и все его порты.
Вы можете получить список контроллеров с помощью lspci:lspci -k| grep -i usb -A2
Например, я получаю:
03:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller
Subsystem: Micro-Star International Co., Ltd. [MSI] ASM1142 USB 3.1 Host Controller
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
Это означает, что контроллер USB на порту PCI 03 :00.0 обрабатывается модулем ядра xhcp _pci.
Теперь я могу попросить драйвер не управлять этим контроллером с помощью следующей команды:
echo "0000:03:00.0" | sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind
Если вы не возражаете против потери других USB-портов этого контроллера, это может быть решением.
Лучше всего создать новый файл с правами доступа к исполняемому файлу: touch newfile
, а затем chmod +x myfile
.
Если ваши работы требуют много времени на выполнение этой задачи, я предлагаю использовать псевдоним для более эффективной работы. Поскольку псевдоним Bash не принимает параметры напрямую , вам нужно проделать такой простой трюк:
_xnew() { touch "$1" && chmod +x "$1"; }
alias xnew='_xnew'
Чтобы использовать его, вам просто нужно ввести xnew myfile
в вашем терминале:
$ user@host: xnew myfile
$ user@host: ls
-rw-r--r-- 1 user user 400 Nov 10 08:00 myfile