A veces necesitamos copiar un archivo desde nuestra máquina local de desarrollo al docker o viceversa; esto es muy común o frecuente que tengas que realizarlo cuando estás desarrollando una app, una web o lo que fuese dentro de un Docker.
Para esto tenemos un par de comandos que son muy útiles.
El primero sirve para copiar desde un contenedor docker a una máquina local:
docker cp NOMBRE_CONTENEDOR:RUTA_DEL_CONTENEDOR RUTA_LOCAL
El segundo sirve para copiar desde la pc local a un contenedor docker:
Esto tal vez le puede servir a mas de uno y de paso me lo dejo como ayuda memoria
Usé un dockerfile para crear un esquema de wordpress es decir que ese docker contiene un nginx, una base mysql (mariadb) y el lenguaje PHP que utiliza WordPress; cuando levantaba el docker con docker-compose up la base me daba error entonces necesitaba ejecutar por consola algunos comandos para poder crear la base que no la había creado y también para darle privilegios al usuario en cuestión.
Si sos uno de los tantos que se cansa cada vez que tienes que hacer pull o push a un repositorio en github poniendo el usuario y la contraseña, puedes realizar estos pasos y dejará de pedirte user y pass cada vez que quieras realizar un pull o push a github.
Primero tienes que ver que esté funcionando el ssh-agent para eso ejecutar este comando en la consola de linux
Tal vez te encuentres con la necesidad de tener que armar una lista de directorios o carpetas, de tu sistema linux, acá te dejo un comando que te permite realizar ese proceso.
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
También se puede instalar el comando tree que es mucho mas cuidado estéticamente y tiene una cuantos parámetros que lo puedes ejecutar a tu gusto.
Si tener un celular (dispositivo móvil) con Android y quieres usar la cámara de ese celular como webcam puedes usar un programa que se llama Droidcam, es muy buena opción para no comprar una webcam y usa ese dispositivo viejo que tenías en un cajón.
Este artículo trae una solución a un problema frecuente que se dá cuando usas linux, el problema se presenta que no siempre reconoce las conexiones por USB.
Los pasos que realicé para que Droidcam vuelva funcionar como tras el error Droidcam unable to find dev/video0
$ sudo apt install v4l2loopback-utils v4l-utils v4l2loopback-dkms cmake nasm yasm pkg-config libgtk2.0-dev
$ sudo modprobe v4l2loopback
$ v4l2-ctl --list-devices # check if you have dummy video devices
Dummy video device (0x0000) (platform:v4l2loopback-000):
/dev/video0
Me pasa muy seguido que tengo que corregir droidcam tras actualizar Ubuntu y para esto solo uso este comando.
$ sudo modprobe v4l2loopback
Que sirve para agregar el módulo v4l2loopback al kernel que acabamos de actualizar.
En este post muestro como generar un pendrive booteable para instalar linux ubuntu por ejemplo, con el comando dd (Dataset Definition), pero sirve para cualquier imagen de disco que tenga un sistema operativo o que sea booteable esa imagen luego de ser instalada dentro del pendrive.
Para esto vamos a usar primero el comando lsblk
lsblk
Este comando nos permite listar todos los dispositivos como por ejemplo discos duros, SSD, memorias flash, CD-ROM; una vez que visualizamos donde se encuentra nuestro pendrive procedemos a desmontarlo con el comando umount
Dejo anotado acá algunos recursos de Python que fui recompilando
https://argentinaenpython.com/quiero-aprender-python/
https://www.learnpython.org/es/.
Desde la consola se puede comprimir archivo o directorios con un simple comando
Si se necesita comprimir una carpeta o un archivo lo que se necesita hacer es lo siguiente:
7z a archivo_comprimido.7z /ruta/a/carpetas/ /ruta/a/archivos
A fines prácticos si se necesita realizar una compresión de un directorio o carpeta el comando sería el siguiente:
7z a directorios_comprimidos.7z /ruta/a/carpetas/
si fuese un archivo solo el comando sería el siguiente
7z a archivo_comprimido.7z /ruta/a/archivos
Para poder extraer el contenido de un archivo zipeado ya sea con la extensión .zip o .7z
Para ver que tipo de arquitectura es nuestro sistema operativo Linux que estoy usando; es decir, si es de 32 Bits o de 64 Bits; para eso se ejecuta en consola el siguiente comando
#!/bin/bash
uname -m
Donde muestra i686 para los sistemas operativos de 32 Bits y x86_64 para los que son de 64 Bits.
El comando uname tiene un montón de información al ejecutarlo de la siguiente manera
uname -a
-a, –all imprime toda la información, en el siguiente orden, omitiendo -p y -i