Создание команды, которая сжимает файл и сохраняет его на USB, но не может обнаружить USB в Linux

Создание команды, которая сжимает файл и сохраняет его на USB, но не может обнаружить USB в Linux

Во-первых, я не могу обнаружить 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

Связанный контент