Linux comandos básicos

Liberar Memoria

sudo df -h

free -h cuanta memoria queda

sudo du -sh /var/cache/apt/archives <ver memoria del cache>

rm /home/jr/.mozilla/firefox/*/cookies.sqlite

rm -r /home/jr/.local/share/Trash/*

apt autoclean

apt-get clean

apt autoremove -y

Comandos básicos de navegación

Estos comandos te ayudan a moverte por el sistema de archivos:

  • pwd: Muestra el directorio actual. Ejemplo: pwd te dirá /home/usuario.
  • ls: Lista archivos y carpetas. Usa ls –help para ver mas opciónes.
  • cd: Cambia de directorio. Ejemplo: cd /home/usuario.
  • cd ..: Retrocede un nivel en la estructura de directorios.
  • tree: Muestra la estructura de directorios en forma de árbol.

Gestión de archivos y carpetas

Crear, mover y eliminar archivos es esencial:

  • touch archivo.txt: Crea un archivo vacío.
  • mkdir carpeta: Crea una carpeta nueva.
  • cp archivo1 archivo2: Copia archivos. Usa cp -r para carpetas.
  • mv archivo destino: Mueve o renombra archivos.
  • rm archivo: Elimina un archivo. Usa rm -r para carpetas, con cuidado.

Usuarios y Grupos

Añadir y admministrar usuarios y grupos:

Whoami:Mostrar usuario actual

adduser usuario: Crear un nuevo usuario

deluser usuario: Eliminar usuario

addgroup grupo: Crear un nuevo grupo

usermod -aG grupo usuario: Añadir usuario a grupo

groups usuario: Mostrar grupos de un usuario

passwd usuario: Cambiar contraseña de usuario

su usuario: Cambiar de usuario

sudo comando: Ejecutar comando como superusuario



Visualización y edición de archivos

Estos comandos te permiten leer y modificar archivos:

  • cat archivo.txt: Muestra el contenido completo de un archivo.
  • less archivo.txt: Visualiza archivos página por página. Presiona q para salir.
  • nano archivo.txt: Abre un editor simple para modificar archivos.
  • vim archivo.txt: Usa el editor avanzado Vim (requiere práctica).
  • head archivo.txt: Muestra las primeras 10 líneas. Usa head -n 5 para 5 líneas.
  • tail archivo.txt: Muestra las últimas 10 líneas, útil para logs.

Gestión de permisos

Controlar quién accede a tus archivos es clave en Linux:

  • chmod 755 archivo: Cambia permisos. 755 da acceso total al dueño y lectura a otros.
  • chown usuario archivo: Cambia el propietario de un archivo.
  • ls -l: Muestra permisos, como rwxr-xr-x, donde “rwx” es leer, escribir, ejecutar.
  • sudo: Ejecuta comandos como administrador. Ejemplo: sudo chmod 644 archivo.

Gestión de paquetes e instalación

Instalar y actualizar software es fundamental:

  • apt update: Actualiza la lista de paquetes en distribuciones basadas en Debian (Ubuntu, Mint).
  • apt upgrade: Instala actualizaciones disponibles.
  • apt install paquete: Instala un programa. Ejemplo: sudo apt install gimp.
  • dnf install paquete: Similar a apt, pero para Fedora.
  • snap install paquete: Instala paquetes Snap en distribuciones compatibles.

Monitoreo del sistema

Estos comandos te ayudan a vigilar el rendimiento:

  • top: Muestra procesos en tiempo real, como uso de CPU y memoria.
  • htop: Versión mejorada de top, más visual (instala con sudo apt install htop).
  • df -h: Muestra el espacio libre en disco en formato legible.
  • du -sh carpeta: Calcula el tamaño de una carpeta.
  • free -m: Muestra el uso de memoria RAM en MB.

Gestión de procesos

Controla programas en ejecución con:

  • ps aux: Lista todos los procesos activos.
  • kill PID: Termina un proceso por su ID. Encuentra el PID con ps.
  • killall nombre: Cierra todos los procesos de un programa, como killall firefox.
  • bg: Envía un proceso al fondo.
  • fg: Trae un proceso al frente.

Comandos de red

Si trabajas con conexiones, estos son esenciales:

  • ping google.com: Verifica la conexión a un sitio.
  • curl url: Descarga contenido de una URL.
  • wget archivo: Descarga archivos desde la web.
  • ifconfig: Muestra configuraciones de red (o usa ip a en sistemas modernos).
  • netstat -tuln: Lista puertos abiertos.
  • ssh usuario@host: Conexión segura a host remoto.

Búsqueda y filtrado de datos

Encuentra archivos o información rápidamente:

  • find /ruta -name archivo: Busca un archivo por nombre. Ejemplo: find /home -name foto.jpg.
  • grep texto archivo: Busca texto dentro de archivos. Usa grep -r para carpetas.
  • locate archivo: Busca archivos rápidamente (requiere actualizar con sudo updatedb).
  • wc archivo.txt: Cuenta líneas, palabras y caracteres.
  • sort archivo.txt: Ordena líneas de un archivo.

Comandos de compresión y archivos

Gestiona archivos grandes con:

  • tar -cvf archivo.tar carpeta: Crea un archivo tar.
  • tar -xvf archivo.tar: Extrae un archivo tar.
  • zip archivo.zip archivo: Comprime en formato zip.
  • unzip archivo.zip: Descomprime un zip.
  • gzip archivo: Comprime un archivo en formato gzip.

Sistema

ps:Mostrar procesos activos

ps aux: Todos los procesos

ps -ef: Formato extendido

top: Monitor de procesos en tiempo real

htop: Top mejorado (si está instalado)

kill PID: Terminar proceso por ID

kill -9 PID: Forzar terminación

df: Mostrar espacio en disco

df -h : Formato legible para humanos

du: Mostrar uso de espacio por directorio

du -sh: Resumen del directorio actual

free: Mostrar memoria libre y usada

uname -a: Mostrar información del sistema

reboot: Reiniciar el sistema

shutdown: Apagar el sistema

shutdown now: Apagar ahora

shutdown -r now: Reiniciar ahora

Automatización y scripts

Automatiza tareas con:

  • crontab -e: Programa tareas periódicas. Ejemplo: 0 3 * * * backup.sh ejecuta un script a las 3 AM.
  • alias nombre=»comando»: Crea atajos. Ejemplo: alias ll="ls -las".
  • bash script.sh: Ejecuta un script Bash.
  • history: Muestra comandos recientes.
  • !!: Repite el último comando.

Comandos de ayuda y aprendizaje

Si necesitas orientación:

  • man comando: Muestra el manual. Ejemplo: man ls.
  • help comando: Información breve sobre comandos internos.
  • apropos tema: Busca comandos relacionados con un tema.
  • info comando: Detalles extensos sobre un comando.

alizar tu experiencia

Personaliza la terminal para mayor comodidad:

  • nano ~/.bashrc: Edita el archivo de configuración para añadir alias o cambiar el prompt.
  • export PS1=»nuevo_prompt»: Personaliza el aspecto del prompt.
  • tput setaf 2: Cambia colores en scripts para resaltar salidas.

Atajos de Teclado en la Terminal

Ctrl + C Interrumpir proceso actual

Ctrl + Z Pausar proceso actual

Ctrl + D Cerrar sesión de terminal

Ctrl + L Limpiar pantalla

Ctrl + A Ir al inicio de la línea

Ctrl + E Ir al final de la línea

Ctrl + U Borrar desde cursor hasta inicio

Ctrl + K Borrar desde cursor hasta final

Ctrl + R Buscar en historial de comandos

Tab Autocompletar nombres

Hoja de referencia de comandos Linux

ComandoQué hace
lsMuestra el contenido del directorio
pwdMuestra la ruta del directorio actual
cdCambiar de directorio
locateBuscar archivos por nombre
findBuscar archivos y directorios
mkdirCrear un directorio
rmdirEliminar un directorio vacío
rmEliminar archivos o directorios
cpCopiar archivos o directorios
mvMover o renombrar archivos
touchCrear un archivo vacío
fileMostrar el tipo de archivo
zipComprimir archivos en un archivo ZIP
unzipExtraer archivo ZIP
tarArchivar archivos y directorios
nanoEditar archivos con Nano
viEditar archivos con Vi
jedEdita archivos con Jed
catMostrar el contenido de un archivo
grepBuscar patrones de texto en archivos
sedReemplazar o modificar patrones de texto
headMostrar las primeras líneas de un archivo
tailMostrar las últimas líneas de un archivo
awkProcesar y analizar texto
sortOrdenar el contenido de un archivo
cutExtraer secciones de texto
diffComparar dos archivos
teeEnviar la salida a la terminal y a un archivo
sudoEjecutar comando como administrador
suCambiar de cuenta de usuario
whoamiMostrar el usuario actual
chmodCambiar los permisos de los archivos
chownCambiar el propietario del archivo
useraddCrear un nuevo usuario
userdelEliminar cuenta de usuario
passwdEstablecer o cambiar contraseña
dfMostrar el uso del espacio en disco
duMostrar el tamaño del directorio
topMostrar los procesos en ejecución
htopVisor interactivo de procesos
psMostrar instantánea del proceso
unameMostrar información del sistema
hostnameMostrar o configurar el nombre del host
timeMide el tiempo de ejecución de un comando
systemctlAdministrar los servicios del sistema
watchEjecutar un comando repetidamente
jobsMostrar los trabajos en segundo plano del shell
killTerminar un proceso
shutdownApagar o reiniciar el sistema
pingComprobar la conectividad de red
wgetDescargar archivos de la web
curlTransferir datos a través de una URL
scpCopiar archivos a través de SSH
rsyncSincronizar archivos entre sistemas
ipAdministrar la configuración de red
netstatMostrar conexiones de red
tracerouteRastrear la ruta de los paquetes de red
nslookupConsultar registros DNS
digBúsqueda detallada de DNS
historyMostrar historial de comandos
manMostrar el manual del comando
echomostrar texto en la terminal
lnCrear enlaces a archivos
aliasCrear un atajo de comando
unaliasEliminar acceso directo de comando
calMostrar calendario
aptAdministrar paquetes (basado en Debian)
dnfAdministrar paquetes (basado en RHEL)

Comandos personalizados con pipeline

  • sh -c ‘echo ‘ hola mundo‘>> /home/$USER/archivo.txt → Añadir a un archivo un texto
  • while true; do echo -n «Este ejemplo de while loop»; date ; sleep 5; done → Esto es un ejemplo de un loop con while
  • for i in {0..100};do echo «el numero es $i»;done → Esto es un ejemplo de un loop con for
  • find /var -type f -name «*.log» 2>0 → Buscara todos los archivos .log y los (2>0) errores no los muestra
  • find / -perm -2 -type f 2>/dev/null → Encontrar ficheros con permisos de escritura y los (2>/dev/nul) errores no los muestra
  • find /home/jr/Escritorio/ -mtime 1 → archivos modificados un día atrás
  • find /home/jr/Escritorio/ -mtime -1 → archivos modificados menos de un día horas modificados
  • find / -mmin -1 →modificado menos de 1 minuto
  • perl -e ‘system qw(pwd)’ → Ejecutar el comando pwd en Perl
  • iinxi -Fxzd → Información del sistema
  • cat /etc/os-release → Saber el sistema operativo
  • cat /proc/cpuinfo | grep «model name» → Informacion CPU
  • inxi -G → Información de la targeta grafica
  • grep ‘/usr/s\?bin’ /etc/systemd/system/display-manager.service Saber el gestor de pantalla
  • ss -s → conexiones
  • ss -pl → conexiones pid
  • ss -t -a → Display All TCP Sockets
  • ss -u -a → Display All UDP Sockets
  • ss -w -a → Display All RAW Sockets
  • ss -x -a → Display All UNIX Sockets
  • echo «nameserver 8.8.8.8» | sudo tee /etc/resolv.conf → Cambiamos los dns
  • sudo iwlist wlp2s0 scan | grep -e Address -e ESSID → Escaneo de redes
  • netstat -r | grep «default» | awk {‘print $8’} → Saber que targetas de red tiene conexión