=============== o TOOLS 4 CLI o =============== - Listado de herramientas disponibles en la linea de comandos - Mantener orden alfabético - Listar uso básico (cualquier duda usar 'man + comando') - ^ simboliza la tecla Control - $ simboliza el prompt que abre un ejemplo - Hay un listado alfabético en https://ss64.com/bash/ - Sugerencias, dudas, consultas y tomatazos a hora_z@texto-plano.xyz ______ > fichero Redirecciona cualquier salida a un archivo Por ejemplo, para crear un fichero3 con el contenido de fichero1 y fichero2: $cat fichero1 fichero2 > fichero3 Si no hay nada a la salida, se creará un fichero vacío Pero si apunta a un fichero existente, se borrará su contenido ______ >> fichero Agrega la salida al final del fichero (append). No borra el contenido previo. ______ ansiweather Muestra el estado del tiempo en la terminal -l (location) permite mostrar el tiempo en determinado lugar $ ansiweather -l "Buenos Aires" -F muestra el resultado para los próximos 5 días $ ansiweather -l "Buenos Aires" -F ______ apt apt-get Gestor de paquetes (investigar) ______ awk Es un lenguaje de scripting. Parece ser muy útil para automatizar procesamiento en ficheros de texto. (Investigar y aprender) ______ cacaview Muestra imágenes en ascii. Tiene zoom, paneo, dithering y puede usarse en modo galería. Soporta GIF, JPG, PNG, BMP y otras. $ cacaview home/usuario/imagen.jpg $ cacaview home/usuario/imagenes/*.* (modo galería, carga todo) ______ cat fichero Muestra el fichero en un solo pantallazo No da posibilidad de paginación Puede concatenar varios archivos ______ cd cambia de directorio $ cd directorioN (cambia al directorio nombrado) $ cd .. (sube un nivel en el arbol de directorios) $ cd -- (vuelve al directorio home - igual que $ cd ~) ______ chmod Cambia el modo de acceso de archivos y directorios con ls -l se pueden ver los permisos de los archivos y directorios rwx significan read (lectura), write (escritura), execution (ejecución) Estos permisos se pueden asignar a usuario, grupo, otros (u g o) - se puede usar a para sintentizar a todos (all) Los 10 caracteres que figuran a la izquierda corresponden a dichos permisos El orden es el siguiente: 1: d es un directorio, - es un archivo, l es un enlace 2 3 4: rwx para el usuario 5 6 7: rwx para el grupo 8 9 10: rwx para otros Los operadores + - = corresponden a dar, quitar o copiar permisos respectivamente Ejemplo donde se le da al grupo los mismos permisos que tiene el usuario: $ chmod g=u ~/archivo El formato de un comando chmod puede ser el siguiente: chmod quien[operador]permiso archivo/directorio $ chmod [ugo][+-=][rwx] archivo/directorio Se pueden especificar múltiples permisos separándolos con coma. $ chmod u+w, g-w -> da permiso de escritura al usuario y lo quita al grupo También se puede usar notación octal. Si se toman las tres posiciones -usuario|grupo|otros- como grupos de 3 unos y ceros (- y +), luego se puede pasar de binario a octal usando la siguiente tabla de conversión BIN | OCT | PERM ----+-----+----- 000 | 0 | --- 001 | 1 | --x 010 | 2 | -w- 011 | 3 | -wx 100 | 4 | r-- 101 | 5 | r-x 110 | 6 | rw- 111 | 7 | rwx Así, cmod 744 resultaría en -rwxr--r-- ______ clear Limpia la pantalla (cls) ______ cp origen destino Copia el fichero del origen en el destino (se puede cambiar el nombre en destino) Usar $cp -r origen destino para copiar de forma recursiva ______ curl -o RUTA Transfiere los datos que le pongas en la ruta. $ curl https://texto-plano.xyz mostrará en pantalla el código html de la página inicial de texto-plano. conviene usar un caño a less para verlo paginado $ curl http://texto-plano.xyz | less se puede usar la opción '-O' para guardar el archivo en la ruta actual también se puede usar -o para especificar dónde guardarlo $ curl -o /Descargas/ejemplo.txt https://texto-plano.xyz Estudiar un poco más, ya que se le pueden enviar request GET y POST lo que permitiría completar formularios. ______ df Muestra el espacio libre en disco. Usar con -h para información humanamente legible ;-) ______ find fichero Busca un archivo -type d (busca directorios) -type f (busca ficheros) -type l (busca enlaces simbólicos) -name nombre (permite "*.txt") -iname (igual que -name pero no distingue mayúsculas) -size +100c (con un tamaño mayor a 100 caracteres) -size -1m (tamaño menor a 1 mega) -mtime -1 (editado en las últimas 24hs) -delete borra los que coinciden con la búsqueda ______ free -h Muestra información sobre el uso de la memoria el parámetro -h hace que los valores sean legibles (megas, gigas, etc.) ______ grep 'texto' fichero Devuelve el texto encontrado en el fichero -n agrega los números de linea donde se encontraron las coincidencias -c imprime solo el número de lineas con coincidencias -v invierte el resultado (devuelve las lineas que no tienen coincidencia) -i ignora mayúsculas/minúsculas -l muestra los nombres de los archivos con coincidencia -w devuelve coincidencia de palabra completa -o imprime solo el patrón coincidente -A1 -B1 imprime también la linea anterior (B) y siguiente (A) La cantidad de lineas puede cambiar aumentando de número También existe -C1 que es la combinación de A y B Grep permite usar expresiones regulares (investigar RegExp) ______ gzip fichero Comprime el fichero y le añade extensión .gz, eliminando el original Para que eso no pase, usar -c y redireccionar la salida $gzip -c fichero > fichero.gz o se puede usar $gzip -k fichero Parámetros de niveles de compresión -1 mínimo -6 máximo Para descomprimir usar $gzip -d archivo.gz ______ gunzip fichero.gz Es como usar gzip -d Se puede usar $gunzip -c fichero.gz > otrofichero ______ head fichero Muestra las primeras 10 lineas de un archivo Se puede agregar el parámetro -#, donde # es un número de lineas a mostrar ______ ip Herramienta de configuración de red $ip link show (muestra todas las interfaces disponibles) $ip link show enp1s0 | grep state (pide el estado de mi interface 'enp1s0') $ip -s link ls enp1s0 (devuelve un testeo de conectividad) $ip route list (muestra las tablas de ruteo IPv4) $ip addr (muestra las direcciones IP) $ip -4 addr / $ip -6 addr (muestra las direcciones IPv4 o IPv6, según el modificador) $ip addr show dev enp1s0 (muestra las direcciones solo para el dispositivo enp1s0) ______ kill pid# Elimina un proceso en ejecución mediante el número PID (se puede ver usando top) ______ last Muestra un listado de los inicios de sesión recientes ______ less fichero Muestra el fichero en modo lectura Espacio para pasar página Flechas arriba/abajo para subir y bajar de a una linea / para buscar - resalta todas las palabras encontradas q para salir ______ ls Lista ficheros y directorios. Tiene varios parámetros para cambiar la vista -l -a -s -1 (los parámetros se pueden combinar) También se le puede pasar una ruta de directorios ______ lsblk Muestra información sobre los dispositivos de almacenamiento disponibles ______ lscpu Muestra información sobre el cpu ______ lspci Muestra información sobre los dispositivos PCI conectados ______ lsusb Muestra información de los USB actuales en el SO ______ man opcion Muestra el manual Con opcion, muestra la entrada del manual correspondiente a la opcion ______ mcedit Editor de texto similar al edit de DOS (blanco sobre celeste) ______ mkdir nombre Crea un directorio con el nombre especificado ______ more fichero Muestra el fichero en modo lectura de a páginas Muestra el porcentaje de archivo leído q para salir ______ mv origen destino Igual que cp, pero mueve el archivo en vez de copiarlo ______ nano Editor de texto básico ______ nmcli Muestra información de las interfaces de red ______ open fichero Abre el archivo pedido usando el programa predeterminado $open . (abre el navegador de archivos) ______ pico Abre nano: editor de texto básico ______ ping texto-plano.xyz Devuelve testeo y diagnóstico de la conexión con el destino dado por la URL enviándole paquetes de datos y esperando su devolución Cada linea devuelve lo siguiente: * número de bytes (default 64) * dirección IP del destinatario * secuencia icmp de cada paquete enviado * tiempo de vida (time to live -TTL-) de cada paquete * tiempo de duración del ping de ida y vuelta -en milisegundos- El ping se corta con Ctrl-c, luego de lo cual muestra las estadísticas del testeo ______ ps Muestra los procesos en ejecución dentro del sistema operativo ______ pstree Muestra un arbol con todos los procesos y sus relaciones La salida es grande, se recomienda rutearla con less o a un archivo $pstree | less $pstree > arbol_de_procesos.txt ______ pwd Muestra el directorio de trabajo actual ______ ^r Permite buscar en el historial los comandos tipeados previamente ______ rev archivo Invierte el orden del archivo que le pases como parámetro Si se usa solo rev, abre un promt. Lo que escribas en el promt lo da vuelta. Ctrl+C para salir ______ rm fichero Borra un archivo $rm -r directorio Borra de forma recursiva todo lo que hay en el directorio ______ rmdir directorio Elimina un directorio, siempre y cuando esté vacío ______ shutdown Apaga o reinicia la máquina -f no se fija en lo que haya abierto -r reinicia el sistema ______ sort En caso de $sort archivo, muestra en pantalla el contenido ordenado por lineas Puede ordenar cualquier salida que le pase por cañerías $ls | sort ______ tail fichero Muestra las últimas 10 lineas de un archivo Se puede agregar un parámetro -#, donde # es un número de lineas a mostrar ______ tar Crea un archivo agrupando varios $tar -cf archivo.tar archivo1 archivo2 -c significa crear y f es para escribir y guardar el archivo Para su extracción usar $tar -xf archivo.tar -x significa extracción Para extraer los archivos en un directorio especificado $tar -xf archivo.tar -C directorio Si solamente querés listar los archivos dentro de un tar $tar -tf archivo.tar Para crear un archivo comprimido $tar -czf archivo.tar.gz archivo1 archivo2 Es como crear un tar y despues comprimirlo con gzip ______ tmux Multiplexor de terminal ^b para ingresar una orden ^b c para abrir una nueva ventana (sesión) ^b n para pasar a la próxima ventana (next) ^b p para pasar a la ventana anterior (previous) ^b x para cerrar la ventana actual (pide confirmación) ^b " divide la ventana horizontalmente en dos paneles ^b % divide la ventana verticalmente en dos paneles ^b+flechas pasa de un panel a otro ^b d elimina un panel Tiene muchas opciones más, tanto para las ventanas como para linea de comandos Link a un machete con comandos importantes https://www.hostinger.com.ar/tutoriales/usar-tmux-cheat-sheet ______ top Muestra los procesos en ejecución $ top -U fulano Muestra los procesos del usuario fulano q para salir ______ touch archivo Crea un archivo vacío. Si ya existe, actualiza el timestamp ______ uname -a Muestra información sobre el sistema ______ uptime Devuelve cuánto tiempo hace que está encendido el SO ______ vi/vim Editor de texto programable. Tiene cientos de comandos. :q para salir ______ w Muestra los usuarios actuales logueados en el sistema 13:42:48 up 5:39, 1 user, load average: 0,11, 0,14, 0,12 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT hora_z tty2 tty2 08:03 5:39m 0.06s 0.06s /usr/libexec/gn ______ wc Muestra un recuento de información sobre un archivo o una entrada recibida por cañerías (|) $ls -al | wc $ls archivo Muestra tres columnas representando cantidades 1.lineas | 2.palabras | 3.bytes Luego, el nombre del archivo referido Podemos pedir que muestre las cantidades x seprarado 1.-l, 2.-w, 3.-c ______ who Muestra quién está conectado hora_z tty2 2023-02-24 08:03 (tty2) ______ xdg-open . abre el explorador de archivos en la carpeta actual en texto-plano abre links y permite navegar y ver archivos de manera sencilla