Cuanto más tiempo se tome para realizar tareas simples como buscar archivos o mostrar sus contenidos, más se tomará del tiempo crítico de desarrollo. Al trabajar en la línea de comandos, cosas como los alias y las funciones personalizadas pueden acelerar las cosas y permitirle volver a desarrollarse más rápidamente.
Si cada vez que necesita realizar tareas básicas, tiene que hacer un viaje a Stack Overflow o buscar en Google, es el momento que podría haber dedicado a cosas más importantes, como escribir código.
A continuación hay una lista de comandos útiles que he reunido para realizar tareas repetitivas (a veces molestas):
1. SSH Agent and Private Keys
alias addkey='eval $(ssh-agent) && ssh-add'
¿Alguna vez ha terminado de trabajar en una función y trató de llevar sus cambios de Git a GitHub o acceder a un servidor remoto a través de SSH solo para obtener un error o una solicitud de contraseña? El culpable más probable es que reinició su computadora en algún momento y perdió su agente SSH (junto con las claves agregadas).
Una manera fácil de solucionar esto es reiniciando su agente y volviendo a agregar las claves SSH. Puede agregar este alias a su perfil de bash, luego todo lo que tiene que hacer es escribir: addkey para volver a funcionar. Siéntase libre de cambiar “addkey” por algo más adecuado para su estilo.
Tenga en cuenta que el comando ssh-add espera que su clave se coloque en ~ / .ssh / id_rsa para que se agregue automáticamente. Si ha cambiado el nombre de su clave o tiene varias claves que desea agregar, puede especificar el nombre utilizando una ruta como argumento, como este:
ssh-add ~/.ssh/my_special_key
2. Network Discovery with Ping6
ping6 -I en0 ff02::1
Has oído hablar del ping, pero ¿qué pasa con su (aterrador) hermano ping6, diseñado para hacer ping a las direcciones IPv6?
Puede hacer las mismas cosas obvias, como hacer ping a las direcciones IPv6 y ver respuestas, pero hay más funciones útiles ocultas debajo del capó, si sabe dónde buscar.
Cuando pasa esta dirección especial (que es un prefijo) a ping6 y especifica desde qué interfaz enviar (reemplazando en0 por la suya), puede ver quién responde y ver sus direcciones.
Esto es útil para el descubrimiento de redes e incluso para obtener acceso a sistemas en los que ha perdido la dirección. Frecuentemente interactúo con muchos equipos que usan direcciones IPv6 y me cuesta recordarlos. Ser capaz de enviar un comando rápido y “ver qué hay alrededor” en su red local es muy útil.
Si tiene dificultades para comprender los conceptos centrales de IPv6 (como lo hago yo), aquí hay una increíble descripción de IPv6 e IPv4 de Joe Cardillo.
3. Detailed Directory Listing
alias ll='ls -lah'
Este es un alias común para enumerar el contenido de un directorio, pero con la velocidad adicional de mostrar archivos ocultos, en forma de lista, con detalles adicionales y en un formato legible para humanos. Entonces, en lugar de una salida simple e inútil, como esta:
You get much more detailed output, like this:
Inmediatamente sabrá qué elementos son directorios, sus permisos de usuario / grupo, qué tan grandes son y cuándo se crearon / modificaron. Lo uso todo el tiempo para ver cuándo se escriben los datos en los archivos o para verificar quién tiene acceso a un directorio en particular. ¡Ordenado!
4. Current Directory Size
du -sch ./*
Este es un comando sencillo que enumerará el tamaño de cada elemento en su directorio de trabajo actual. Esto es útil si está intentando ampliar archivos o directorios grandes para la limpieza.
¿Olvidó en qué directorio estaba un archivo? encontrar al rescate! Si reemplaza <filename> con el nombre del archivo que está buscando, find descenderá a través de todos los directorios (comenzando por el que está buscando) buscando su archivo.
Una vez que se ha encontrado el archivo, obtendrá un resultado como este que le muestra dónde vive el archivo para que pueda tomarlo y volver a trabajar:
./dir1/dir2/file.ext
Hay muchas formas de buscar archivos. Incluso puede instalar otras utilidades dedicadas que tienen más campanas y silbatos. Pero find está fácilmente disponible en múltiples distribuciones y fácil de usar.
6. Watch
¡Si no has usado el reloj, te lo estás perdiendo! La idea es simple, pasa algo que hacer y con qué frecuencia hacerlo y lo hace. Veamos un ejemplo:
watch -n 1 'cat test.txt'
Esto le dice a watch que queremos ejecutar nuestro comando cat cada 1 segundo / s. Una vez que ejecute este comando, la pantalla se reescribirá para mostrar el contenido del archivo como si hubiera usado menos para mostrarlo. En la esquina habrá un temporizador que le mostrará cada vez que se vuelva a mostrar el contenido.
Every 1.0s: cat test.txt hostname.local: Fri Jan 3 08:57:29 2020line1 line2 line3
Esto es útil si tiene salida canalizada a un archivo y desea ver los cambios a medida que ocurren. También puede ajustar el archivo, pero usar watch es mucho más limpio porque la pantalla se reescribe cada vez y watch maneja el intervalo de bucle fácilmente para usted.
Esto no está disponible en todas las distribuciones de forma predeterminada, pero se instala fácilmente con apt-get, yum o brew para comenzar.