En primer lugar, no puedo detectar el USB en Linux usando la línea de comando. Reviso el directorio dev y sigo sin encontrar el usb. Usé el comando df para verificar el USB. Conecté y escribí df y luego lo desconecté y escribí df nuevamente y nada cambió. Estamos usando un servidor (telnet) para usar la línea de comando de Linux en un sistema operativo Windows 7.
El segundo problema que tengo es cómo puedo ejecutar el script bash que he creado. Parece que no puedo poner mi archivo .sh en /usr/bin/. Me gustaría que mi comando sea ejecutable en todos los directorios como un comando normal. Lo siento, todavía soy novato en estas cosas. Esto es lo que me pasa al permanecer demasiado tiempo en Windows.
Lo siento por mi ingles. Gracias de antemano.
Respuesta1
df solo le mostrará el sistema de archivos montado. La distribución de Linux que utilice puede montar automáticamente o no unidades USB.
El método correcto para hacer algo en caso de inserción y extracción de unidades USB es utilizar las reglas de udev. Verhttp://reactivated.net/writing_udev_rules.html
También puede utilizar el comando lsusb para ver qué hay actualmente presente en el bus USB. Ver:http://linuxcommand.org/man_pages/lsusb8.html
Cuál de estos es el adecuado para su caso depende de su caso de uso específico.
Respuesta2
Dado que accede de forma remota, probablemente no se monte automáticamente, ya que el administrador de archivos del escritorio en la mayoría de los "entornos" es el que monta esos medios en la mayoría de los sistemas. Es lamentable, pero así es como las hacen las distribuciones "fáciles de usar".
Primero puedes averiguar si el USB funciona ejecutando esto:
/sbin/udevadm monitor
Luego conecte y desconecte su disco USB. Deberías ver algunos eventos impresos. Mientras esté dentro, mire /dev/disk/by-id y vea si ve el nodo del dispositivo (enlace simbólico).
Si es así, es posible que puedas montarlo así:
mkdir /mnt/media1
mount -t auto /dev/disk/(fullpathtodevice) /mnt/media1
debes desmontarlo antes de quitarlo.
Debe ser superusuario (root) para hacerlo, o estar habilitado por root y en los grupos correctos.
Con respecto a su segunda pregunta, el lugar correcto para colocar scripts personalizados para uso en todo el host es /usr/local/bin
. Nuevamente, debes ser root para hacer eso.
Respuesta3
El lugar correcto para colocar programas que no se proporcionan con el sistema operativo es /usr/local/bin. El directorio /usr/local/bin está incluido en la variable PATH en la mayoría de las distribuciones de Linux.
Respuesta4
gby es correcto: df solo detectará sistemas de archivos montados.
Sugiero usar una fstab
regla simple, que detallo cómo crear en otra respuesta.aquí.
Por supuesto, esto requiere que realmentemontarel sistema de archivos después: su administrador de archivos (yo uso pcmanfm; sé que Thunar también hace esto) debería detectar esas líneas en su fstab y enumerarlas como montables. La forma de montar la unidad depende del administrador de archivos, pero normalmente implica hacer clic derecho en el icono y presionar Mount
. Lo mismo ocurre con el desmontaje una vez que haya terminado con la unidad.
También podrías hacer mount /dev/insert-usb-device-here
/umount /dev/insert-usb-device-here
No hace falta decir que debes su
rootear sudo
antes de hacer estas cosas.