StudyToCert

RHCSA / Lecciones · English

Red Hat Certified System Administrator EX200 (RHEL 10)

Usar el prompt del shell y ejecutar comandos con la sintaxis correcta

Casi todo en el examen RHCSA ocurre en un prompt del shell. El shell (en Red Hat Enterprise Linux, RHEL, es Bash, el Bourne Again SHell) lee la línea que escribes, la divide en palabras, expande los caracteres especiales y luego ejecuta un programa. Saber exactamente cómo lo hace es lo que separa un comando que funciona de uno que, en silencio, hace lo incorrecto en un sistema real del examen.

El propio prompt te dice quién eres y dónde estás. Un prompt típico de RHEL se ve así: [student@servera ~]$: el nombre de usuario, el nombre corto del host, el directorio actual (~ significa tu directorio personal) y un carácter final que es $ para un usuario normal y # para root. Antes de cambiar algo en el examen, echa un vistazo al prompt para saber en qué máquina y con qué cuenta estás.

Una línea de comandos tiene una estructura sencilla: el nombre del comando, luego las opciones y después los argumentos. Las opciones cambian el comportamiento del comando y normalmente empiezan con un guion. Las opciones cortas son de una sola letra y se pueden agrupar, así que ls -l -a -h es lo mismo que ls -lah. Las opciones largas empiezan con dos guiones y se escriben completas, como ls --all. Los argumentos son aquello sobre lo que actúa el comando, normalmente nombres de archivo. Los espacios separan palabras, por eso un nombre de archivo que contiene un espacio debe ir entre comillas ('my file') o escaparse con una barra invertida.

ls -lah /etc/ssh          # comando, opciones agrupadas, un argumento
cp --verbose a.txt b.txt   # opción larga, dos argumentos
command1 ; command2        # ejecutar uno después del otro
sleep 300 &                # ejecutar en segundo plano

El shell expande varias cosas antes de que el programa las vea. Los globs como *.conf se convierten en la lista de nombres de archivo que coinciden, ~ se convierte en tu directorio personal, $HOME se convierte en el valor de una variable y $(date) se convierte en la salida de un comando. Como es el shell quien hace esto, rm *.log y rm a.log b.log son idénticos desde el punto de vista de rm. Usa echo delante de un comando riesgoso (echo rm *.log) para ver de antemano qué producirá la expansión.

Bash también te ahorra esfuerzo. Tab completa nombres de comandos y de archivos y muestra las opciones si lo presionas dos veces, lo que evita errores de escritura en rutas largas. La flecha arriba y history recuperan comandos anteriores, Ctrl+R los busca y Ctrl+C interrumpe un comando en ejecución. type te dice si una palabra es un comando interno (built-in), un alias o un programa, y which muestra la ruta de un programa encontrado a través de tu variable PATH.

Por último, recuerda que Linux distingue entre mayúsculas y minúsculas: File.txt y file.txt son archivos distintos, y -R y -r pueden ser opciones diferentes. Cuando un comando falla, lee el mensaje de error; normalmente nombra la palabra que no pudo entender.

Términos clave

Shell (intérprete de comandos)
El programa (Bash en RHEL) que lee tus líneas de comandos, las expande e inicia los programas solicitados.
Option (opción)
Una palabra que empieza con - o -- y que cambia el comportamiento de un comando, como -l o --all.
Argument (argumento)
Una palabra después de las opciones sobre la que actúa el comando, normalmente un nombre de archivo o directorio.
Glob (comodín)
Un patrón con comodines como *.conf o file?.txt que el shell expande en los nombres de archivo que coinciden.
Tab completion (autocompletado con Tab)
Presionar Tab para que Bash termine un nombre de comando o de ruta, reduciendo los errores de escritura.
Ejemplo real

Una tarea del examen te pide listar todos los archivos de /etc/ssh, incluidos los ocultos, con tamaños legibles para humanos. Revisas el prompt para confirmar que estás en servera, escribes ls -lah /etc/ssh y usas Tab para completar la ruta, de modo que un error de escritura no te lleve al directorio equivocado.

Consejo para el examen: Es el shell, no el comando, quien expande los globs, las variables y ~. Si un resultado te sorprende, pon echo delante del comando para ver exactamente qué argumentos recibirá el programa.

Comprueba lo que sabes

¿Qué suele indicar el # al final de un prompt?

Que has iniciado sesión como root; el prompt de un usuario normal termina en $.

¿Son diferentes ls -la y ls -l -a?

No. Las opciones cortas se pueden agrupar detrás de un solo guion, así que ambos dan un listado largo que incluye los archivos ocultos.

¿Cómo le pasas a un comando un archivo llamado my report.txt?

Ponlo entre comillas ('my report.txt') o escapa el espacio (my\ report.txt) para que el shell lo trate como un solo argumento.

Estudia RHCSA gratis
Plan semana a semana con lecciones, cuestionarios, simulaciones de examen y práctica, en español.
Abrir el plan de estudio