Introducción
En este laboratorio, obtendrá experiencia práctica en la gestión de sistemas de archivos Linux en un sistema Red Hat Enterprise Linux (RHEL). Aprenderá a identificar sistemas de archivos y dispositivos de bloques, examinar el uso del disco utilizando df y du, y practicar el montaje y desmontaje manual de sistemas de archivos.
Además, este laboratorio le guiará a través de la localización eficiente de archivos utilizando comandos como locate y find, lo que le permitirá buscar archivos basándose en varios criterios como el nombre, la propiedad, los permisos, el tamaño, el tiempo y el tipo de archivo.
Identificar Sistemas de Archivos y Dispositivos de Bloque
En este paso, aprenderá a identificar sistemas de archivos y dispositivos de bloques en un sistema Red Hat Enterprise Linux. Comprender cómo se organiza el almacenamiento es fundamental para la administración del sistema. Exploraremos varios comandos para listar y examinar dispositivos de bloques y sus sistemas de archivos asociados.
Primero, comprendamos algunos conceptos clave:
- Dispositivo de Bloque (Block Device): Un dispositivo de bloque es un archivo que proporciona acceso de bajo nivel a los dispositivos de almacenamiento. Ejemplos incluyen discos duros, SSDs y unidades USB. En Linux, estos se encuentran típicamente en el directorio
/dev. - Partición (Partition): Una partición es una división lógica de un dispositivo de almacenamiento físico. Un solo disco duro puede tener múltiples particiones, cada una formateada con un sistema de archivos diferente o utilizada para diferentes propósitos.
- Sistema de Archivos (File System): Un sistema de archivos es un método y una estructura de datos que un sistema operativo utiliza para controlar cómo se almacenan y recuperan los datos. Organiza los datos en archivos y directorios. Los sistemas de archivos Linux comunes incluyen XFS y ext4.
- Punto de Montaje (Mount Point): Un punto de montaje es un directorio vacío en la jerarquía del sistema de archivos donde se adjunta o "monta" un sistema de archivos para hacer que su contenido sea accesible.
Comencemos por listar los dispositivos de bloque disponibles en su sistema utilizando el comando lsblk. Este comando proporciona una vista general en forma de árbol de todos los dispositivos de bloque y sus particiones.
lsblk
Debería ver una salida similar a esta, que muestra dispositivos como vda, vdb, etc., que representan dispositivos de disco virtual en su entorno de contenedor:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 253:0 0 40G 0 disk
├─vda1 253:1 0 1M 0 part
├─vda2 253:2 0 100M 0 part /boot/efi
└─vda3 253:3 0 39.9G 0 part /
vdb 253:16 0 40G 0 disk
En la salida:
NAME: El nombre del dispositivo de bloque (por ejemplo,vda,vdb) o partición (por ejemplo,vda1,vda2).MAJ:MIN: Números de dispositivo mayor y menor.RM: Dispositivo extraíble (1 si es extraíble, 0 si no).SIZE: El tamaño del dispositivo o partición.RO: Solo lectura (1 si es de solo lectura, 0 si no).TYPE: Tipo de dispositivo (por ejemplo,disk,partpara partición).MOUNTPOINTS: Dónde está montado actualmente el dispositivo o partición.
A continuación, examinemos los sistemas de archivos y su uso con el comando df. El comando df informa sobre el uso del espacio en disco del sistema de archivos.
df
La salida mostrará varios sistemas de archivos, su tamaño total, espacio utilizado, espacio disponible y puntos de montaje:
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 4096 0 4096 0% /dev
tmpfs 1822216 0 1822216 0% /dev/shm
tmpfs 728888 616 728272 1% /run
efivarfs 256 9 243 4% /sys/firmware/efi/efivars
/dev/vda3 41773036 3628732 38144304 9% /
/dev/vda2 102156 7198 94958 8% /boot/efi
tmpfs 364440 0 364440 0% /run/user/1000
Para que la salida sea más legible, especialmente para los tamaños, puede usar la opción -h para el formato legible por humanos (por ejemplo, M para MiB, G para GiB).
df -h
Verá los tamaños en un formato más comprensible:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 712M 616K 712M 1% /run
efivarfs 256K 8.5K 243K 4% /sys/firmware/efi/efivars
/dev/vda3 40G 3.5G 37G 9% /
/dev/vda2 100M 7.1M 93M 8% /boot/efi
tmpfs 356M 0 356M 0% /run/user/1000
Finalmente, usemos el comando lsblk -fp para listar la ruta completa de los dispositivos, sus UUIDs (Identificadores Únicos Universales) y los tipos de sistema de archivos. Los UUID son identificadores estables que permanecen iguales incluso si los nombres de los dispositivos cambian, lo que los hace útiles para el montaje consistente.
lsblk -fp
La salida incluirá UUIDs y tipos de sistema de archivos:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
/dev/vda
├─/dev/vda1
├─/dev/vda2 vfat FAT16 E52E-0564 92.7M 7% /boot/efi
└─/dev/vda3 xfs root 4c234c8b-4f67-4d65-abb5-06753b1ec236 36.4G 9% /
/dev/vdb
Observe la columna UUID, que proporciona un identificador único para cada sistema de archivos. Esto es crucial para montar de forma fiable los sistemas de archivos, especialmente en archivos de configuración como /etc/fstab.
Examinar el Uso del Sistema de Archivos con df y du
En este paso, profundizará en el examen del uso del sistema de archivos utilizando los comandos df y du. Mientras que df proporciona una descripción general del uso del espacio en disco para los sistemas de archivos montados, du (uso del disco) se utiliza para estimar el uso del espacio de archivos para archivos o directorios específicos. Comprender la diferencia y cuándo usar cada comando es crucial para una gestión eficaz del espacio en disco.
Comencemos revisando el comando df con su opción legible por humanos. Este comando es excelente para obtener un resumen rápido de cuánto espacio se usa y está disponible en todos los sistemas de archivos montados.
df -h
La salida mostrará el uso del disco en un formato fácil de leer (por ejemplo, G para gigabytes, M para megabytes):
Filesystem Size Used Avail Use% Mounted on
devtmpfs 892M 0 892M 0% /dev
tmpfs 915M 0 915M 0% /dev/shm
tmpfs 915M 17M 899M 2% /run
tmpfs 915M 0 915M 0% /sys/fs/cgroup
/dev/vda4 8.0G 1.4G 6.7G 17% /
/dev/vda3 1014M 166M 849M 17% /boot
tmpfs 183M 0 183M 0% /run/user/1000
Ahora, exploremos el comando du. A diferencia de df, du calcula el espacio en disco utilizado por archivos y directorios dentro de una ruta especificada. Esto es particularmente útil cuando desea averiguar qué directorios o archivos están consumiendo más espacio.
Para ver el uso del disco de su directorio actual (~/project), use du sin ningún argumento. Esto enumerará el tamaño de cada archivo y subdirectorio dentro de ~/project.
du
La salida podría ser extensa, mostrando los tamaños en kilobytes de forma predeterminada:
4 ./.config/xfce4/xfconf/xfce-perchannel-xml
8 ./.config/xfce4/xfconf
12 ./.config/xfce4
16 ./.config
4 ./.local/share/nano
8 ./.local/share
12 ./.local
28 .
Para que la salida sea más legible, similar a df -h, puede usar la opción -h con du.
du -h
Esto mostrará los tamaños en unidades legibles por humanos:
4.0K ./.config/xfce4/xfconf/xfce-perchannel-xml
8.0K ./.config/xfce4/xfconf
12K ./.config/xfce4
16K ./.config
4.0K ./.local/share/nano
8.0K ./.local/share
12K ./.local
28K .
A menudo, está interesado en el tamaño total de un directorio en lugar del tamaño de cada archivo y subdirectorio individual. Para esto, puede usar la opción -s (summary) junto con -h. Comprobemos el tamaño total de su directorio de inicio (~).
du -sh ~
Este comando mostrará el tamaño total de su directorio de inicio:
48K /home/labex
Creemos algunos archivos para ver cómo du informa sus tamaños. Crearemos un directorio llamado test_data y luego crearemos algunos archivos dentro de él.
Primero, cree el directorio:
mkdir ~/project/test_data
Ahora, navegue al directorio test_data:
cd ~/project/test_data
A continuación, cree algunos archivos con algo de contenido. Usaremos el comando head para generar archivos de tamaños específicos.
head -c 1K < /dev/urandom > file1.txt
head -c 5K < /dev/urandom > file2.txt
head -c 10K < /dev/urandom > file3.txt
Ahora, use du -h para ver los tamaños de estos nuevos archivos y el directorio test_data.
du -h
Debería ver una salida similar a esta:
1.0K ./file1.txt
5.0K ./file2.txt
10K ./file3.txt
24K .
La última línea (24K .) muestra el tamaño total del directorio actual (., que es ~/project/test_data).
Finalmente, volvamos a su directorio ~/project y verifiquemos el tamaño total de test_data usando du -sh.
cd ~/project
du -sh test_data
Esto mostrará el tamaño resumido del directorio test_data:
24K test_data
Esto demuestra cómo se puede usar du para identificar el consumo de espacio en disco dentro de directorios específicos, lo que le ayuda a administrar el almacenamiento de manera efectiva.
Montar y Desmontar Sistemas de Archivos Manualmente
En este paso, aprenderá a montar y desmontar manualmente sistemas de archivos. Montar un sistema de archivos hace que su contenido sea accesible a través de un directorio específico (punto de montaje) en la jerarquía del sistema de archivos. Desmontar desconecta el sistema de archivos de su punto de montaje, haciendo que su contenido sea inaccesible hasta que se vuelva a montar. Esta es una habilidad crítica para administrar medios extraíbles, almacenamiento temporal o nuevas particiones de disco.
Para este ejercicio, usaremos uno de los dispositivos de bloque desmontados disponibles en su entorno de máquina virtual (VM) de LabEx. En el paso anterior, debería haber visto el dispositivo /dev/vdb que actualmente no está montado. Usaremos /dev/vdb para este paso.
Primero, confirmemos los dispositivos de bloque desmontados disponibles usando lsblk.
lsblk
Debería ver /dev/vdb listado sin ningún punto de montaje.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 253:0 0 40G 0 disk
├─vda1 253:1 0 1M 0 part
├─vda2 253:2 0 100M 0 part /boot/efi
└─vda3 253:3 0 39.9G 0 part /
vdb 253:16 0 40G 0 disk
Antes de poder montar un sistema de archivos, necesita un punto de montaje, que es un directorio vacío. Es práctica común usar /mnt para montajes temporales o crear un subdirectorio dentro de él. Creemos un nuevo directorio llamado mydata dentro de su directorio ~/project para que sirva como nuestro punto de montaje.
mkdir ~/project/mydata
Ahora, necesitamos formatear el dispositivo /dev/vdb con un sistema de archivos. Usaremos el sistema de archivos XFS, que es el predeterminado para Red Hat Enterprise Linux. Tenga cuidado con este comando, ya que borrará todos los datos en el dispositivo especificado.
sudo mkfs.xfs /dev/vdb
Verá una salida que indica la creación del sistema de archivos XFS:
meta-data=/dev/vdb isize=512 agcount=4, agsize=2621440 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=10485760, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Ahora que /dev/vdb tiene un sistema de archivos XFS, puede montarlo en su punto de montaje ~/project/mydata. El comando mount requiere privilegios sudo.
sudo mount /dev/vdb ~/project/mydata
Para verificar que el sistema de archivos se ha montado correctamente, use el comando df -h nuevamente. Debería ver /dev/vdb listado con /home/labex/project/mydata como su punto de montaje.
df -h
Busque /dev/vdb en la salida:
Filesystem Size Used Avail Use% Mounted on
...
/dev/vdb 40G 318M 40G 1% /home/labex/project/mydata
Ahora, puede crear archivos y directorios dentro de ~/project/mydata, y se almacenarán en el dispositivo /dev/vdb. Creemos un archivo de prueba:
sudo touch ~/project/mydata/testfile.txt
Puede listar el contenido de ~/project/mydata para confirmar la creación del archivo:
ls -l ~/project/mydata
Debería ver testfile.txt listado:
total 0
-rw-r--r--. 1 root root 0 Jun 16 11:09 testfile.txt
Cuando haya terminado de usar un sistema de archivos montado, es importante desmontarlo para evitar la corrupción de datos, especialmente antes de quitar un dispositivo físico. Use el comando umount para desmontar el sistema de archivos.
sudo umount ~/project/mydata
Si el comando de desmontaje falla con un error "target is busy" (el objetivo está ocupado), significa que algún proceso todavía está accediendo al punto de montaje. Esto suele ocurrir si su directorio de trabajo actual está dentro del sistema de archivos montado. Para resolver esto, cambie su directorio actual a una ubicación fuera del punto de montaje, por ejemplo, su directorio de inicio (~).
cd ~
Luego, intente desmontar de nuevo:
sudo umount ~/project/mydata
Después de desmontar, verifique que /dev/vdb ya no esté montado revisando df -h nuevamente.
df -h
Ya no debería ver /dev/vdb montado en /home/labex/project/mydata.
Filesystem Size Used Avail Use% Mounted on
...
## /dev/vdb should not be listed here anymore
Esto completa el proceso de montaje y desmontaje manual de un sistema de archivos.
Localizar Archivos por Nombre con locate y find
En este paso, aprenderá a localizar archivos en su sistema utilizando dos comandos potentes: locate y find. Ambos comandos le ayudan a buscar archivos, pero operan de manera diferente y son adecuados para diferentes escenarios.
Usando el comando locate
El comando locate es muy rápido porque busca en una base de datos preconstruida de nombres y rutas de archivos. Sin embargo, esto significa que podría no encontrar archivos que se crearon o eliminaron desde la última actualización de la base de datos. La base de datos se actualiza típicamente a diario mediante un trabajo cron, pero puede forzar una actualización.
Primero, asegurémonos de que el paquete mlocate, que proporciona el comando locate, esté instalado.
sudo dnf install -y mlocate
Verá una salida similar a esta durante la instalación:
Last metadata expiration check: 0:00:01 ago on Mon 15 May 2023 08:00:00 AM UTC.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
mlocate x86_64 0.26-28.el9 rhel-9-for-x86_64-appstream-rpms 100 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 100 k
Installed size: 230 k
Downloading Packages:
mlocate-0.26-28.el9.x86_64.rpm 100 kB/s | 100 kB 00:01
--------------------------------------------------------------------------------
Total 100 kB/s | 100 kB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : mlocate-0.26-28.el9.x86_64 1/1
Running scriptlet: mlocate-0.26-28.el9.x86_64 1/1
Verifying : mlocate-0.26-28.el9.x86_64 1/1
Installed:
mlocate-0.26-28.el9.x86_64
Complete!
Después de la instalación, necesita actualizar la base de datos locate. Este comando requiere privilegios sudo.
sudo updatedb
Este comando se ejecutará silenciosamente y puede tardar unos momentos dependiendo del tamaño de su sistema de archivos.
Ahora, busquemos un archivo común del sistema, como passwd.
locate passwd
Verá una lista de rutas que contienen "passwd":
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/usr/share/man/man1/passwd.1.gz
/usr/share/man/man5/passwd.5.gz
...output omitted...
Para realizar una búsqueda que no distingue entre mayúsculas y minúsculas, use la opción -i. Busquemos archivos que contengan "messages" sin preocuparnos por las mayúsculas y minúsculas.
locate -i messages
Verá resultados como:
/usr/share/locale/zza/LC_MESSAGES
/usr/share/makedumpfile/eppic_scripts/ap_messages_3_10_to_4_8.c
/usr/share/vim/vim82/ftplugin/msmessages.vim
...output omitted...
También puede limitar el número de resultados usando la opción -n. Busquemos las primeras 5 apariciones de "passwd".
locate -n 5 passwd
Esto mostrará solo las primeras 5 coincidencias:
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/usr/share/man/man1/passwd.1.gz
/usr/share/man/man5/passwd.5.gz
Usando el comando find
El comando find busca en el sistema de archivos en tiempo real, lo que lo hace más lento que locate, pero asegura que encuentra todos los archivos que coinciden con sus criterios, incluidos los creados muy recientemente. También ofrece opciones de búsqueda mucho más potentes.
La sintaxis básica para find es find [path] [expression]. Si no se especifica ninguna ruta, busca en el directorio actual.
Busquemos el archivo sshd_config comenzando desde el directorio raíz (/).
find / -name sshd_config
Debería ver la ruta al archivo de configuración:
/etc/ssh/sshd_config
Al buscar nombres parciales o usar comodines, es importante citar el patrón del nombre de archivo para evitar que el shell lo expanda prematuramente. Busquemos todos los archivos que terminen con .txt en su directorio ~/project.
find ~/project -name '*.txt'
Si creó file1.txt, file2.txt y file3.txt en el paso anterior, debería verlos listados:
/home/labex/project/test_data/file1.txt
/home/labex/project/test_data/file2.txt
/home/labex/project/test_data/file3.txt
Para realizar una búsqueda que no distingue entre mayúsculas y minúsculas con find, use la opción -iname. Busquemos archivos que contengan "README" (sin distinción entre mayúsculas y minúsculas) en el directorio /usr/share/doc.
find /usr/share/doc -iname '*readme*'
Verá muchos resultados, por ejemplo:
/usr/share/doc/libselinux/README
/usr/share/doc/libsepol/README
/usr/share/doc/libsemanage/README
...output omitted...
El comando find es muy versátil y se puede combinar con otros criterios, lo que explorará en los siguientes pasos.
Encontrar Archivos por Propietario, Permisos, Tamaño y Tiempo
En este paso, aprenderá a usar el potente comando find para localizar archivos basándose en varios criterios más allá de su nombre. Esto incluye la búsqueda por propietario, permisos, tamaño y tiempo de modificación. Estas capacidades de búsqueda avanzadas son esenciales para tareas de administración del sistema como auditoría, limpieza y solución de problemas.
Encontrar Archivos por Propietario
Puede buscar archivos propiedad de un usuario o grupo específico utilizando las opciones -user y -group, respectivamente. Puede especificar el nombre del usuario/grupo o su ID numérico.
Busquemos todos los archivos en su directorio de inicio (~) que sean propiedad del usuario labex.
find ~ -user labex
Esto mostrará una lista de muchos archivos, incluidos sus archivos de configuración:
/home/labex
/home/labex/.bash_logout
/home/labex/.bash_profile
/home/labex/.bashrc
/home/labex/.config
/home/labex/.config/xfce4
/home/labex/.config/xfce4/xfconf
/home/labex/.config/xfce4/xfconf/xfce-perchannel-xml
/home/labex/.local
/home/labex/.local/share
/home/labex/.local/share/nano
/home/labex/project
/home/labex/project/test_data
/home/labex/project/test_data/file1.txt
/home/labex/project/test_data/file2.txt
/home/labex/project/test_data/file3.txt
...output omitted...
De manera similar, para encontrar archivos propiedad del grupo labex:
find ~ -group labex
La salida será similar, ya que labex es típicamente el grupo principal para el usuario labex.
También puede buscar por ID de Usuario (UID) o ID de Grupo (GID). El usuario labex típicamente tiene un UID y GID de 1000.
find ~ -uid 1000
find ~ -gid 1000
Encontrar Archivos por Permisos
La opción -perm del comando find le permite buscar archivos con permisos específicos. Los permisos se pueden especificar en modo octal (por ejemplo, 755) o simbólico (por ejemplo, u=rwx,g=rx,o=rx).
Creemos un archivo de prueba en su directorio ~/project con permisos específicos.
touch ~/project/permission_test.txt
chmod 644 ~/project/permission_test.txt
Ahora, busquemos archivos en ~/project que tengan exactamente permisos 644.
find ~/project -perm 644
Debería ver permission_test.txt listado:
/home/labex/project/permission_test.txt
También puede usar un / o - inicial con los permisos octales:
/: Coincide si cualquiera de los bits de permiso especificados están configurados.-: Coincide si todos los bits de permiso especificados están configurados.
Busquemos archivos en ~/project donde otros tengan al menos permiso de lectura (o=r o 004).
find ~/project -perm -004
Esto mostrará permission_test.txt y otros archivos que otorgan acceso de lectura a otros.
/home/labex/project/permission_test.txt
...output omitted...
Encontrar Archivos por Tamaño
La opción -size le permite buscar archivos en función de su tamaño. Puede especificar el tamaño con unidades (por ejemplo, k para kilobytes, M para megabytes, G para gigabytes). También puede usar + para "mayor que" y - para "menor que".
Busquemos archivos en su directorio ~/project/test_data que tengan exactamente 1 kilobyte de tamaño.
find ~/project/test_data -size 1k
Debería ver file1.txt:
/home/labex/project/test_data/file1.txt
Ahora, encuentre archivos mayores de 5 kilobytes.
find ~/project/test_data -size +5k
Esto debería listar file3.txt:
/home/labex/project/test_data/file3.txt
Y archivos menores de 10 kilobytes.
find ~/project/test_data -size -10k
Esto debería listar file1.txt y file2.txt:
/home/labex/project/test_data/file1.txt
/home/labex/project/test_data/file2.txt
Encontrar Archivos por Tiempo de Modificación
Puede buscar archivos en función de su tiempo de modificación utilizando opciones como -mmin (modificado hace minutos) o -mtime (modificado hace días).
Busquemos archivos en su directorio ~/project que se modificaron en los últimos 60 minutos.
find ~/project -mmin -60
Esto probablemente incluirá permission_test.txt y los archivos en test_data si los creó recientemente:
/home/labex/project
/home/labex/project/permission_test.txt
/home/labex/project/test_data
/home/labex/project/test_data/file1.txt
/home/labex/project/test_data/file2.txt
/home/labex/project/test_data/file3.txt
Para encontrar archivos modificados hace más de 1 día (24 horas), puede usar +1 con -mtime.
find ~/project -mtime +1
Este comando podría no devolver ningún archivo si todos sus archivos ~/project se crearon o modificaron recientemente.
Estas opciones se pueden combinar para crear consultas de búsqueda muy específicas, lo que le permite administrar archivos de manera eficiente en su sistema.
Buscar Archivos Basado en el Tipo de Archivo
En este paso final, aprenderá a usar el comando find para buscar archivos basándose en su tipo. Esto es particularmente útil cuando necesita localizar todos los directorios, archivos regulares, enlaces simbólicos o archivos de dispositivo dentro de una ruta específica.
El comando find usa la opción -type seguida de un solo carácter para especificar el tipo de archivo. Aquí hay algunos tipos de archivos comunes que puede buscar:
f: Archivo regulard: Directoriol: Enlace simbólico (symlink)b: Dispositivo de bloquec: Dispositivo de carácterp: Tubería con nombre (FIFO)s: Socket
Comencemos buscando todos los directorios dentro de su directorio ~/project.
find ~/project -type d
Debería ver una salida similar a esta, que enumera todos los directorios y subdirectorios:
/home/labex/project
/home/labex/project/test_data
A continuación, busquemos todos los archivos regulares dentro de su directorio ~/project.
find ~/project -type f
Esto mostrará archivos como file1.txt, file2.txt y file3.txt que creó anteriormente:
/home/labex/project/test_data/file1.txt
/home/labex/project/test_data/file2.txt
/home/labex/project/test_data/file3.txt
Ahora, creemos un enlace simbólico para demostrar la búsqueda de symlinks. Crearemos un symlink a file1.txt en su directorio ~/project.
ln -s ~/project/test_data/file1.txt ~/project/link_to_file1.txt
Verifique que el symlink se haya creado usando ls -l:
ls -l ~/project/link_to_file1.txt
Debería ver una salida que indica que es un enlace simbólico:
lrwxrwxrwx. 1 labex labex 32 May 15 08:00 /home/labex/project/link_to_file1.txt -> /home/labex/project/test_data/file1.txt
Ahora, busque todos los enlaces simbólicos dentro de su directorio ~/project.
find ~/project -type l
Debería ver su symlink recién creado:
/home/labex/project/link_to_file1.txt
Finalmente, busquemos dispositivos de bloque. Los dispositivos de bloque se encuentran típicamente en el directorio /dev.
find /dev -type b
Esto mostrará dispositivos de bloque como vda, vda1, vda2, etc.:
/dev/vda1
/dev/vda2
/dev/vda3
/dev/vda
/dev/vdb
Puede combinar la opción -type con otras opciones de find que aprendió en pasos anteriores. Por ejemplo, para encontrar todos los directorios en /etc que son propiedad del usuario root:
find /etc -type d -user root
Esto producirá una larga lista de directorios:
/etc
/etc/selinux
/etc/selinux/targeted
/etc/selinux/targeted/active
/etc/selinux/targeted/active/modules
...output omitted...
Esto concluye el laboratorio sobre el acceso a los sistemas de archivos de Linux y la localización de archivos. Ha aprendido a identificar dispositivos, examinar el uso del disco, montar y desmontar manualmente sistemas de archivos, y usar locate y find con varios criterios.
Resumen
En este laboratorio, obtuvimos experiencia práctica en la gestión de sistemas de archivos Linux en un sistema Red Hat Enterprise Linux. Comenzamos aprendiendo a identificar sistemas de archivos y dispositivos de bloque utilizando comandos como lsblk, comprendiendo conceptos clave como dispositivos de bloque, particiones, sistemas de archivos y puntos de montaje (mount points). Posteriormente, exploramos cómo examinar el uso del sistema de archivos con df y du, distinguiendo entre sus funcionalidades para informar sobre el espacio en disco. El laboratorio también cubrió la habilidad esencial de montar y desmontar manualmente sistemas de archivos, demostrando cómo hacer que el contenido del sistema de archivos sea accesible y luego separarlo.
Además, profundizamos en la localización eficiente de archivos utilizando varios criterios. Aprendimos a encontrar archivos por nombre con locate y find, comprendiendo las diferencias y los casos de uso apropiados para cada uno. El laboratorio extendió esto enseñando cómo buscar archivos basándose en la propiedad, los permisos, el tamaño y los atributos de tiempo, proporcionando herramientas poderosas para la administración y la solución de problemas del sistema. Finalmente, practicamos la búsqueda de archivos basándonos en sus tipos de archivo específicos, completando una visión general completa de la gestión del sistema de archivos y las técnicas de localización de archivos.



