comandos linux
3 enero, 2025

Principales comandos de Linux: una guía para principiantes

Por redacción puntocomunica
Share

Curso básico Linux. Unidad 2

En el primer tema o unidad, hemos visto qué es GNU/Linux y porqué es importante. En esta segunda entrega o unidad vamos a conocer los principales comandos de Linux

En el mundo de GNU/Linux, la línea de comandos es una herramienta fundamental que todo usuario debería dominar, no solo los administradores de sistema. Aunque muchas -la inmensa mayoría- distribuciones modernas ofrecen interfaces gráficas intuitivas (y en mi opinión, muchos mejores que la de Windows o MacOS) que facilitan la interacción con el sistema, el conocimiento de los comandos de Linux proporciona una ventaja significativa. Utilizar la línea de comandos permite a los usuarios realizar tareas de manera más eficiente, acceder a funciones avanzadas y automatizar procesos que, de otro modo, podrían ser tediosos o imposibles de ejecutar a través de una interfaz gráfica.

La línea de comandos no solo es más rápida, sino que también ofrece un mayor control sobre el sistema operativo. A través de comandos específicos, los usuarios pueden gestionar archivos, configurar el sistema, monitorear el rendimiento y realizar tareas administrativas con una precisión que a menudo no se puede lograr mediante clics en una interfaz gráfica. Además, el dominio de estos comandos es una habilidad valiosa en el ámbito profesional, especialmente en campos como la administración de sistemas, el desarrollo de software y la ciberseguridad.

En este segundo artículo del curso Linux básico, vamos a conocer algunos de los comandos más esenciales de Linux, que nos ayudarán a navegar y gestionar tu sistema de manera efectiva. Aprender a utilizar la línea de comandos no solo enriquecerá tu experiencia con GNU/Linux, sino que también te abrirá las puertas a un mundo de posibilidades en el ámbito de la informática. Pero antes, veamos cómo acceder a la terminal o consola de Linux.

Introducción a la terminal y su importancia

La terminal es una interfaz de línea de comandos que permite a los usuarios interactuar con el sistema operativo mediante comandos de texto. Aunque muchas distribuciones de GNU/Linux ofrecen entornos gráficos, la terminal es una herramienta poderosa que permite realizar tareas de manera más eficiente y con mayor control. La terminal es especialmente útil para:

  • Realizar tareas administrativas y de configuración
  • Automatizar procesos mediante scripts (lo veremos…)
  • Acceder a funciones avanzadas que pueden no estar disponibles en la interfaz gráfica

La terminal de Linux a menudo se llama «shell«. La shell es un programa que proporciona una interfaz de línea de comandos para interactuar con el sistema operativo. Permite a los usuarios ejecutar comandos, ejecutar scripts (que también lo veremos…) y gestionar archivos y procesos.

Existen diferentes tipos de shells en Linux, siendo las más comunes:

  • Bash (Bourne Again SHell): Es la shell más utilizada en muchas distribuciones de Linux. Ofrece características avanzadas como autocompletado, historial de comandos y scripting. Es la más utilizada
  • Zsh (Z Shell): Similar a Bash, pero con características adicionales y mejoras en la personalización
  • Fish (Friendly Interactive SHell): Conocida por su facilidad de uso y características interactivas, como autocompletado inteligente
  • Dash (Debian Almquist Shell): Una shell más ligera y rápida, utilizada principalmente para scripts de inicio en sistemas Debian

En resumen, la terminal es la interfaz donde se ejecuta la shell, y la shell es el programa que interpreta y ejecuta los comandos que el usuario ingresa.

Cómo acceder a la línea de comandos o terminal en Linux

Acceder a la línea de comandos en Linux es un proceso sencillo, y hay varias formas de hacerlo dependiendo de tu entorno de escritorio (que ya veremos qué es) y preferencias. Veamos los métodos más comunes:

Terminal en el Entorno de Escritorio:

  • La mayoría de las distribuciones de Linux incluyen una aplicación de terminal preinstalada. Puedes buscar «Terminal» en el menú de aplicaciones de tu entorno de escritorio (como GNOME, KDE, XFCE, MATE, etc.)
  • Una vez que encuentres la aplicación, haz clic en ella para abrir una ventana de terminal. Aquí podrás ingresar comandos directamente

Atajos de Teclado:

  • En muchas distribuciones, puedes abrir la terminal rápidamente utilizando un atajo de teclado. Por ejemplo, en Ubuntu y otras distribuciones basadas en GNOME, puedes presionar Ctrl + Alt + T para abrir una nueva ventana de terminal

Acceso a la Consola Virtual:

  • Si necesitas acceder a la línea de comandos sin un entorno gráfico (por ejemplo, en un servidor o si la interfaz gráfica no está disponible), puedes cambiar a una consola virtual. Esto se hace presionando Ctrl + Alt + F1 a F6 (dependiendo de la configuración de tu sistema). Para volver a la interfaz gráfica, generalmente puedes presionar Ctrl + Alt + F7 o F1, dependiendo de la distribución

Uso de SSH (Secure Shell):

  • Si deseas acceder a la línea de comandos de un sistema remoto, puedes utilizar SSH. Abre una terminal y escribe el siguiente comando, reemplazando usuario y direccion_ip con el nombre de usuario y la dirección IP del sistema remoto: ssh usuario@direccion_ip
  • Esto te pedirá la contraseña del usuario remoto y, una vez ingresada, tendrás acceso a la línea de comandos del sistema remoto

Windows Subsystem for Linux (WSL):

  • Si eres usuario de Windows, puedes instalar WSL para acceder a un entorno de Linux directamente desde tu sistema operativo. Una vez instalado, puedes abrir la aplicación de WSL desde el menú de inicio, lo que te llevará a una terminal de Linux

Una vez que hayas abierto la terminal, estarás listo para comenzar a explorar y utilizar los comandos de Linux. La línea de comandos puede parecer intimidante al principio, pero con práctica y paciencia, te convertirás en un usuario competente y podrás aprovechar al máximo las capacidades de GNU/Linux. Ahora sí que vamos a conocer algunos de los principales comandos de Linux.

Navegación por el Sistema de Archivos

  • ls: Listar archivos y directorios
    Uso básico:
    ls
    Este comando lista todos los archivos y directorios en el directorio actual

    Uso con opción -l:
    ls -l
    Este comando muestra una lista detallada de archivos y directorios, incluyendo permisos, número de enlaces, propietario, grupo, tamaño y fecha de modificación

    Uso con opción -a:
    ls -a
    Este comando lista todos los archivos, incluyendo los ocultos (que comienzan con un punto .)
  • cd: Cambiar de directorio
    Ejemplo: Cambiar al directorio «Documentos»:
    cd Documentos
    Este comando te lleva al directorio «Documentos» dentro del directorio actual

    Volver al directorio anterior:
    cd ..
    Este comando te lleva al directorio padre del directorio actual

    Cambiar a un directorio específico usando una ruta absoluta:
    cd /home/usuario/Descargas
    Este comando te lleva directamente al directorio «Descargas» del usuario especificado, utilizando una ruta absoluta
  • exit: Salir de la terminal
  • clear: Limpiar la terminal
  • pwd: Mostrar el directorio actual
    Uso básico:
    pwd
    Este comando muestra la ruta completa del directorio en el que te encuentras actualmente. Por ejemplo, podría devolver algo como: /home/usuario/Documentos

Manipulación de Archivos y Directorios

  • cp: Copiar Archivos y Directorios
    Ejemplo para copiar un archivo:
    cp archivo.txt copia_archivo.txt
    Este comando copia archivo.txt y crea una nueva copia llamada copia_archivo.txt en el mismo directorio

    Ejemplo para copiar un directorio:
    cp -r directorio_original/ copia_directorio/
    Aquí, el flag -r (recursivo) se utiliza para copiar el directorio directorio_original y todo su contenido a un nuevo directorio llamado copia_directorio
  • mv: Mover o Renombrar Archivos y Directorios
    Ejemplo para mover un archivo:
    mv archivo.txt /ruta/a/nuevo_directorio/
    Este comando mueve archivo.txt al directorio especificado. Si el directorio no existe, se mostrará un error

    Ejemplo para renombrar un archivo:
    mv archivo_viejo.txt archivo_nuevo.txt
    Aquí, archivo_viejo.txt se renombra a archivo_nuevo.txt en el mismo directorio
  • rm: Eliminar Archivos y Directorios
    Ejemplo para eliminar un archivo:
    rm archivo.txt
    Este comando elimina archivo.txt del sistema. Ten cuidado, ya que no se puede recuperar fácilmente

    Ejemplo para eliminar un directorio y su contenido:
    rm -r directorio_a_eliminar/
    El flag -r se utiliza para eliminar el directorio directorio_a_eliminar y todo su contenido de forma recursiva
  • mkdir: Crear un Nuevo Directorio
    Ejemplo para crear un nuevo directorio:
    mkdir nuevo_directorio
    Este comando crea un nuevo directorio llamado nuevo_directorio en el directorio actual

    Ejemplo para crear varios directorios a la vez:
    mkdir directorio1 directorio2 directorio3
    Aquí, se crean tres nuevos directorios: directorio1, directorio2 y directorio3 en el directorio actual
  • rmdir: Eliminar un Directorio Vacío
    Ejemplo para eliminar un directorio vacío:
    rmdir directorio_vacio
    Este comando elimina el directorio llamado directorio_vacio, pero solo si está vacío. Si contiene archivos o subdirectorios, se mostrará un error
  • mv: Mover o Renombrar Archivos y Directorios
    Ejemplo para mover un archivo:
    mv archivo.txt /ruta/a/nuevo_directorio/
    Este comando mueve archivo.txt al directorio especificado. Si el directorio no existe, se mostrará un error

    Ejemplo para renombrar un archivo:
    mv archivo_viejo.txt archivo_nuevo.txt
    Aquí, archivo_viejo.txt se renombra a archivo_nuevo.txt en el mismo directorio

    Ejemplo para mover y renombrar un archivo:
    mv archivo.txt /ruta/a/nuevo_directorio/nuevo_nombre.txt
    Este comando mueve archivo.txt al directorio especificado y lo renombra a nuevo_nombre.txt
  • rm: Eliminar Archivos y Directorios
    Ejemplo para eliminar un archivo:
    rm archivo.txt
    Este comando elimina archivo.txt del sistema. Ten cuidado, ya que no se puede recuperar fácilmente

    Ejemplo para eliminar varios archivos a la vez:
    rm archivo1.txt archivo2.txt archivo3.txt
    Aquí, se eliminan archivo1.txt, archivo2.txt y archivo3.txt en un solo comando

    Ejemplo para eliminar un directorio y su contenido:
    rm -r directorio_a_eliminar/
    El flag -r se utiliza para eliminar el directorio directorio_a_eliminar y todo su contenido de forma recursiva

    NOTA: Un «flag» también se conoce como «opciones» o «atributos» en el contexto de los comandos de la línea de comandos en Linux. Estos flags o atributos son modificadores que se pueden agregar a un comando para cambiar su comportamiento o especificar cómo debe ejecutarse. Los veremos más adelante…
  • mkdir: Crear un Nuevo Directorio
    Ejemplo para crear un nuevo directorio:
    mkdir nuevo_directorio
    Este comando crea un nuevo directorio llamado nuevo_directorio en el directorio actual

    Ejemplo para crear varios directorios a la vez:
    mkdir directorio1 directorio2 directorio3
    Aquí, se crean tres nuevos directorios: directorio1, directorio2 y directorio3 en el directorio actual

    Ejemplo para crear un directorio con subdirectorios:
    mkdir -p directorio_principal/subdirectorio1/subdirectorio2

    El flag -p permite crear el directorio directorio_principal y sus subdirectorios subdirectorio1 y subdirectorio2 en un solo comando, incluso si los directorios padres no existen
  • rmdir: Eliminar un Directorio Vacío
    Ejemplo para eliminar un directorio vacío:
    rmdir directorio_vacio
    Este comando elimina el directorio llamado directorio_vacio, pero solo si está vacío. Si contiene archivos o subdirectorios, se mostrará un error

    Ejemplo para eliminar varios directorios vacíos a la vez:
    rmdir directorio1 directorio2
    Aquí, se eliminan directorio1 y directorio2, siempre que ambos estén vacíos.

Visualización y Edición de Archivos

  • cat: Mostrar el contenido de un archivo
    Ejemplo:
    cat archivo.txt
    Este comando muestra el contenido de archivo.txt en la terminal
  • less: Ver el contenido de un archivo de manera paginada
    Ejemplo:
    less archivo.txt
    Este comando permite ver el contenido de archivo.txt de manera paginada. Puedes desplazarte hacia arriba y hacia abajo usando las teclas de flecha o Page Up y Page Down. Para salir, presiona q.
  • nano o vim: Editores de texto en la línea de comandos
    Ejemplo con nano:
    nano archivo.txt
    Este comando abre archivo.txt en el editor de texto nano, donde puedes editar el contenido. Para guardar y salir, presiona Ctrl + X, luego Y para confirmar y Enter.

    Ejemplo con vim:
    vim archivo.txt
    Este comando abre archivo.txt en el editor de texto vim. Para editar, presiona i para entrar en modo de inserción. Para guardar y salir, presiona Esc, luego escribe :wq y presiona Enter.

Gestión de Permisos

  • chmod: Cambiar permisos de archivos y directorios
    Ejemplo para dar permisos de lectura, escritura y ejecución al propietario:
    chmod 700 archivo.txt
    Este comando establece los permisos de archivo.txt para que solo el propietario tenga acceso total (lectura, escritura y ejecución)

    Ejemplo para dar permisos de lectura a todos:
    chmod a+r archivo.txt
    Este comando añade permisos de lectura para todos los usuarios
  • chown: Cambiar el propietario de un archivo o directorio
    Ejemplo:
    chown nuevo_usuario:nuevo_grupo archivo.txt
    Este comando cambia el propietario de archivo.txt a nuevo_usuario y el grupo a nuevo_grupo

Comandos de Búsqueda

  • find: Buscar archivos y directorios
    Ejemplo para buscar un archivo por nombre:
    find /ruta/del/directorio -name "archivo.txt"
    Este comando busca archivo.txt en el directorio especificado y sus subdirectorios.
  • grep: Buscar texto dentro de archivos
    Ejemplo:
    grep "texto_a_buscar" archivo.txt
    Este comando busca la cadena «texto_a_buscar» dentro de archivo.txt y muestra las líneas que contienen esa cadena

Información del Sistema

  • top: Mostrar procesos en tiempo real
    Ejemplo:
    top
    Este comando muestra una lista de los procesos en ejecución en tiempo real, junto con información sobre el uso de CPU y memoria. Para salir, presiona q
  • df: Mostrar el uso del espacio en disco
    Ejemplo:
    df -h
    Este comando muestra el uso del espacio en disco de todos los sistemas de archivos montados en un formato legible (human-readable)
  • free: Mostrar el uso de memoria
    Ejemplo:
    free -h
    Este comando muestra la cantidad de memoria libre y utilizada en el sistema en un formato legible

Comandos de Red

  • ping: Comprobar la conectividad de red
    Ejemplo:
    ping google.com
    Este comando envía paquetes de datos a google.com para comprobar la conectividad de red. Para detener el comando, presiona Ctrl + C
  • ifconfig o ip: Mostrar información de la red
    Ejemplo con ifconfig:
    ifconfig
    Este comando muestra la configuración de las interfaces de red en el sistema

    Ejemplo con ip:
    ip addr show
    Este comando también muestra la configuración de las interfaces de red, y es el método más moderno y recomendado

Hasta aquí hemos visto con ejemplos los principales comandos en Linux. Pero la mejor forma de aprender estos comandos básicos es la de siempre: practicar los en la terminal. Puedes sugerir que experimenten con diferentes opciones y combinaciones para familiarizarse con el entorno de Linux.

Recursos Adicionales

Para aquellos que queráis profundizar en el aprendizaje de los comandos de Linux y mejorar vuestras habilidades en la línea de comandos, aquí hay una lista de recursos útiles:

Documentación Oficial:

  • GNU Project: https://www.gnu.org/ – Encuentra documentación y recursos sobre el software GNU
  • Linux Documentation Project: http://www.tldp.org/ – Un repositorio de guías y manuales sobre diversos aspectos de Linux

Tutoriales en Línea:

Foros y Comunidades:

  • Stack Overflow: https://stackoverflow.com/ – Un excelente lugar para hacer preguntas y encontrar respuestas sobre problemas específicos de programación y administración de sistemas
  • LinuxQuestions.org: https://www.linuxquestions.org/ – Un foro dedicado a usuarios de GNU/Linux donde se pueden hacer preguntas y compartir conocimientos

Canales de YouTube:

Libros Recomendados:

  • «The Linux Command Line» de William Shotts: Un libro accesible para principiantes que cubre los fundamentos de la línea de comandos de Linux
  • «How Linux Works» de Brian Ward: Un libro que explica cómo funciona el sistema operativo Linux en un nivel más profundo

Práctica en Entornos Virtuales:

  • VirtualBox: https://www.virtualbox.org/ – Un software de virtualización que permite crear máquinas virtuales para practicar Linux sin afectar tu sistema operativo principal.
  • WSL (Windows Subsystem for Linux): Si eres usuario de Windows, puedes instalar WSL para ejecutar un entorno de Linux directamente en tu máquina.

Recursos online para probar comandos de Linux

Existen varios recursos en línea donde puedes probar comandos de Linux sin necesidad de instalar nada en tu computadora. Aquí te dejo algunas opciones:

  1. JSLinux: jslinux.com – Es un emulador de Linux que puedes usar directamente en tu navegador. Te permite ejecutar una versión básica de Linux y probar comandos
  2. Webminal: webminal.org – Es un terminal en línea que te permite practicar comandos de Linux.Necesitas registrarte, pero es gratuito y ofrece un entorno de aprendizaje interactivo
  3. Repl.it: replit.com – Aunque es más conocido por su soporte a múltiples lenguajes de programación, también puedes crear un entorno de Linux y ejecutar comandos en su terminal
  4. TutorialsPoint Linux Terminal: tutorialspoint.com – Ofrece un terminal en línea donde puedes practicar comandos de Unix/Linux
  5. Copy.sh: copy.sh – Es un emulador de sistemas operativos que incluye varias distribuciones de Linux. Puedes interactuar con el sistema y probar comandos

Estos recursos te ayudarán a fortalecer tus conocimientos y habilidades en el uso de la línea de comandos de Linux. La práctica constante y la exploración de estos materiales te permitirán convertirte en un usuario más competente y seguro en el entorno de GNU/Linux.

Ver más comandos en el Apéndice

Volver al índice del curso