Comandos del shell Linux/Unix/Mac

Comandos linux/unix

Directorios

comandoparámetroresumenejemplo
cd directorioir al directoriocd /home/usuario
lslistar directoriols
-amostrar también ocultosls -a
-lformato largols -l
-tmostrar fechals -t
-ral revésls -r
-ltrcombinación de parámetrosls -ltr
dutamaños archivos de un directoriodu /home/usuario
-cmuestra tamaño total de los archivosdu -c /home/usuario

Archivos

comandoparámetroresumenejemplo
cat a1 > a2concatena archivoscat arc1.txt arc2.txt
cat a1> a2 > rmanda concatenación a archivocat a1.txt a2.txt > r.txt
cat arc1muestra el contenidocat arc1.txt

Búsqueda en archivos

comandoparámetroresumenejemplo
grep text arcbusca texto en archivosgrep hola arc1.txt
-ccuenta la lineas con coincidenciasgrep hola arc1.txt -c
-nmuestra el número de lineagrep hola arc1.txt -n
-vmuestra las lineas que no coincidengrep hola arc1.txt -v
-iignora distincion mayúsculasgrep hola arc1.txt -i
-Rbusca recursivamente en directoriogrep hola directorio/ -R

Ejemplos grep

Buscar un patrón y guardarlo en un fichero:

grep -v \"hola\" > archivo_pruebas.txt

esto busca el patrón “hola” (las comillas se escapan con la barra invertida)

Y para guardar los resultados que no coincidan con el patrón:

grep -v \"hola\" > archivo_pruebas.txt

El comando less para visualizar ficheros

El comando “less” permite cierta interactividad, una vez entras con en un archivo:

less nombre_archivo

Se puede usar el teclado para navegar, buscar, etc de forma similar a como se haría con vi/vim:

TeclaAcción
glleva al principio del archivo
Glleva al final del archivo
Fva recargando el archivo, es similar a “tail -f” para salir de esta opción pulsar ctrl+c
qsale del archivo
hmuestra la ayuda

Screen

Screen permite tener una sesión de “reserva” en caso de que estando trabajando en una máquina tengas que desconectar y volver a conectar. Para crear una sesión

screen

Y para desconectar e la sesión ctrl+a y luego la tecla d, ctrl+a actúa como prefijo para lanzar un comando

Después podemos entrar desde otro sitio y recuperar la sesión anterior con:

screen -dr

find

find permite buscar archivos en un directorio, por ejemplo

find directorio

esto muestra todos los archivos del directorio y subdirectorio

Podemos filtrar con grep:

find directorio | grep cadena_a_buscar

Filtrado de ficheros con AWK

AWK es una herramienta de procesamiento de patrones en líneas de texto. Su utilización estándar es la de filtrar ficheros o salida de comandos de UNIX, tratando las líneas para, por ejemplo, mostrar una determinada información sobre las mismas.

Este comando con el ‘seen’ muestra los elementos repetidos, si no muestra nada no hay repetidos

cat nombre_archivo.csv |  awk -F, 'seen[$0]++'

# esto da como resultado las 4 columnas duplicadas:

cat nnombre_archivo.csv | awk -F, 'a[$1$2$3$4]++{print $0}'

# o mejor, para comparar por columnas

awk -F, 'a[$1$2$3$4]++{print $0}' nombre_archivo.csv

[!INFO] >http://www.sromero.org/wiki/linux/aplicaciones/uso_de_awk

Otros

  • duf como df pero gráfico ncurses
  • btop como htop o top pero más visual
  • neofetch información del sistema
  • sed puede búscar, reemplazar, insertar y borrar. Lo más común es buscar y reemplazar. Permite editar archivos sin abrirlos.
  • curl curl -sS -k -u $SPI_CREDS -X GET $JOBSTATUS_UR

Diferencias entre archivos

Ver las diferencias entre 2 directorios o 2 ficheros/arc

diff a.csv b.csv --suppress-common-lines -y --color

Con grep

diff -u a.csv b.csv | grep -E "^\\+" > new.csv