-->

Metacaracteres, Tipos de Archivos y Comando ls en Linux

Objetivo:

Aprender a utilizar los principales metacaracteres o wildcards de Linux para realizar búsquedas y selecciones de archivos, interpretar la información proporcionada por ls -l y reconocer el tipo de archivo mediante el comando file.

Escenario:

  • Herramientas: Terminal de Linux.
  • Conceptos clave: metacaracteres, comodines, *, ?, corchetes [], rutas, tipos de archivos, directorios, enlaces y comando file.

Instrucciones:

Fase 1: Uso del asterisco (*):

  • Utiliza el asterisco para listar todos los archivos cuyo nombre comience por una determinada letra:
  • ls b*
  • Utiliza el asterisco para listar los archivos cuyo nombre termine por una determinada letra:
  • ls *b
  • Utiliza el asterisco para buscar archivos que contengan una determinada secuencia de caracteres en cualquier posición de su nombre:
  • ls *ma*

Fase 2: Uso de la interrogación (?):

  • La interrogación representa exactamente un carácter. Prueba el siguiente comando:
  • ls g?
  • Observa qué ocurre cuando utilizas dos interrogaciones:
  • ls g??
  • Prueba también una búsqueda en la que el carácter desconocido se encuentre al principio:
  • ls ?p

Fase 3: Uso de corchetes ([]):

  • Los corchetes permiten indicar un conjunto de caracteres posibles. Prueba:
  • ls [ab]*
  • El comando anterior mostrará los archivos cuyo nombre comience por a o por b.
  • También puedes utilizar rangos de caracteres:
  • ls [0-3]*
  • Observa qué archivos coinciden con el patrón.

Fase 4: Interpretación de ls -l:

  • Ejecuta el siguiente comando en tu directorio personal:
  • ls -l
  • Analiza la información que aparece para cada elemento: tipo de archivo, permisos, propietario, grupo, tamaño, fecha de modificación y nombre.
  • Para mostrar también los archivos ocultos:
  • ls -la

Fase 5: Identificación del tipo de archivo con file:

  • Utiliza el comando file para averiguar qué tipo de elemento es una carpeta:
  • file Descargas
  • Prueba el comando con algún archivo de tu directorio personal:
  • file nombre_archivo
  • También puedes utilizarlo con archivos ejecutables del sistema para comprobar la información que proporciona:
  • file /usr/bin/ls

Preguntas de reflexión:

  1. ¿Qué diferencia existe entre utilizar * y utilizar ? como metacaracteres?
  2. ¿Qué archivos coincidirían con el patrón a*?
  3. ¿Qué diferencia existe entre ls a* y ls a??
  4. ¿Para qué sirven los corchetes [] en los patrones de búsqueda?
  5. ¿Qué diferencia existe entre ls y ls -la?
  6. En la salida de ls -l, ¿qué información aparece después de los permisos?
  7. ¿Qué significado tiene la primera letra que aparece en la salida de ls -l?
  8. ¿Para qué sirve el comando file y por qué puede ser útil aunque la extensión del archivo indique aparentemente su tipo?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿Qué diferencia existe entre utilizar * y utilizar ? como metacaracteres?

El metacarácter * representa cualquier cantidad de caracteres, incluso ninguno. Por ejemplo, a* coincide con todos los nombres que comienzan por a, independientemente de cuántos caracteres tengan después. En cambio, ? representa exactamente un carácter. Por ejemplo, a? coincide con nombres de exactamente dos caracteres que comiencen por a.


2. ¿Qué archivos coincidirían con el patrón a*?

Coincidirían todos los archivos y directorios cuyo nombre comience por la letra a. El resto del nombre puede contener cualquier cantidad de caracteres.


3. ¿Qué diferencia existe entre ls a* y ls a??

ls a* busca nombres que comiencen por a y tengan cualquier cantidad de caracteres después. ls a? busca únicamente nombres formados por dos caracteres, siendo el primero la letra a.


4. ¿Para qué sirven los corchetes [] en los patrones de búsqueda?

Permiten indicar un conjunto de caracteres posibles para una posición determinada. Por ejemplo, [ab]* coincide con nombres que comienzan por a o por b. También pueden utilizarse rangos, como [0-3], para representar cualquiera de los caracteres comprendidos entre 0 y 3.


5. ¿Qué diferencia existe entre ls y ls -la?

ls muestra normalmente el contenido visible del directorio. Al utilizar -a, también se muestran los archivos y directorios ocultos, que en Linux son aquellos cuyo nombre comienza por un punto. La opción -l muestra además información detallada de cada elemento.


6. En la salida de ls -l, ¿qué información aparece después de los permisos?

Después de la información de permisos aparece el número de enlaces, seguido del propietario del archivo, el grupo al que pertenece, su tamaño, la fecha y hora de modificación y finalmente su nombre.


7. ¿Qué significado tiene la primera letra que aparece en la salida de ls -l?

La primera posición identifica el tipo de archivo. Por ejemplo, d indica un directorio, - un archivo normal y l un enlace simbólico. En determinados directorios del sistema también pueden aparecer otros tipos, como b para dispositivos de bloques y c para dispositivos de caracteres.


8. ¿Para qué sirve el comando file?

El comando file permite identificar el tipo de un archivo analizando su contenido. Puede indicar, por ejemplo, que un elemento es un directorio, un archivo de texto, un ejecutable o un binario. Esto resulta especialmente útil porque Linux no depende necesariamente de la extensión del nombre para determinar el tipo real de un archivo.


Ficha de Laboratorio: Metacaracteres, Tipos de Archivos y Comando ls en Linux

Instrucciones de entrega:

  1. Rellena los campos y responde en este formulario desde tu navegador.
  2. Pulsa el botón de imprimir al final de la página.
  3. Selecciona "Guardar como PDF" en el diálogo de impresión.
  4. Entrega el archivo PDF en el aula virtual.

Alumno/a:      Fecha:      

Grupo:


Completa la ficha realizando las siguientes actividades:

  1. Lista todos los archivos y directorios cuyo nombre comience por la letra a.
    Escribe el comando:

    Copia aquí la salida obtenida en el terminal:

    Explica qué representa el metacarácter utilizado:
  2. Utiliza el metacarácter ? para buscar los archivos cuyo nombre comience por a y tenga exactamente un carácter más.
    Escribe el comando:

    Copia aquí la salida obtenida en el terminal:

    Explica la diferencia con el ejercicio anterior:
  3. Lista los archivos cuyo nombre comience por a, b o c.
    Utiliza corchetes para definir el conjunto de caracteres posibles.
    Escribe el comando:

    Copia aquí la salida obtenida en el terminal:

    Explica qué función cumplen los corchetes:
  4. Muestra todos los archivos, incluidos los ocultos, utilizando un listado detallado.
    Escribe el comando:

    Copia aquí la salida obtenida en el terminal:

    Identifica en la salida un directorio, un archivo normal y un archivo oculto:
  5. Identifica el tipo real de tres elementos diferentes utilizando el comando file.
    Escribe los tres comandos utilizados:

    Copia aquí las salidas obtenidas:

    Explica qué información proporciona el comando file:
  6. Analiza la salida de ls -l e identifica el tipo de archivo, propietario, grupo, tamaño y fecha de modificación de uno de los elementos.
    Escribe el comando utilizado:

    Copia aquí la línea correspondiente al elemento analizado:

    Explica el significado de cada campo de la línea: