Crear un comando que comprime un archivo y lo guarda en un USB, pero no puede detectar el USB en Linux

Crear un comando que comprime un archivo y lo guarda en un USB, pero no puede detectar el USB en Linux

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 fstabregla 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 surootear sudoantes de hacer estas cosas.

información relacionada