Primeiro de tudo, não consigo detectar o USB no Linux usando a linha de comando. Eu verifico o diretório dev e ainda não consigo encontrar o usb. usei o comando df para verificar o usb. Eu conectei e digitei df e depois desconectei e digitei df novamente e nada mudou. Estamos usando um servidor (telnet) para usar a linha de comando do Linux em um sistema operacional Windows 7.
O segundo problema que tenho é como executar o script bash que criei. Parece que não consigo colocar meu arquivo .sh em /usr/bin/. Gostaria de tornar meu comando executável em todos os diretórios como um comando normal. Desculpe, ainda sou novato nessas coisas. Isso é o que eu ganho ao ficar muito tempo no Windows.
Desculpe pelo meu Inglês. Agradeço antecipadamente.
Responder1
df mostrará apenas o sistema de arquivos montado. A distribuição Linux que você usa pode ou não montar automaticamente unidades USB.
O método certo para fazer algo no caso de inserção e remoção de unidades USB é usar regras do udev. Verhttp://reactivated.net/writing_udev_rules.html
Você também pode usar o comando lsusb para ver o que está atualmente presente no barramento USB. Ver:http://linuxcommand.org/man_pages/lsusb8.html
Qual deles é o certo para o seu caso depende do seu caso de uso específico.
Responder2
Como você está acessando remotamente, provavelmente não será montado automaticamente, já que o gerenciador de arquivos da área de trabalho na maioria dos "ambientes" é o que monta essas mídias na maioria dos sistemas. É lamentável, mas é assim que as distros “amigáveis” as tornam.
Primeiro você pode descobrir se o USB está funcionando executando isto:
/sbin/udevadm monitor
Em seguida, conecte e desconecte seu disco USB. Você deverá ver alguns eventos impressos. Enquanto estiver, procure em /dev/disk/by-id e veja se você vê o nó do dispositivo (link simbólico).
Se você fizer isso, poderá montá-lo assim:
mkdir /mnt/media1
mount -t auto /dev/disk/(fullpathtodevice) /mnt/media1
você deve desmontá-lo antes de removê-lo.
Você deve ser superusuário (root) para fazer isso ou ser habilitado pelo root e nos grupos certos.
Em relação à sua segunda pergunta, o lugar certo para colocar scripts personalizados para uso em todo o host é /usr/local/bin
. Novamente, você deve ser root para fazer isso.
Responder3
O local correto para colocar programas que não são fornecidos com o sistema operacional é /usr/local/bin. O diretório /usr/local/bin está incluído na variável PATH na maioria das distribuições Linux.
Responder4
gby está correto - o df detectará apenas sistemas de arquivos montados.
Sugiro usar uma fstab
regra simples, que detalho como criar em outra respostaaqui.
Claro, isso exige que você realmentemontaro sistema de arquivos posteriormente - seu gerenciador de arquivos (eu uso pcmanfm - sei que Thunar também faz isso) deve detectar essas linhas em seu fstab e listá-las como montáveis. A maneira como você monta a unidade depende do gerenciador de arquivos, mas geralmente envolve clicar com o botão direito do mouse no ícone e pressionar Mount
. O mesmo vale para a desmontagem quando terminar de usar a unidade.
Você também pode fazer mount /dev/insert-usb-device-here
/umount /dev/insert-usb-device-here
Nem é preciso dizer que você deve su
fazer sudo
root antes de fazer essas coisas.