Activar NAT
Este comando nos permite utilizar nuestra máquina para permitir el acceso a otra red (típicamente Internet) desde otras máquinas que tienen conexión a la nuestra pero no más allá. Un caso típico es permitir el acceso a internet de una tarjeta de desarrollo conectada a través de USB a nuestro ordenador.
$ sudo iptables -A POSTROUTING -t nat -j MASQUERADE $ sudo echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward > /dev/null
Ya hablaremos largo y tendido sobre iptables
.
Redirección en Bash
Esto seguro que todos lo sabéis, pero a mi se me olvida continuamente, así que aquí os dejo las redirecciones típicas para que las tengáis todas juntas en vuestro cuaderno de trucos OR.
comando 2> fichero (stderr de comando a fichero) comando 1>&2 fichero (stdout al mismo lugar que stderr... fichero) comando 2>&1 (stderr al mismo lugar que stdout... consola) comando &> fichero (toda la salida de comando a fichero) comando1 | comando2 (stdout de comando1 a stdin de comando2) comando1 |& comando2 (stderr de comando1 a stdin de comando2)
Algunos flags de tar
La utilidad tar
es super potente y tiene, literalmente, cientos de flags. Aquí os dejo algunos que uso a menudo.
Excluir ficheros del sistema de control de versions (git, svn,..)
tar czvzf file.tgz ./my_project --exclude-vcs
Excluir un directorios
tar czvf file.tgz ./my_project --exclude-tag-all=PARA_IGNORAR
Ahora tendremos que crear un fichero llamado PARA_IGNORAR
en los directorios que queramos excluir de nuestro tar
. Para crear el fichero podéis usar touch
(touch directorio_a_ignorar/PARA_IGNORAR
)
No solo de gzip vive el hombre
tar xJvf file.tar.xz # Descomprime fichero .xz tar xjvf file.tar.bzip2 # Descomprime fichero .bzip2 tar xv --lzma f file.tar.lzma # Descomprime fichero .lzma tar xv --lzop f file.tar.lzma # Descomprime fichero .lzop funzip file.tar.zip | tar xv
Usa grep
para resaltar lo que te interesa
Muchas veces, sobre todo mientras depuro programas, tengo que observar el log de la aplicación, pero solo estoy interesado en ciertas líneas, las que tienen que ver con la parte que estoy depurando. El siguiente truco nos permite resaltar las líneas que nos interesan de un log en tiempo real.
tail -f file.log | egrep --color 'key1\:|key2\:|$'
El comando anterior, mostrará todo el contenido del fichero como haría el comando tail
, pero coloreará las líneas que contengan key1
o key2
. Si, podéis añadir tantas palabras clave como queráis.
Convertir fecha UNIX
Muchos logs, almacenan el sello temporal de cada línea utilizando la fecha UNIX. Esa que es un número muy largo. De hecho es el número de segundos transcurridos desde el epoch
: El Jueves 1 de Enero de 1972 a media noche.
Podemos convertir esos número en fechas normales de la siguiente forma:
date -d @1550918397 echo 1550918397 | gawk '{print strftime("%c", $0)}'
Para obtener el tiempo epoch
podéis usar:
date '+%s' # Fecha y hora actual date '+%s' -d "23/02/2019 11:41"
Dependiendo de como tengáis configurado vuestros LOCALES
, quizás tengáis que cambiar día y mes en la expresión anterior.
No seáis tímidos
Mandadnos vuestros trucos para incluirlos en esta sección. No olvidéis incluir vuestra información de contacto (redes sociales, blogs, etc...)■