¿Cuáles son algunas tareas prácticas de Unix que incluso los no programadores deberían saber hacer?

Debes poder unir los comandos juntos como los niños juegan con LEGO.

UNIX / Linux es increíblemente poderoso para la manipulación de archivos de texto. Sepa cómo aprovechar las opciones grep -A -B y -v. Sepa cómo aprovechar la opción awk -F. Diablos, sepa cómo aprovechar awk: los arreglos asociativos son ultra poderosos.

Aquí hay un ejemplo. Un cliente enumeró parte de la salida de ” ifconfig -a “, que muestra aproximadamente 50-60 direcciones IP que necesitaba eliminar en masa. Lo más rápido posible, ya que estaban causando conflictos ya que también se definieron en otro servidor.

Pude copiar / pegar esa salida en un archivo, extraer solo las direcciones IP y poner esa lista en otro archivo.

Mientras reconfirmaba la lista de direcciones IP con el cliente, escribí otros dos programas: uno para “deshabilitar” las interfaces, uno para eliminar el archivo asociado para cada interfaz para que no se volviera a habilitar si el servidor se reiniciaba.

Permítanme aclarar: utilicé dos líneas de una línea diferentes para generar archivos llenos de sentencias de shell que hicieron exactamente lo que quería:

[…]
ifdown eth0: 134
ifdown eth0: 135
ifdown eth0: 136
[…]

y:

[…]
rm / etc / sysconfig / network-scripts / ifcfg-eth0: 134
rm / etc / sysconfig / network-scripts / ifcfg-eth0: 135
rm / etc / sysconfig / network-scripts / ifcfg-eth0: 136
[…]

Ninguno de estos pasos finales utilizó la dirección IP, sino el nombre de la interfaz. Para esto, la opción “-l” de grep vino al rescate; me dio el nombre del archivo de especificación de la interfaz que definía cada dirección IP en particular.

awk -F- ‘{print $ 3}’ en los nombres de archivo anteriores te da nombres de interfaz, ¿no es así? Entonces … así es como obtuve las direcciones IP, los nombres de archivos y los nombres de interfaz.

Pude crear scripts que hicieron el trabajo POR mí, definitivamente, 100% seguro de que estaba tirando SOLAMENTE de las interfaces que el cliente había pedido, nada más y nada menos.

Como dije … LEGO.

EDITAR : Mientras tanto, he creado una placa aquí en Quora para mostrar cómo se puede usar awk en tuberías para resolver problemas del mundo real. Esta placa contiene docenas de ejemplos de cómo los comandos de Linux / UNIX pueden unirse: Awk is Cool

Como todos han mencionado, la tubería es realmente importante. La otra pequeña tarea sería conocer los procesos de matanza como tales. Entonces, ps, grep, kill son todos importantes. Por supuesto, a medida que realiza más tareas a través de la propia terminal, más aprende.

No es realmente una tarea, pero ayudará con todo lo anterior. Elija un shell como Korn o Bash y aprenda los comandos del historial de la línea de comandos. Ser capaz de modificar un comando largo, agregar una tubería a un comando anterior para ordenar o grep, corregir errores tipográficos, etc. ahorra una gran cantidad de tiempo y frustración.