Ejercicios prácticos de comandos y scripts en Bash: EXAMEN1 y EXAMEN2

Informática y TelecomunicacionesActualizado el 2,13 KB

Resumen

El documento recoge ejercicios prácticos de la terminal Linux con comandos básicos como ls, grep, rm y las redirecciones de errores, y explica cómo identificar directorios en un listado. Además, incluye dos procedimientos de script en Bash: EXAMEN1, que comprueba la existencia del directorio SOM y lo crea si no existe, y EXAMEN2, que valida el número de argumentos y gestiona la adición de un valor al fichero claves.txt.

Puntos clave

  • ls -a .. muestra los ficheros ocultos del directorio padre del actual.
  • En un listado con ll, una 'd' al inicio de la línea indica que es un directorio.
  • ls -lR | more lista el contenido de forma detallada y recursiva, paginando la salida.
  • rm AW 2> error intenta eliminar 'AW' y redirige los errores al archivo 'error'.
  • grep 'hola' archivo.txt muestra las líneas del archivo que contienen la palabra 'hola'.
  • EXAMEN1 usa 'if [ ! -d "$HOME/SOM" ]' para comprobar si el directorio existe y crearlo en caso contrario.
  • EXAMEN2 comprueba con '$# -ne 2' que se pasan exactamente dos argumentos y muestra sus valores.

Ponte a prueba

Comandos Básicos de Terminal

  • Visualiza los ficheros ocultos del directorio padre del actual: ls -a ..
  • ¿Cómo identificar el tipo de archivo con el comando ll? Si aparece 'd' al comienzo, se trata de un directorio.
  • ¿Qué hace el comando ls -lR | more? Lista el contenido de forma detallada y recursiva, paginando la salida.
  • ¿Qué hace el comando rm AW 2> error? Intenta eliminar el archivo 'AW' y redirige los posibles errores de ejecución al archivo 'error'.
  • ¿Cómo mostrar todas las líneas de un archivo de texto que contengan la palabra 'hola'? grep 'hola' archivo.txt

Automatización con Scripts en Bash

Procedimiento EXAMEN1: Verificación de Directorios

Crea un procedimiento llamado EXAMEN1 que verifique si existe el directorio SOM en la carpeta actual. Si existe, la salida será: “Directorio ya existe por eso no lo creo”. Si no existe, la salida será: “Directorio no existía. Lo he tenido que crear yo”.

vi inicializar

if [ ! -d "$HOME/SOM" ]; then
    echo "Directorio no existía. Lo he tenido que crear yo"
    mkdir "$HOME/SOM"
else
    echo "Directorio ya existe por eso no lo creo"
fi
# 6.1 inicializar. FIN

Procedimiento EXAMEN2: Gestión de Argumentos

Crea un procedimiento llamado EXAMEN2 cuyo objetivo es comprobar que, cuando se invoca el proceso, se pasan dos argumentos. Si no se pasan, la salida será: “Ainsss, hemos dicho que dos argumentos”. Si se pasan, mostrará los valores de ambos.

vi agregar

if [ $# -ne 2 ]; then
    echo "Ainsss, hemos dicho que dos argumentos"
else
    echo "El valor del primer argumento es $1"
    echo "El valor del segundo argumento es $2"
    
    grep "$1" "$HOME/bin/claves.txt" > fichero
    if [ ! -s fichero ]; then
        echo "$1" >> "$HOME/bin/claves.txt"
        echo "ARGUMENTO AÑADIDO"
    else
        echo "ARGUMENTO YA EXISTENTE"
    fi
fi

Descargar

PDF Word HTML

Preguntas frecuentes

¿Qué hace el comando ls -a ..?

Muestra los ficheros ocultos del directorio padre del directorio actual.

¿Cómo se identifica un directorio con el comando ll?

Si la línea del listado empieza por 'd', se trata de un directorio.

¿Qué hace rm AW 2> error?

Intenta eliminar el archivo 'AW' y redirige los posibles errores de ejecución al archivo 'error'.

Ponte a prueba

Tarjetas de repaso

Pulsa una tarjeta para ver la respuesta.

Test

1. ¿Qué muestra el comando ls -a .. ?
2. En un listado con ll, ¿qué indica una 'd' al inicio de la línea?
3. ¿Qué hace el comando ls -lR | more?
4. ¿Adónde se redirigen los errores de 'rm AW 2> error'?
5. ¿Qué comprueba la condición 'if [ ! -d "$HOME/SOM" ]' de EXAMEN1?
6. ¿Qué mensaje muestra EXAMEN1 si el directorio SOM ya existe?
7. En EXAMEN2, ¿qué condición se usa para comprobar que se pasan dos argumentos?

Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.