← Terminal y Línea de Comandos en Linux Bloque 1 · Primeros pasos en la consola · Tema 1 de 43

Tema 1

Terminal, consola y shell

Una ventana oscura, un cursor que parpadea y ninguna pista de qué hacer. Así se ve la herramienta que más usan quienes programan y administran sistemas. Antes de escribir el primer comando conviene saber qué es esa ventana, qué programa hay del otro lado y por qué, medio siglo después de inventada, sigue sin tener reemplazo.

1. Dos maneras de hablar con una computadora

Hay dos formas de pedirle algo a una computadora. La primera es la que todos conocemos: una interfaz gráfica, con ventanas, iconos y menús. Las opciones están a la vista, y se elige señalando con el ratón o con el dedo. La segunda es una interfaz de línea de comandos: no hay nada que señalar, y lo que se quiere se escribe.

La diferencia no es de aspecto, sino de naturaleza. Con una interfaz gráfica se elige entre lo que alguien previó; con una línea de comandos se dice lo que se quiere. Un ejemplo lo aclara. Supón que en una carpeta hay cientos de archivos y quieres saber cuántos son fotos en formato JPG.

Con una interfaz gráficaCon la línea de comandos
Qué hacesAbres la carpeta, ordenas por tipo, seleccionas el primer JPG, bajas hasta el último, seleccionas el rango y lees el número en la barra de estado.Escribes una línea.
Si mañana hay que repetirloRepites todos los pasos.Repites la línea, o pulsas la flecha hacia arriba.
Si hay que hacerlo en cincuenta carpetasCincuenta veces lo mismo.La misma línea, con un pequeño agregado.
Si quieres explicárselo a otra personaUna lista de instrucciones, o capturas de pantalla.Le envías la línea.
terminal
$ ls *.jpg | wc -l
312

Esa línea se lee así: «lista los archivos cuyo nombre termina en .jpg y cuenta cuántas líneas tiene esa lista». Todavía no importa entender cada símbolo; lo aprenderás en los temas 7, 9 y 24. Importa notar que la respuesta se obtuvo describiendo la tarea, no ejecutándola a mano.

Ninguna de las dos formas es mejor en todo. Para retocar una fotografía o explorar un programa desconocido, la interfaz gráfica gana con facilidad. Para las tareas que se repiten, que involucran muchos archivos o que deben poder explicarse y automatizarse, gana la línea de comandos. Y esas son, precisamente, las tareas de quien programa.

2. Qué es una línea de comandos

Una interfaz de línea de comandos (CLI, por Command-Line Interface) es una forma de usar una computadora en la que el usuario escribe órdenes como texto, una por línea, y recibe la respuesta también como texto.

El funcionamiento es un ciclo de cuatro pasos, que se repite mientras dure la sesión:

  1. El sistema muestra un indicador, una breve marca que significa «estoy listo, escribe». esperar
  2. Escribes una línea y pulsas Enter. Hasta ese momento no ocurre nada: puedes corregir lo que quieras. leer
  3. El sistema interpreta la línea y hace lo que pide. Casi siempre, ejecutar un programa. ejecutar
  4. Muestra el resultado, si lo hay, y vuelve al primer paso. mostrar

Es una conversación por turnos: una pregunta, una respuesta, y de nuevo el indicador. Esa simplicidad es la base de todo lo demás. Como las órdenes son texto, se pueden guardar en un archivo, enviar por correo, pegar en un documento o hacer que las escriba otro programa. Y como las respuestas también son texto, la respuesta de una orden puede servir de entrada para la siguiente.

3. Cuatro palabras que se confunden

«Abre una terminal», «escríbelo en la consola», «es un comando de la shell», «usa la línea de comandos». En la conversación diaria las cuatro expresiones se usan como si fueran lo mismo, y casi nunca hay problema en hacerlo. Pero designan cosas distintas, y distinguirlas evita muchas confusiones más adelante.

TérminoQué esSu trabajo
TerminalEn su origen, un aparato: un teclado y una pantalla conectados a una computadora. Hoy, por extensión, la ventana que lo imita.Mostrar texto y enviar lo que se teclea.
Emulador de terminalEl programa que dibuja esa ventana. Es el nombre exacto de lo que se abre en el escritorio.Lo mismo que el aparato, hecho por software.
ConsolaLa terminal principal de un equipo: la pantalla y el teclado conectados directamente a él. En Linux, también las pantallas de texto que existen fuera del entorno gráfico.El mismo que una terminal.
ShellUn programa que lee las líneas que escribes, las interpreta y ejecuta lo que piden.Entender los comandos. Es con quien realmente conversas.

La distinción que importa es la última. La terminal, en cualquiera de sus formas, es el medio: solo muestra letras y transmite teclas, y no sabe qué significa nada de lo que pasa por ella. La shell es el interlocutor: un programa que se ejecuta dentro de la terminal y entiende lo que escribes. La «línea de comandos», por último, no es un programa: es la forma de trabajar, y también el nombre de la línea que estás escribiendo.

El camino de un comando: lo que tecleas llega al emulador de terminal, que lo pasa a la shell; la shell lo interpreta y ejecuta un programa; todos se apoyan en el sistema operativo Tú teclado y pantalla Terminal muestra texto, envía teclas Shell interpreta la línea Comandos ls, cp, grep… hacen el trabajo Sistema operativo: ejecuta los programas y maneja archivos y dispositivos
La terminal transporta el texto; la shell lo entiende; los comandos hacen el trabajo. La respuesta recorre el mismo camino en sentido inverso.

Una consecuencia práctica de esta separación es que las piezas son intercambiables. Se puede cambiar de emulador de terminal —hay decenas, con distintos colores, pestañas y tipos de letra— y seguir usando la misma shell. Y se puede cambiar de shell sin cambiar de terminal. Cuando algo no se ve bien, el problema suele ser de la terminal; cuando un comando no se entiende, es asunto de la shell.

Cómo usaremos las palabras

En este curso, «terminal» y «consola» designan la ventana donde se escribe, sin más distinción, como en el uso corriente. «Shell» designa siempre el programa que interpreta los comandos, que en nuestro caso será Bash.

4. De dónde vienen los nombres

El vocabulario de la terminal es una colección de fósiles. Saber de dónde viene cada nombre hace que dejen de parecer arbitrarios.

En los años sesenta, una computadora ocupaba una sala y costaba una fortuna. Para que varias personas pudieran usarla a la vez se le conectaban teletipos: máquinas de escribir eléctricas, pensadas originalmente para enviar telegramas. Lo que el usuario tecleaba viajaba por un cable hasta la computadora, y la respuesta volvía y se imprimía, letra por letra, en un rollo de papel. Ese aparato, que estaba en el extremo del cable, era la terminal.

En los años setenta, el papel se reemplazó por una pantalla, y aparecieron las terminales de video. Seguían siendo aparatos sin inteligencia propia: mostraban los caracteres que recibían y enviaban los que se pulsaban. La más influyente fue la VT100, de 1978, cuyo modo de funcionar se convirtió en norma.

Cuando las computadoras personales tuvieron pantallas gráficas, ya no hizo falta un aparato aparte. Bastó un programa que dibujara una ventana y se comportara como una de aquellas terminales: un emulador de terminal. Por eso lo que abres hoy imita, con bastante fidelidad, a una máquina de 1978.

Lo que ves hoyDe dónde viene
El nombre tty, que aparece en comandos y archivos del sistemaDe teletype, el teletipo.
Las líneas de 80 caracteres de anchoDel ancho de las tarjetas perforadas, que heredaron las terminales.
Que el texto avance hacia arriba y no se pueda «volver» sobre lo escritoDel rollo de papel.
Que Ctrl+C interrumpa y Ctrl+D indique «no hay más»De los códigos de control que enviaban aquellos teclados.
El nombre shell, «caparazón»De la idea de una capa exterior que envuelve al núcleo del sistema operativo y lo hace accesible.

La historia explica también la propiedad más útil de todo el sistema. Como la terminal nació para funcionar a través de un cable, nunca dependió de estar junto a la computadora. Hoy el cable es Internet, y la misma interfaz permite manejar un servidor que está en otro continente exactamente igual que el equipo que tienes delante.

Si te interesa el contexto completo, el curso anterior de la ruta lo desarrolla en Historia y evolución de los sistemas operativos.

5. La shell: un programa como los demás

La shell no es una parte especial ni privilegiada del sistema operativo. Es un programa corriente, un archivo ejecutable como cualquier otro, cuyo trabajo consiste en leer líneas y ejecutar lo que piden.

Una shell, o intérprete de comandos, es un programa que muestra un indicador, lee una línea escrita por el usuario, la interpreta y ejecuta el comando correspondiente. Además es un lenguaje de programación, con variables, condiciones y bucles.

Que sea un programa común tiene una consecuencia: puede haber varias, y cada usuario puede elegir la suya. Estas son las que vas a encontrar nombradas:

ShellAñoQué conviene saber
sh, la shell de Bourne1979La shell clásica de Unix. Su lenguaje es la base común de casi todas las demás, y la que define el estándar POSIX.
bash1989La del proyecto GNU. Compatible con sh, con muchas comodidades añadidas. Es la shell por defecto en la mayoría de las distribuciones de Linux.
zsh1990Muy parecida a Bash, con más opciones de personalización. Es la shell por defecto de macOS.
dash1997Mínima y rápida. En Debian y Ubuntu es la que ejecuta los scripts del sistema, bajo el nombre /bin/sh.
fish2005Pensada para el uso interactivo: sugerencias y colores sin configurar nada. Su lenguaje no es compatible con el de sh.
PowerShell2006La shell de Windows. Trabaja con objetos y no con texto, de modo que sus comandos son otros.

Para saber qué shell estás usando y cuáles hay instaladas:

terminal
$ echo $SHELL                       # la shell asignada a tu usuario
/bin/bash
$ cat /etc/shells                   # las shells instaladas en el sistema
# /etc/shells: valid login shells
/bin/sh
/usr/bin/sh
/bin/bash
/usr/bin/bash
/usr/bin/dash
$ bash --version | head -1
GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)

Hay algo que conviene tener claro desde ahora, porque aclara mucho de lo que viene. La shell conoce por sí misma muy pocos comandos. La gran mayoría —ls, cp, grep, cat— son programas independientes, guardados como archivos en el disco, que la shell se limita a buscar y poner en marcha. Por eso esos comandos funcionan igual en Bash, en zsh o en cualquier otra shell: no pertenecen a ninguna. Lo vemos en detalle en el tema 3.

6. Por qué Bash

El nombre es un juego de palabras: Bourne Again SHell, «la shell de Bourne, otra vez», que en inglés suena igual que «renacida». Fue escrita en 1989 por Brian Fox para el proyecto GNU, como reemplazo libre de la shell original de Unix. De las opciones de la tabla, es la que usaremos en todo el curso, por cuatro razones:

RazónEn concreto
Está en todas partesViene instalada en prácticamente todas las distribuciones de Linux, en los servidores, en los contenedores y en los sistemas de integración continua. Al conectarte a una máquina desconocida, lo más probable es que te reciba Bash.
Es la referenciaLa documentación, los tutoriales y las respuestas que encontrarás en Internet asumen Bash, salvo que digan otra cosa.
Lo aprendido se trasladaCasi todo lo de este curso funciona sin cambios en zsh y en sh: los comandos son programas aparte, y la sintaxis básica es común.
Es el lenguaje del curso siguienteLo que aquí se escribe línea por línea, en Automatización con Scripts en Bash se guarda en archivos y se convierte en programas.

Si tu equipo usa otra shell —por ejemplo zsh, en una Mac— podrás seguir casi todo el curso sin cambios. Cuando algo sea propio de Bash, lo indicaremos.

7. Leer el indicador

Lo primero que muestra una terminal al abrirse es el indicador, o prompt: el texto que precede al cursor. No es un adorno. Es la shell diciendo «estoy lista», y de paso informando dónde estás y quién eres. En la mayoría de los sistemas tiene esta forma:

anatomía del indicador
ana@equipo:~/proyecto$ ls -l
│   │      │         │ └─ el comando que escribes
│   │      │         └─ $ si eres un usuario común; # si eres el administrador
│   │      └─ el directorio en que estás; ~ es tu directorio personal
│   └─ el nombre del equipo
└─ tu nombre de usuario

Cada parte responde una pregunta que conviene poder contestar antes de ejecutar cualquier cosa:

PartePreguntaPor qué importa
ana¿Quién soy?Lo que puedes hacer depende del usuario. Lo vemos en el bloque 4.
equipo¿En qué máquina estoy?Cuando trabajas con varias ventanas, alguna conectada a un servidor, es la única señal de dónde va a ejecutarse el comando.
~/proyecto¿En qué directorio?Casi todos los comandos actúan sobre el directorio actual. Lo vemos en el tema 6.
$ o #¿Con qué privilegios?Un # indica que eres el administrador, y que un error puede dañar el sistema entero.

El indicador se puede personalizar, y en algunos sistemas muestra otra cosa, pero estas cuatro piezas son las habituales. Acostumbrarse a mirarlo antes de pulsar Enter es el primer hábito de quien trabaja bien en la consola.

Convención del curso

En los ejemplos, el indicador se abrevia a un solo signo $, y no se escribe: marca dónde empieza lo que debes teclear. Las líneas sin ese signo son la respuesta del sistema. Lo que sigue a un # dentro de una línea es un comentario, que tampoco hace falta escribir.

8. Una primera conversación

Veamos unos turnos de esa conversación. Son comandos inofensivos, que solo preguntan cosas:

terminal
$ whoami                            # ¿con qué usuario estoy?
ana
$ date                              # ¿qué día y hora es?
lun 12 oct 2026 10:15:42 -03
$ pwd                               # ¿en qué directorio estoy?
/home/ana
$ echo "Hola, terminal"             # repite lo que le digo
Hola, terminal
$ uname -sr                         # ¿qué sistema operativo es?
Linux 6.8.0-45-generic
Si todavía no tienes una terminal a mano

No hace falta que ejecutes nada ahora: alcanza con leer. En el tema 2 preparamos el entorno paso a paso, y podrás volver a probar estos comandos.

Aun sin conocer los comandos, la sesión ya muestra las reglas del juego:

Hay dos reglas más, que desconciertan al principio y conviene conocer de antemano:

terminal
$ mkdir pruebas                     # crea un directorio…
$                                   # …y no dice nada
$ fecha
fecha: command not found
ReglaSignificado
El silencio es éxitoUn comando que hace lo que se le pidió y no tiene nada que informar no escribe nada. No hay un «operación completada». Si vuelve el indicador sin mensajes, todo salió bien.
Los errores se dicenCuando algo falla, el comando lo informa con un mensaje breve. command not found significa que la shell no encontró ningún programa con ese nombre: casi siempre, un error al teclear.

El silencio tiene una razón práctica. Los comandos están pensados para combinarse, y un comando que añadiera frases de cortesía a su salida ensuciaría la entrada del siguiente.

9. Qué ocurre al pulsar Enter

Vale la pena tener, desde el comienzo, una imagen de lo que pasa entre que pulsas Enter y aparece la respuesta. No hace falta más que esto:

  1. La shell separa la línea en palabras. La primera es el nombre del comando; las demás, lo que se le pasa. shell
  2. Busca un programa con ese nombre en una lista de directorios del sistema. Si no lo encuentra, responde command not found. shell
  3. Le pide al sistema operativo que lo ejecute, y se queda esperando. sistema operativo
  4. El programa hace su trabajo y escribe su resultado, que la terminal muestra. el comando
  5. El programa termina. La shell retoma el control y muestra el indicador otra vez. shell

Tres ideas de este recorrido reaparecerán en todo el curso. La shell es un intermediario: quien hace el trabajo es el programa. Mientras ese programa se ejecuta, la shell espera, y por eso no puedes escribir otro comando hasta que termine. Y lo que ves en pantalla lo escribe el programa, no la shell.

El detalle completo de este recorrido —procesos, descriptores, llamadas al sistema— es el tema La shell: qué ocurre cuando ejecutas un comando del curso anterior. Para este curso basta con la versión de cinco pasos.

10. Por qué sigue vigente

La línea de comandos tiene más de cincuenta años. Sobrevivió a las interfaces gráficas, a la web y a los teléfonos, y hoy se usa más que nunca. No es nostalgia: hay cosas que hace mejor que cualquier alternativa.

CualidadQué significa en la práctica
Se componeCada comando hace una cosa, y se los puede conectar para que la salida de uno sea la entrada de otro. Con unas decenas de comandos se resuelven tareas que nadie previó. Es la idea más importante del curso, y el contenido del bloque 5.
Se repiteUna tarea hecha una vez queda escrita. Se la puede ejecutar de nuevo mañana, exactamente igual, sin recordar una secuencia de clics.
Se automatizaUna serie de comandos guardada en un archivo es un programa. Lo que se hace a mano una vez puede hacerse solo todas las noches.
Se comunicaUn comando se puede copiar en un mensaje, en un manual o en una respuesta a un colega. Explicar el mismo procedimiento en una interfaz gráfica requiere capturas de pantalla, que quedan desactualizadas.
Funciona a distanciaSolo transporta texto, así que opera igual a través de una red lenta. Los servidores no tienen pantalla ni ratón: se manejan así.
Es precisaUn comando dice exactamente qué hacer y sobre qué. No depende de dónde esté una ventana ni de qué elemento quedó seleccionado.
Es livianaNo necesita entorno gráfico. Funciona en un equipo mínimo, en un contenedor o en un sistema a medio arrancar.
Es estableLos comandos de este curso funcionan desde hace décadas y seguirán haciéndolo. Las interfaces gráficas cambian con cada versión.

Sería deshonesto presentarlo como una ventaja sin costos. La línea de comandos tiene dos inconvenientes reales:

La conclusión razonable no es abandonar las interfaces gráficas, sino sumar la otra herramienta. La mayoría de quienes programan usan las dos todo el día: un editor gráfico para escribir código, y una terminal a su lado para todo lo demás.

11. Un ejemplo que lo resume

La composición se entiende mejor viéndola. Supón que el disco se está llenando y quieres saber qué ocupa más espacio en tu directorio. Con un administrador de archivos habría que abrir carpeta por carpeta. En la terminal:

terminal
$ du -sh * | sort -rh | head -5
1,2G	videos
310M	fotos
48M	proyecto
6,1M	manual.pdf
12K	notas.txt

La línea tiene tres comandos, unidos por el símbolo |, que se llama tubería y hace que la salida de uno pase al siguiente:

ParteQué haceQué entrega
du -sh *Calcula cuánto ocupa cada archivo y cada carpeta del directorio actual.Una lista, en el orden en que los encontró.
sort -rhOrdena las líneas que recibe por tamaño, de mayor a menor.La misma lista, ordenada.
head -5Deja pasar solo las cinco primeras líneas.Los cinco mayores.

Ninguno de los tres comandos fue escrito para esta tarea. du no sabe ordenar, sort no sabe nada de discos, y head no sabe qué son los números que deja pasar. Cada uno hace su parte, y el conjunto resuelve un problema que ninguno resuelve solo. Cambiando un número se obtienen los diez mayores; reemplazando el primer comando por otro, la misma idea ordena otra cosa.

No hace falta entender ahora cada opción: son el contenido de los temas 24, 26 y 38. Lo que sí conviene llevarse es la manera de pensar. En la terminal no se busca «el comando que hace lo que necesito». Se descompone la tarea en pasos simples, y se encadenan las herramientas que hacen cada paso.

12. Dónde vas a encontrar una terminal

Saber usar la consola no es una habilidad reservada a quien administra servidores. Aparece en casi todos los puntos del trabajo de desarrollo:

DóndePara qué
En tu propio equipoCompilar, ejecutar pruebas, instalar bibliotecas, usar un control de versiones. Casi todas las herramientas de desarrollo son, en origen, comandos.
En el editor de códigoLos editores actuales traen una terminal integrada, porque se la necesita constantemente.
En servidoresLos equipos donde se ejecutan los sitios y las aplicaciones no tienen entorno gráfico. Se administran conectándose a distancia.
En la nubeLas máquinas que se alquilan por hora se configuran y se revisan por línea de comandos.
En contenedoresUn contenedor es un sistema Linux mínimo. Para ver qué ocurre dentro, se abre una shell en él.
En procesos automáticosLos sistemas que compilan, prueban y despliegan el software ejecutan, paso a paso, comandos de shell.
En equipos pequeñosEnrutadores, placas de desarrollo y dispositivos embebidos suelen ofrecer solo una consola.
Cuando algo se rompeSi el entorno gráfico no arranca, la consola sigue ahí, y es con lo que se repara el sistema.

Y no solo en Linux. macOS es un sistema de la familia Unix, y su aplicación Terminal ofrece los mismos comandos. Windows incluye WSL, un sistema Linux completo que se ejecuta junto al propio Windows. Lo que aprendas aquí sirve en los tres.

13. Cómo se aprende, y qué puede salir mal

La terminal se aprende como un idioma: con un vocabulario pequeño al principio, y usándolo. Nadie memoriza todos los comandos ni todas sus opciones. Lo que se adquiere, con la práctica, es una estructura: saber qué clase de herramienta existe para cada clase de problema, y dónde consultar el detalle. Algunas recomendaciones:

Queda la pregunta que casi todos se hacen al empezar: ¿puedo romper algo? La respuesta honesta es que sí, pero mucho menos de lo que se teme, y con pocas precauciones el riesgo es mínimo.

Qué te protegeCómo
Los permisosComo usuario común no puedes modificar los archivos del sistema. Un error afecta, a lo sumo, a tus propios archivos.
La mayoría de los comandos solo consultanListar, mostrar, buscar y contar no cambian nada. Se pueden probar sin cuidado.
Un entorno de prácticaEn una máquina virtual o en WSL, lo peor que puede pasar es tener que reinstalar ese entorno. Lo preparamos en el tema 2.

Y estos son los hábitos que cubren el resto:

  1. Mira el indicador antes de pulsar Enter. Quién eres, en qué equipo y en qué directorio.
  2. Relee los comandos que borran o sobrescriben. En la terminal no hay papelera. Lo que se borra no vuelve.
  3. No ejecutes como administrador lo que no entiendes. El administrador no tiene las protecciones de la tabla. Vemos cuándo y cómo usar ese privilegio en el tema 19.
  4. No pegues comandos de Internet sin leerlos. Si no puedes explicar qué hace cada parte, todavía no es momento de ejecutarlo.
  5. Si un comando no termina, pulsa Ctrl+C. Lo interrumpe y devuelve el indicador. Es la salida de emergencia, y no daña nada.

14. El mapa del curso

Los 43 temas están ordenados para que cada bloque use lo aprendido en los anteriores. Cada uno responde una pregunta:

BloqueTemasLa pregunta que responde
1. Primeros pasos en la consola1–5¿Qué es esto, cómo se escribe un comando y dónde busco ayuda?
2. Navegar el sistema de archivos6–10¿Dónde estoy, qué hay aquí y cómo encuentro lo que busco?
3. Manipular archivos y directorios11–15¿Cómo creo, copio, muevo, borro, leo y edito?
4. Usuarios, grupos y permisos16–21¿Quién puede hacer qué, y cómo lo cambio?
5. Redirecciones y tuberías22–25¿Cómo conecto los comandos entre sí y con los archivos?
6. Filtrar y transformar texto26–31¿Cómo extraigo de un texto justo lo que necesito?
7. Procesos y entorno32–34¿Qué se está ejecutando, y cómo configuro mi shell?
8. Paquetes y estado del sistema35–40¿Cómo instalo programas y veo cómo está la máquina?
9. Integración y cierre41–43¿Cómo uso todo junto en una tarea real?

Los bloques 5 y 6 son el corazón del curso: ahí la terminal deja de ser una manera incómoda de hacer lo que ya hacías con el ratón y se convierte en una herramienta que hace cosas nuevas. Los cuatro primeros construyen lo necesario para llegar. En el tema 2 preparamos el entorno y abrimos la primera sesión.

15. Resumen

16. Preguntas de repaso

Intenta responder cada una antes de abrir la respuesta.

1. ¿Cuál es la diferencia de fondo entre una interfaz gráfica y una línea de comandos?

En una interfaz gráfica se elige entre las opciones que alguien previó y puso a la vista. En una línea de comandos se escribe lo que se quiere, con un lenguaje. La primera es más fácil de descubrir; la segunda permite expresar tareas que nadie previó, y repetirlas.

2. ¿Cuáles son los cuatro pasos del ciclo de una línea de comandos?

El sistema muestra un indicador; el usuario escribe una línea y pulsa Enter; el sistema la interpreta y la ejecuta; muestra el resultado y vuelve a mostrar el indicador.

3. ¿Qué diferencia hay entre la terminal y la shell?

La terminal es el medio: muestra texto en pantalla y envía lo que se teclea, sin entender su significado. La shell es un programa que se ejecuta dentro de la terminal, lee las líneas, las interpreta y pone en marcha los comandos.

4. ¿Por qué se llama «emulador de terminal» a la ventana donde se escriben comandos?

Porque las terminales eran, originalmente, aparatos físicos con teclado y pantalla conectados a una computadora. El programa actual imita por software el comportamiento de esos aparatos.

5. ¿De dónde viene el nombre tty?

De teletype, los teletipos: máquinas de escribir eléctricas que se usaban como terminales en los años sesenta.

6. Si cambias de Bash a zsh, ¿dejan de funcionar ls y grep?

No. Son programas independientes, guardados como archivos en el disco. La shell solo los busca y los ejecuta, de modo que funcionan igual con cualquiera.

7. Menciona dos razones para aprender Bash y no otra shell.

Es la shell por defecto en la mayoría de las distribuciones de Linux, en servidores y en contenedores, así que es la que se encuentra en casi cualquier máquina. Y es la referencia de la documentación y la base del curso siguiente. Además, lo aprendido se traslada casi sin cambios a otras shells.

8. ¿Qué informa el indicador ana@equipo:~/proyecto$?

Que el usuario es ana, que el equipo se llama equipo, que el directorio actual es proyecto, dentro de su directorio personal, y que es un usuario común y no el administrador.

9. Ejecutas un comando y el indicador vuelve a aparecer sin ningún mensaje. ¿Qué pasó?

El comando terminó correctamente y no tenía nada que informar. En la terminal, el silencio significa éxito.

10. ¿Qué significa command not found?

Que la shell no encontró ningún programa con el nombre escrito. Lo más frecuente es un error al teclear, incluida una mayúscula de más.

11. ¿Por qué no puedes escribir otro comando mientras el anterior se ejecuta?

Porque la shell, después de poner en marcha el programa, espera a que termine. Recién entonces retoma el control y muestra el indicador.

12. ¿Qué quiere decir que los comandos «se componen»?

Que se pueden conectar de modo que la salida de uno sea la entrada del siguiente. Combinando herramientas simples, que hacen una sola cosa cada una, se resuelven tareas para las que no existe un comando específico.

13. Menciona dos inconvenientes de la línea de comandos.

No muestra qué se puede hacer: hay que saber qué escribir, o saber buscarlo. Y no tiene papelera ni «deshacer»: lo que un comando borra no se recupera.

14. ¿Por qué un usuario común difícilmente dañe el sistema por un error?

Porque los permisos le impiden modificar los archivos del sistema. Un error suyo puede afectar a sus propios archivos, pero no al funcionamiento de la máquina.

Para practicar

  1. Averigua qué emulador de terminal trae tu sistema y cómo se abre. En Linux suele haber un atajo: Ctrl+Alt+T. En macOS se llama Terminal; en Windows, Terminal o PowerShell.
  2. Si ya tienes una terminal de Linux o de macOS, ejecuta los cinco comandos de la sección 8 y compara las respuestas con las del ejemplo.
  3. Mira tu indicador e identifica cada una de sus partes con la figura de la sección 7. ¿Muestra las cuatro?
  4. Ejecuta echo $SHELL. ¿Qué shell usas? Si no es Bash, anótalo: lo tendremos en cuenta en el tema 2.
  5. Escribe a propósito un comando que no exista y lee el mensaje. Luego escribe Date, con mayúscula. ¿Qué ocurre?
  6. Piensa en tres tareas que hagas con frecuencia en tu computadora y que impliquen repetir la misma acción muchas veces. Anótalas: al terminar el curso podrás resolverlas con una línea.
  7. Describe con palabras, paso a paso, cómo contarías en una interfaz gráfica cuántos archivos PDF hay en una carpeta. Compáralo con la línea de la sección 1.