Comandos Esenciales de Linux: Guía Práctica

Comandos Esenciales de Linux

A continuación, se presenta una lista de comandos esenciales de Linux, organizados para facilitar su consulta y aprendizaje.

Gestión de Directorios

  • mkdir: Crea directorios.

    • -m modo: Establece los permisos de los directorios creados a modo.
    • -p: Crea los directorios padre que falten para cada argumento directorio.
  • cd: Cambia de directorio.

  • rmdir: Borra directorios vacíos.

    • -p: Borra el directorio y sus antecesores.
  • pwd: Muestra el nombre completo del directorio actual.

Gestión de Ficheros

  • ls: Lista el contenido de un directorio/s.

    • -C: En columnas, ordenados verticalmente.
    • -F: Añade al final del nombre un / (directorio).
    • -R: Lista recursivamente directorios y subdirectorios.
    • -a: Muestra ficheros ocultos (empiezan por un .).
    • -i: Muestra el i-nodo de cada fichero.
    • -l: Formato ancho.
    • -u: Emplea el tiempo de último acceso para la clasificación.
    • -t: Emplea el tiempo de última modificación para la clasificación.
    • -r: Invierte el orden de clasificación.
    • -S: Clasifica por tamaño de ficheros del más grande al menor.
    • -d: Lista directorios en lugar de su contenido.
  • cp: Copia ficheros y directorios.

    • -f: Elimina los ficheros de destino que ya existan sin pedir confirmación.
    • -i: Pregunta si sobrescribir ficheros destino existentes.
    • -p: Preserva los permisos, el propietario, el grupo y los tiempos de los ficheros originales.
    • -R: Copia directorios recursivamente.
  • mv: Mueve (renombra) ficheros.

    • -f: No pide confirmación.
    • -i: Pide confirmación cuando destino existe.
  • rm: Elimina ficheros o directorios.

    • -f: No pide confirmación.
    • -i: Pide confirmación.
    • -R: Elimina directorio y su contenido.

Información del Sistema

  • chfn: Cambia nombre real de usuario y su información.

    • -f nombre_completo: Cambia el nombre real del usuario.
    • -r nº_oficina: Cambia el número de oficina del usuario.
    • -w tlf_oficina: Cambia el teléfono de la oficina del usuario.
    • -h tlf_casa: Cambia el teléfono personal del usuario.
  • cal: Muestra un calendario.

    • -3: Muestra mes anterior, actual y siguiente.
    • -m mes: Muestra el mes indicado.
    • -y año: Muestra el calendario del año especificado.
  • whoami: Muestra el usuario actual que está actualmente conectado.

  • who: Muestra usuarios conectados al sistema.

    • -a: Muestra toda la información para cada usuario.
    • -H: Muestra cabecera para cada columna de información.
    • --ips: Muestra las ips en lugar del nombre del equipo.
  • w: Muestra quienes están conectados y que están haciendo.

    • 1ª línea: muestra hora actual, tiempo que lleva el sistema ejecutándose, número usuarios conectados y medias de carga del sistema hace 1, 5 y 15 minutos.
    • Resto líneas: información para cada usuario: login, terminal, host desde el que se conectan, cuando se han conectado, cuanto llevan conectados, JCPU (tiempo utilizado por todos los procesos), PCPU (tiempo utilizado por el actual proceso) y el proceso que actualmente se está ejecutando.
    • 'usuario': mostrará información solo de dicho usuario.
  • last: Muestra listado de las últimas conexiones de usuarios.

    • -num: Presenta las num sesiones más recientes.
    • -a: Muestra el nombre del equipo en última columna.
    • -i: Muestra ips, en lugar de nombres de equipo.
  • df: Muestra cantidad de espacio de disco usada y disponible en sistemas de ficheros.

    • -h: Imprime en formato legible para los usuarios.
    • -T: Muestra el tipo de sistema de ficheros.
  • du: Cantidad de espacio de disco usada por los ficheros especificados.

    • -a: Muestra cantidades para todos los ficheros encontrados, no solo para los directorios.
    • -B size: utiliza bloques de tamaño size(kb…).
    • -s: Muestra espacio argumentos dados, no para sus subdirectorios.
    • -c: Muestra un total para todos los argumentos después de que éstos se hayan procesado.

Visualización y Manipulación de Contenido

  • cat: Concatena ficheros y los muestra en la salida estándar.

    • -b: Muestra numeradas las líneas no vacías.
    • -n: Muestra numeradas todas las líneas.
    • -s: Suprime las líneas vacías repetidas.
  • more: Filtro para ver ficheros.

    • q: para salir.
  • less: Similar a more.

    • b: Moverse hacia atrás.
    • Intro: Moverse hacia delante.
    • Barra espaciadora: Una pantalla adelante.
  • head: Muestra las primeras líneas de los ficheros (10).

    • -n k: Muestra las primeras k líneas.
    • -q: No muestra los nombres de los ficheros como cabecera.
    • -v: Muestra los nombres de los ficheros como cabecera.
  • tail: Muestra las últimas líneas de los ficheros (10).

    • --lines=k: Muestra las primeras k líneas. Si se utiliza +k se mostrarán las líneas del fichero desde la línea k.
    • -q: No muestra los nombres de los ficheros como cabecera.
    • -v: Muestra los nombres de los ficheros como cabecera.
  • nl: Numera líneas de un fichero.

    • -b style: style puede ser:
      • a: numera todas la líneas.
      • t: numera las líneas no vacías.
      • n: no numera las líneas.
  • echo: Escribe una cadena en la salida estándar (pantalla).

    echo [opciones]... [cadena]...

    • -n: No termina con una nueva línea.
    • -e: Habilita caracteres especiales.
      • \: Caracter \.
      • \a: pitido.
      • \n: Intro.
      • \t: tabulador.

Búsqueda y Filtrado

  • find: Busca objetos (ficheros o directorios) bajo un directorio dado. Los argumentos numéricos se pueden especificar como:

    • +N: mayor que N.
    • -N: menor que N.
    • N: exactamente N.

    Las expresiones posibles:

    • -cmin N: Fichero creado hace N minutos.
    • -cnewer fich: Fichero creado mas recientemente que fich.
    • -ctime fichero: creado hace N días.
    • -mmin N: Fichero modificado hace N minutos.
    • -mtime N: Fichero modificado hace N dias.
    • -newer fich: Fichero modificado más recientemente que fich.
    • -inum N: ficheros con i-nodo N.
    • -links N: Ficheros con N enlaces.
    • -name patrón: ficheros cuyo nombre sea patrón.
    • -perm modo: Fichero con exactamente los permisos de modo.
    • -size N: Fichero de tamaño N.
    • -user usuario: Fichero cuyo propietario sea usuario.

    Acciones:

    • -delete: Borra los ficheros encontrados.
    • -exec comando \;: Ejecuta para cada fichero comando. Para referirse en el comando al fichero encontrado se pone {}.
  • grep: Muestran líneas de ficheros que coincidan con un patrón.

    • -E: Interpreta el patrón como una expresión regular extendida.
    • -F: Interpreta el patrón como una lista de cadenas fijas, una en cada línea.
    • -f file: Obtiene el patrón del fichero file, uno por línea.
    • -i: No distingue entre mayúsculas y minúsculas.
    • -v: Muestra líneas que no coincidan con el patrón.
    • -c: Muestra el número de líneas que coinciden con el patrón.
    • -s: No muestra mensajes de error por fichero no encontrado o no se puede leer.
    • -n: Muestra cada línea precedida del número de línea.
    • -R: lee todos los ficheros bajo el especificado, recursivamente.
  • cut: Recorta trozos de cada línea de un fichero/s.

    • -c: Corta siguiendo caracteres. Después de -c va una lista de caracteres e intervalos de caracteres separados por comas.
    • -f: Corta siguiendo campos.
    • -d: Utiliza el delimitador que le especifiquemos a en lugar del tabulador como delimitador de campos.

    Los campos y los caracteres se numeran a partir de 1.

  • sort: Ordena ficheros.

    • -f: No distingue entre mayúsculas y minúsculas.
    • -n: Indica que la ordenación sea numérica.
    • -r: Invierte el orden.
    • -k POS1[,POS2]: ordena desde campo POS1 al POS2, empieza por 1.
    • -t sep: utiliza el carácter sep como separado de campos.
    • -u: Indica que no se quieren líneas repetidas.
  • comm: Compara dos ficheros ordenados línea a línea.

    • -1: No muestra columna1.
    • -2: No muestra columna2.
    • -3: No muestra columna3.

Otros Comandos

  • finger: Muestra información de cada usuario.

    • -s: Muestra login, nombre real…
    • -l: Muestra información completa de cada usuario.
  • exit: En una sesión, termina la sesión actual.

  • file: Determina el tipo de un archivo.

    • -L: Sigue enlaces simbólicos.
  • which: Localiza un comando. Devuelve la ruta donde se encuentra el comando.

  • touch: Cambia la fecha de acceso y/o modificación del archivo especificado.

    • -a: Cambia la fecha de acceso de archivo.
    • -c: No crea archivo.
    • -m: Cambia la fecha de modificación de archivo.
    • -r archivo_referencia: Utiliza la fecha correspondiente a archivo_referencia.
    • -t time: Utiliza la fecha especificada.
  • man: Para tener información relativa a un comando.

  • mesg: Controla el acceso de escritura en el terminal por otros usuarios.

    • y: Permite el acceso para escribir en nuestro terminal.
    • n: Deniega el acceso para escribir en nuestro terminal.
  • whereis: Localiza ficheros ejecutables, fuentes y manuales para un comando.

    • -b: Busca solo binarios (ejecutables).
    • -m: Busca solo secciones de manual.
    • -s: Busca solo código fuente.
  • ln: Crea enlaces entre ficheros.

    • -f: Borra los archivos destinos que ya existan.
    • -i: Pregunta antes de eliminar archivos destino.
    • -s: Crea un enlace simbólico.
  • paste: Concatena las líneas de dos o más ficheros.

    • -d car: utiliza el carácter car como delimitador.
  • split: Divide un fichero en partes. Por defecto en partes de 1000 líneas y crea ficheros de nombres xaa, xab, etc.

    • 'prefijo': especifica el nombre con el que empezarán los nombres de los trozos creados.
    • -a'num': utiliza una extensión de ‘num’ caracteres para los trozos creados.
    • -l'num': especifica el tamaño en líneas que tendrán los trozos creados.
  • wc: Muestra el número de bytes, palabras y líneas de un fichero/s.

    • -m: Cuenta los caracteres.
    • -w: Cuenta las palabras.
    • -l: Cuenta las líneas.
  • tr: Remplaza o borra caracteres.

    • -c: Toma como caracteres a cambiar el conjunto complementario de los caracteres nombrados.
    • -s: Quita las repeticiones de.
    • -d: indica que se borren los caracteres del primer parámetro.
  • umask: Establece la máscara de permisos. Los permisos con los que se crean los directorios y los archivos por defecto.

    Existen permisos base para la creación de archivos (666) y la de directorios (777). La operación para determinar los permisos de creación de archivos y de directorios es restar el valor que le hemos dado a umask a los permisos base.

    • umask sin parámetros, muestra el valor actual establecido para umask.
    • -S: Muestra la máscara en forma simbólica.
    • -p: Muestra la máscara para que pueda ser utilizada posteriormente.
  • bc: Entra en la calculadora de Linux.

    Para salir escribir halt.

    Ejemplo: echo 3+3 | bc

  • passwd: Cambia la contraseña del usuario.

  • write: Envía un mensaje a otro usuario.

    Al ejecutar write, en la consola del usuario al que estas escribiendo aparece un mensaje como:

    Mensaje de usuario@localhost.localdomain el tty2 a las 20:50 …

    Para terminar el mensaje se debe utilizar Ctrl-c.

    • 'ttyname': Especificar terminal por el que queremos escribir.

    Para impedir que un usuario se comunique mediante este comando utilizar mesg n.

  • wall: Manda un mensaje a todos los usuarios. wall envía un mensaje a todos los usuarios conectados al sistema si estos lo permiten. El mensaje puede darse como un argumento o si no especificamos el mensaje se utiliza la entrada estándar (el mensaje terminará con Ctrl-d).

  • chmod: Cambia los permisos de acceso de ficheros.

    • -R: Cambia recursivamente los permisos de directorios y sus contenidos.

    Dos maneras de especificar el modo:

    Modo simbólico: [ugoa][+-=][rwxugo]

    • [ugoa]: controlan a que usuarios se refieren los nuevos permisos del fichero cuyos permisos se van a cambiar.
      • u: usuario propietario.
      • g: usuarios distintos del propietario pero del mismo grupo que el del fichero.
      • o: resto de usuarios del sistema.
      • a: todos los usuarios. Equivale a ugo.
    • Si no se especifica nada se supone a.
    • +: los permisos se añadan a los ya existentes en cada fichero.
    • -: los permisos se quitan de los que ya había en cada fichero.
    • =: los permisos sean los únicos que el fichero va a tener.
    • [rwxugo]: seleccionan los nuevos permisos para los usuarios afectados:
      • r: lectura.
      • w: escritura o modificación.
      • x: ejecución (para ficheros) o permiso de paso (para directorios).
      • u: los permisos que el usuario propietario del fichero ya tiene.
      • g: los que otros usuarios del grupo del fichero ya tienen.
      • o: los que otros usuarios distintos de los anteriores ya tienen.

    Modo numérico: Compuesto de 1 a 4 dígitos octales (0-7).

    • El primer digito selecciona los atributos SUID(4), SGID(2) y STI(1).
    • El segundo selecciona los permisos para propietario del fichero.
    • El tercero, los permisos para grupo.
    • El cuarto selecciona los permisos para resto de usuarios.
  • join: Combina dos ficheros según un campo común. Los ficheros tienen sus campos ‘clave’ ordenados alfabéticamente. El campo de unión por defecto es el primero, delimitado por espacio en blanco.

    join [opciones]... fichero1 fichero2

    • -1 campo: En fichero1 se utiliza ‘campo’ como clave. ‘campo’ es un número.
    • -2 campo: En fichero2 se utiliza ‘campo’ como clave. ‘campo’ es un número.
    • -o: especifica campos a mostrar en la salida. Después de -o debemos poner dos números siguiendo el siguiente formato: M.N donde M valdrá 1 o 2 (fichero 1 o 2) y N indica el campo dentro del fichero que queremos mostrar. Para indicar que muestre el campo clave se puede utilizar el valor 0, en lugar de M.N.
    • -t car: utiliza el carácter ‘car’ como separador de campo.
  • cmp: Compara dos ficheros de cualquier tipo.

    • -s: No muestra nada si los ficheros son diferentes. Este valor puede ser:
      • 0: los ficheros son idénticos.
      • 1: los ficheros son distintos.

logout: Termina la sesión actual.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.