Linux CLI

Linux CLI cheatsheet PDF

Atajos de teclado

  • Ctrl + Alt + T — Abrir terminal
  • Ctrl + D — Cerrar terminal
  • Ctrl + L — Limpiar terminal (shortcut)

Comandos básicos

  • echo "aaa" — Mostrar texto en pantalla
  • cal — Mostrar calendario del mes actual
  • cal 2021 — Mostrar calendario del año 2021
  • cal -y — Mostrar calendario de todo el año
  • date — Mostrar fecha y hora actual
  • !1, !8 — Ejecutar comando del historial
  • !! — Ejecutar último comando
  • history — Ver historial de comandos
  • history -c; history -w — Limpiar historial y guardar cambios permanentes

Terminal, comandos y shells

  • Shell — Interprete de comandos
  • Estructura de un comando:
    commandName [options] [inputs]
  • Variables de entorno y paths:
    echo $PATH
  • Ubicación de comandos:
    which cal

Ejemplos de uso

  • cal 12 2021 — Operando
  • cal -y — Opción
  • date -u — Opción de fecha universal
  • Formatos cortos y largos:
    • Corto: -abcd
    • Largo: --universal
  • Comandos distinguen mayúsculas y minúsculas

Opciones con inputs propios

  • cal -A 1 12 2017 — 1 mes después
  • cal -B 1 12 2017 — 1 mes antes
  • Formato extendido (solo algunos comandos):
    cal --before=1 --after=1 12 2017

Manual (MAN)

Secciones del manual

  1. User commands
  2. System Calls
  3. C library functions
  4. Devices and special files
  5. File formats and conventions
  6. Games
  7. Miscellaneous
  8. System administration

Comandos MAN

  • man — Acceder al manual
  • man -k which — Buscar páginas relacionadas
  • man 1 which — Mostrar sección 1 del comando
  • Sintaxis general:
[ ]      # Opcional
<THING>  # Obligatorio
THING ... # Repetible
THING1 | THING2 # THING1 o THING2

`

Ejemplos

which [-a | -f] filename ...
man -k "list directory contents"
man ls
ls -l
ls -lh /   # --human-readable

Entradas y salidas de comandos

  • Streams de datos:

    • Standard output (stdout) — salida principal
    • Standard error (stderr) — mensajes de error
    • Standard input (stdin) — entrada de datos
  • Ejemplos:

cal 12 2017
cal -A 1 -B 1 12 2017

Redirección

  • Concatenar archivos: cat
  • Redirección de salida:

    • cat > output.txt
    • cat 1> output.txt
    • Append: cat >> output.txt / cat 1>> output.txt
  • Redirección de error:

    • cat 2> error.txt
    • cat 2>> error.txt
  • Redirección combinada:
cat 0< input.txt 1> hello.txt
cat 0< input.txt > /dev/pts/1
cat 1>> output.txt 2>> error.txt
  • Comando tty — Ver terminal en uso

Referencias

Piping

  • Encadenar comandos: command1 | command2
  • Ejemplo con cut y date:
date | cut --delimiter=" " --fields 1
date | cut --delimiter=" " --fields 1 > today.txt
  • Las redirecciones se procesan antes que las pipes

Advanced piping

  • Conectar stdout de un comando a stdin de otro
  • tee — Guardar snapshot de la pipe en archivo y continuar piping:
date | tee fulldate.txt | cut --delimiter=" " --field=1 | tee today.txt
  • xargs — Convertir stdin en argumentos de línea de comandos:
date | xargs echo
date | cut --delimiter=" " --fields=1 | xargs echo
cat filestodelete.txt | xargs rm

Aliases

  • Crear alias para comandos frecuentes y fáciles de recordar
  • Archivo recomendado: .bash_aliases
alias ll='ls -lh'
alias today='date'