Во-первых, я не могу обнаружить USB на Linux с помощью командной строки. Я проверяю каталог dev и все еще не могу найти usb. использовал команду df для проверки usb. Я подключил и набрал df, а затем отключил и снова набрал df, и ничего не изменилось. Мы используем сервер (telnet) для использования командной строки Linux на ОС Windows 7.
Вторая проблема, с которой я столкнулся, это как мне выполнить скрипт bash, который я сделал. Похоже, я не могу поместить свой файл .sh в /usr/bin/ Я хотел бы сделать свою команду исполняемой во всех каталогах, как обычную команду. Извините, я все еще новичок в этом деле. Вот что я получаю, слишком долго оставаясь на Windows.
Извините за мой английский. Спасибо заранее.
решение1
df покажет вам только смонтированную файловую систему. Используемый вами дистрибутив Linux может автоматически монтировать USB-накопители, а может и не автоматически.
Правильный метод что-то сделать в случае вставки и извлечения USB-накопителей — использовать правила udev. См.http://reactivated.net/writing_udev_rules.html
Вы также можете использовать команду lsusb, чтобы увидеть, что в данный момент присутствует на шине USB. Смотрите:http://linuxcommand.org/man_pages/lsusb8.html
Какой из них подойдет именно вам, зависит от специфики вашего варианта использования.
решение2
Поскольку вы подключаетесь удаленно, он, вероятно, не будет автоматически смонтирован, поскольку файловый менеджер рабочего стола в большинстве "сред" монтирует эти носители в большинстве систем. Это прискорбно, но именно так их делают "дружественные к пользователю" дистрибутивы.
Сначала вы можете узнать, работает ли USB, выполнив следующую команду:
/sbin/udevadm monitor
Затем вставьте и выньте USB-диск. Вы должны увидеть некоторые события, распечатанные на принтере. Пока вы находитесь в устройстве, посмотрите в /dev/disk/by-id и посмотрите, видите ли вы узел устройства (символическую ссылку).
Если вы это сделаете, то вы сможете смонтировать его следующим образом:
mkdir /mnt/media1
mount -t auto /dev/disk/(fullpathtodevice) /mnt/media1
Перед удалением его следует размонтировать.
Для этого вам необходимо обладать правами суперпользователя (root) или быть включенным пользователем root и состоять в соответствующих группах.
Что касается вашего второго вопроса, правильным местом для размещения пользовательских скриптов для использования на уровне хоста является /usr/local/bin
. Опять же, для этого вы должны быть пользователем root.
решение3
Правильное место для размещения программ, которые не поставляются с операционной системой, — /usr/local/bin. Каталог /usr/local/bin включен в переменную PATH в большинстве дистрибутивов Linux.
решение4
gby прав - df обнаружит только смонтированные файловые системы.
Я предлагаю использовать простое fstab
правило, создание которого я подробно описал в другом ответе.здесь.
Конечно, это требует от вас на самом делеустанавливатьфайловая система после этого - ваш файловый менеджер (я использую pcmanfm - я знаю, что Thunar делает то же самое) должен обнаружить эти строки в вашем fstab и перечислить их как монтируемые. То, как вы монтируете диск, зависит от файлового менеджера, но обычно включает в себя щелчок правой кнопкой мыши по значку и нажатие Mount
. То же самое касается размонтирования после того, как вы закончили с диском.
Вы также можете сделать mount /dev/insert-usb-device-here
/umount /dev/insert-usb-device-here
Само собой разумеется, что перед выполнением этих действий вам необходимо получить права root su
.sudo