CodeGym /Cursos /Docker SELF /Fundamentos de la línea de comandos (CLI): estructura de ...

Fundamentos de la línea de comandos (CLI): estructura de comandos, trabajo con la terminal

Docker SELF
Nivel 1 , Lección 4
Disponible

Fundamentos de la línea de comandos (CLI): estructura de comandos, trabajo con la terminal

1. Introducción a la línea de comandos de Linux

¿Por qué la línea de comandos?

Antes de profundizar, vamos a responder a la gran pregunta: ¿para qué necesitamos la línea de comandos si en Linux hay entornos gráficos bonitos? La línea de comandos (Command Line Interface, CLI) es una herramienta para profesionales, administradores de sistemas y programadores. Con CLI puedes realizar tareas más rápido, automatizar acciones rutinarias e incluso hacer magia tras bastidores sin apartar las manos del teclado. CLI es, básicamente, un superpoder en el mundo de Linux que te permitirá ser eficiente.

Terminales, Shells y CLI

Antes de escribir tu primer comando, vamos a entender qué hay detrás de la magia del terminal.

1. Terminal

El terminal es un programa que proporciona acceso a la línea de comandos. Te permite interactuar con el sistema operativo a través de texto. En Linux están disponibles los siguientes terminales populares:

  • GNOME Terminal (en GNOME).
  • Konsole (en KDE).
  • xterm (legendario, pero viejito).
  • Windows Terminal para WSL

2. Shell

El shell es un software que interpreta comandos y los transmite al sistema operativo. En Linux, el shell más popular es Bash (Bourne Again Shell). Alternativas:

  • Zsh: un shell avanzado para entusiastas de la personalización.
  • Sh: shell Unix clásico (minimalista).

Empezaremos trabajando en Bash, ya que es el estándar.


2. Estructura de un comando

Un comando en la CLI tiene un formato estricto, y entenderlo es la clave del éxito.

Formato básico del comando

Cada comando consta de tres partes:

[Comando] [Opciones] [Argumentos]
  • Comando: lo que le estás pidiendo al sistema que haga. Por ejemplo, ls (mostrar la lista de archivos).
  • Opciones (o flags): modifican el comportamiento del comando. Por ejemplo, -l (lista detallada para el comando ls).
  • Argumentos: datos adicionales que le pasas al comando, como la ruta de un archivo o carpeta.

Ejemplo:

ls -l /home

Aquí:

  • ls — el comando;
  • -l — la opción para mostrar una lista detallada;
  • /home — el argumento (la carpeta cuyo contenido queremos ver).

3. Navegación y comandos básicos de CLI

Empecemos con los comandos más simples que demuestran la interacción con el sistema.

1. ¿Quién soy? ¿Dónde estoy?

  • whoami: muestra el usuario actual.

    $ whoami
    student
    
  • pwd (print working directory): muestra el directorio actual.

    $ pwd
    /home/student
    
¡Importante!

En la mayoría de shells Unix/Linux, el símbolo $ se utiliza como un prompt en la terminal. Indica que el sistema está listo para recibir un comando. El símbolo $ se usa para separar los comandos que el usuario debe introducir del resultado de esos comandos.

2. Vamos a echar un vistazo alrededor

  • ls (list): muestra el contenido del directorio actual.

      $ ls
      Documents  Downloads  Music
    

    Opciones útiles:

    • -l: información detallada sobre archivos y carpetas.
    • -a: muestra archivos ocultos.

Ejemplo:

ls -la

3. Moviéndonos entre carpetas

  • cd (change directory): permite moverse entre directorios.
    $ cd /home
    $ pwd
    /home
    

4. Atajos del teclado para el terminal

La línea de comandos ofrece varios atajos útiles de teclado:

  • Ctrl+C: interrumpe la ejecución del comando actual.
  • Ctrl+D: finaliza la sesión actual.
  • Tab: autocompleta un archivo o carpeta. Función muy útil - úsala con frecuencia.
  • Arrow Up/Down: navega entre los últimos comandos.

Nota práctica: si quieres sentirte como un hacker, presionar Ctrl+C mientras desvías la mirada hacia otro lado es el estilo perfecto.


5. Ejemplos de comandos simples: ¡empecemos a crear!

Vamos a crear una tarea práctica sencilla y resolverla utilizando CLI.

Tarea:

  1. Averiguar el usuario actual.
  2. Ir al directorio principal (home).
  3. Ver qué hay en ese directorio.
  4. Crear una carpeta test_folder.
  5. Verificar si la carpeta fue creada.

Solución:


# Averiguamos el usuario actual
whoami

# Vamos al directorio principal
cd ~

# Miramos qué hay en el directorio
ls

# Creamos una carpeta
mkdir test_folder

# Verificamos si existe
ls -l

Explicación de los pasos:

  1. Con el comando whoami verificamos bajo qué usuario estamos trabajando.
  2. Con cd ~ nos movemos al directorio principal. El símbolo ~ siempre apunta a la carpeta principal del usuario actual.
  3. El comando ls mostró el contenido del directorio antes y después de crear la carpeta.

6. Errores típicos y cómo evitarlos

Trabajar con la línea de comandos siempre viene con errores, especialmente al principio. Aquí tienes algunas situaciones comunes:

  • Espacios en los nombres de archivos/carpetas. Si trabajas con nombres que contienen espacios, asegúrate de encerrarlos entre comillas. Por ejemplo:

    mkdir "My Folder"
    
  • Rutas incorrectas. Si ves el mensaje No such file or directory, significa que has indicado una ruta que no existe.

    cd /unknown/path
    
  • Errores tipográficos en los comandos. El terminal no tolera errores: lss en lugar de ls es un comando diferente (o puede que ni siquiera exista).


7. ¿Para qué sirve todo esto?

CLI es una herramienta poderosa para gestionar cualquier sistema. Se usa en todas partes: desde configurar servidores hasta escribir scripts automatizados. En entrevistas a menudo preguntan sobre comandos para realizar tareas a través de la terminal, así que el conocimiento que estás adquiriendo ahora encontrará su lugar en tu arsenal.

Además, CLI te ayudará a dominar el trabajo con sistemas de control de versiones como git, desarrollar aplicaciones del lado del servidor y escribir scripts para automatización. Todo comienza entendiendo fundamentos como la estructura de los comandos, navegar entre carpetas y combinaciones básicas de teclas.

Un poco de práctica

Prueba el siguiente desafío:

  1. Descubrir la fecha actual.
  2. Crear una carpeta llamada logs.
  3. Dentro de ella, crear un archivo llamado log.txt con la anotación de la fecha actual.
Ejemplo de solución

# Descubrimos la fecha actual
date

# Creamos la carpeta logs
mkdir logs

# Grabamos la fecha en el archivo log.txt
date > logs/log.txt

# Verificamos el contenido del archivo
cat logs/log.txt

¡Ahora estás listo para el siguiente nivel: trabajar con el sistema de archivos y su contenido!

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION