Unix / Linux - Conceptos básicos del sistema de archivos
Un sistema de archivos es una colección lógica de archivos en una partición o un disco. Una partición es un contenedor de información y puede abarcar todo un disco duro si se desea.
Su disco duro puede tener varias particiones que generalmente contienen un solo sistema de archivos, como un sistema de archivos que aloja el /file system u otro que contenga el /home file system.
Un sistema de archivos por partición permite el mantenimiento lógico y la gestión de diferentes sistemas de archivos.
Todo en Unix se considera un archivo, incluidos los dispositivos físicos como DVD-ROM, dispositivos USB y unidades de disquete.
Estructura de directorios
Unix usa una estructura de sistema de archivos jerárquica, muy parecida a un árbol al revés, con la raíz (/) en la base del sistema de archivos y todos los demás directorios extendiéndose desde allí.
Un sistema de archivos Unix es una colección de archivos y directorios que tiene las siguientes propiedades:
Tiene un directorio raíz (/) que contiene otros archivos y directorios.
Cada archivo o directorio se identifica de forma única por su nombre, el directorio en el que reside y un identificador único, normalmente llamado inode.
Por convención, el directorio raíz tiene un inode número de 2 y el lost+found directorio tiene un inode número de 3. Números de inode0 y 1no se utilizan. Los números de inodos de archivo se pueden ver especificando el-i option a ls command.
Es autónomo. No hay dependencias entre un sistema de archivos y otro.
Los directorios tienen propósitos específicos y generalmente contienen los mismos tipos de información para localizar archivos fácilmente. A continuación se muestran los directorios que existen en las versiones principales de Unix:
No Señor. | Directorio y descripción |
---|---|
1 | / Este es el directorio raíz que debe contener solo los directorios necesarios en el nivel superior de la estructura de archivos. |
2 | /bin Aquí es donde se encuentran los archivos ejecutables. Estos archivos están disponibles para todos los usuarios. |
3 | /dev Estos son controladores de dispositivo |
4 | /etc Comandos de directorio del supervisor, archivos de configuración, archivos de configuración de disco, listas de usuarios válidas, grupos, ethernet, hosts, dónde enviar mensajes críticos |
5 | /lib Contiene archivos de biblioteca compartidos y, a veces, otros archivos relacionados con el kernel |
6 | /boot Contiene archivos para arrancar el sistema |
7 | /home Contiene el directorio de inicio para usuarios y otras cuentas. |
8 | /mnt Se utiliza para montar otros sistemas de archivos temporales, como cdrom y floppy Para el CD-ROM conducir y floppy diskette drive, respectivamente |
9 | /proc Contiene todos los procesos marcados como archivo por process number u otra información que sea dinámica para el sistema |
10 | /tmp Contiene archivos temporales utilizados entre los inicios del sistema |
11 | /usr Se utiliza para diversos fines y puede ser utilizado por muchos usuarios. Incluye comandos administrativos, archivos compartidos, archivos de biblioteca y otros |
12 | /var Normalmente contiene archivos de longitud variable, como archivos de registro e impresión y cualquier otro tipo de archivo que pueda contener una cantidad variable de datos. |
13 | /sbin Contiene archivos binarios (ejecutables), generalmente para la administración del sistema. Por ejemplo,fdisk y ifconfig utilidades |
14 | /kernel Contiene archivos del kernel |
Navegación por el sistema de archivos
Ahora que comprende los conceptos básicos del sistema de archivos, puede comenzar a navegar hasta los archivos que necesita. Los siguientes comandos se utilizan para navegar por el sistema:
No Señor. | Comando y descripción |
---|---|
1 | cat filename Muestra un nombre de archivo |
2 | cd dirname Lo lleva al directorio identificado |
3 | cp file1 file2 Copia un archivo / directorio en la ubicación especificada |
4 | file filename Identifica el tipo de archivo (binario, texto, etc.) |
5 | find filename dir Encuentra un archivo / directorio |
6 | head filename Muestra el comienzo de un archivo. |
7 | less filename Navega por un archivo desde el final o el principio |
8 | ls dirname Muestra el contenido del directorio especificado. |
9 | mkdir dirname Crea el directorio especificado |
10 | more filename Navega por un archivo desde el principio hasta el final |
11 | mv file1 file2 Mueve la ubicación o cambia el nombre de un archivo / directorio |
12 | pwd Muestra el directorio actual en el que se encuentra el usuario |
13 | rm filename Elimina un archivo |
14 | rmdir dirname Elimina un directorio |
15 | tail filename Muestra el final de un archivo. |
dieciséis | touch filename Crea un archivo en blanco o modifica un archivo existente o sus atributos |
17 | whereis filename Muestra la ubicación de un archivo. |
18 | which filename Muestra la ubicación de un archivo si está en su RUTA |
Puede utilizar la Ayuda de la página de manual para comprobar la sintaxis completa de cada comando mencionado aquí.
El comando df
La primera forma de administrar su espacio de partición es con el df (disk free)mando. El comandodf -k (disk free) muestra el disk space usage in kilobytes, como se muestra a continuación -
$df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vzfs 10485760 7836644 2649116 75% /
/devices 0 0 0 0% /devices
$
Algunos de los directorios, como /devices, muestra 0 en las columnas de kbytes, usado y disponible, así como 0% para la capacidad. Estos son sistemas de archivos especiales (o virtuales) y, aunque residen en el disco debajo de /, por sí mismos no consumen espacio en disco.
los df -kla salida es generalmente la misma en todos los sistemas Unix. Esto es lo que generalmente incluye:
No Señor. | Columna y descripción |
---|---|
1 | Filesystem El nombre del sistema de archivos físico |
2 | kbytes Total de kilobytes de espacio disponible en el medio de almacenamiento |
3 | used Total de kilobytes de espacio utilizado (por archivos) |
4 | avail Total de kilobytes disponibles para su uso |
5 | capacity Porcentaje del espacio total utilizado por archivos |
6 | Mounted on En qué está montado el sistema de archivos |
Puedes usar el -h (human readable) option para mostrar la salida en un formato que muestre el tamaño en una notación más fácil de entender.
El du Command
los du (disk usage) command le permite especificar directorios para mostrar el uso de espacio en disco en un directorio en particular.
Este comando es útil si desea determinar cuánto espacio ocupa un directorio en particular. El siguiente comando muestra el número de bloques consumidos por cada directorio. Un solo bloque puede ocupar 512 Bytes o 1 Kilo Byte dependiendo de su sistema.
$du /etc
10 /etc/cron.d
126 /etc/default
6 /etc/dfs
...
$
los -h La opción hace que la salida sea más fácil de comprender -
$du -h /etc
5k /etc/cron.d
63k /etc/default
3k /etc/dfs
...
$
Montaje del sistema de archivos
Se debe montar un sistema de archivos para que el sistema pueda utilizarlo. Para ver lo que está actualmente montado (disponible para su uso) en su sistema, use el siguiente comando:
$ mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
$
los /mntEl directorio, según la convención de Unix, es donde se ubican los montajes temporales (como unidades de CDROM, unidades de red remotas y unidades de disquete). Si necesita montar un sistema de archivos, puede utilizar el comando mount con la siguiente sintaxis:
mount -t file_system_type device_to_mount directory_to_mount_to
Por ejemplo, si desea montar un CD-ROM al directorio /mnt/cdrom, puede escribir -
$ mount -t iso9660 /dev/cdrom /mnt/cdrom
Esto supone que su dispositivo de CD-ROM se llama /dev/cdrom y que quieres montarlo /mnt/cdrom. Consulte la página de manual de mount para obtener información más específica o escriba mount-h en la línea de comandos para obtener información de ayuda.
Después del montaje, puede usar el comando cd para navegar por el nuevo sistema de archivos disponible a través del punto de montaje que acaba de crear.
Desmontar el sistema de archivos
Para desmontar (eliminar) el sistema de archivos de su sistema, utilice el umount comando identificando el punto de montaje o dispositivo.
Por ejemplo, to unmount cdrom, use el siguiente comando -
$ umount /dev/cdrom
los mount command le permite acceder a sus sistemas de archivos, pero en la mayoría de los sistemas Unix modernos, el automount function hace que este proceso sea invisible para el usuario y no requiere ninguna intervención.
Cuotas de usuarios y grupos
Las cuotas de usuario y grupo proporcionan los mecanismos mediante los cuales la cantidad de espacio utilizado por un solo usuario o todos los usuarios dentro de un grupo específico puede limitarse a un valor definido por el administrador.
Las cuotas operan alrededor de dos límites que permiten al usuario tomar alguna acción si la cantidad de espacio o la cantidad de bloques de disco comienzan a exceder los límites definidos por el administrador:
Soft Limit - Si el usuario supera el límite definido, existe un período de gracia que le permite liberar espacio.
Hard Limit - Cuando se alcanza el límite estricto, independientemente del período de gracia, no se pueden asignar más archivos o bloques.
Hay varios comandos para administrar cuotas:
No Señor. | Comando y descripción |
---|---|
1 | quota Muestra el uso del disco y los límites para un usuario del grupo. |
2 | edquota Este es un editor de cuotas. La cuota de usuarios o grupos se puede editar usando este comando |
3 | quotacheck Escanea un sistema de archivos para el uso del disco, crea, verifica y repara archivos de cuotas |
4 | setquota Este es un editor de cuotas de línea de comandos |
5 | quotaon Esto le anuncia al sistema que las cuotas de disco deben habilitarse en uno o más sistemas de archivos. |
6 | quotaoff Esto le anuncia al sistema que las cuotas de disco deben deshabilitarse para uno o más sistemas de archivos. |
7 | repquota Esto imprime un resumen del uso del disco y las cuotas para los sistemas de archivos especificados. |
Puede utilizar la Ayuda de la página de manual para comprobar la sintaxis completa de cada comando mencionado aquí.