Sistema operativo Unix: El sistema de archivos II

GING - Grupo Internet de Nueva Generación - UPM
19 Feb 201511:48

Summary

TLDREn esta sesión, se explora el sistema de archivos de Unix, enfocándose en su estructura en forma de árbol jerárquico. Se discuten nodos que representan archivos y directorios, y se explica cómo navegar a través de ellos. Los directorios se presentan como archivos que contienen listas de nodos, y se mencionan atributos como el número de enlaces, identificadores de usuario y grupo, tamaño, fechas y permisos de acceso. Se ilustra con ejemplos cómo utilizar comandos como 'ls' y 'stat' para obtener información detallada sobre archivos y directorios, y se menciona el uso de metacaracteres para buscar patrones en nombres de archivos.

Takeaways

  • 🌐 La sesión trata sobre el sistema de archivos de Unix, enfocándose en su estructura jerárquica y cómo funciona.
  • 📂 Los directorios en Unix son archivos que contienen una lista de nodos, incluyendo dos archivos especiales que permiten navegar en la jerarquía.
  • 🔑 Los nodos índices, o 'inodes' en inglés, son la representación interna de un archivo en Unix, almacenando información sobre la localización en disco y los metadatos.
  • 🗂 Los metadatos incluyen atributos como el modo, número de enlaces, identificadores de usuario y grupo, tamaño, fechas y números de bloques lógicos.
  • 📅 Los archivos tienen fechas de último acceso, modificación y cambio, que tienen diferencias sutiles en su significado.
  • 🔒 El 'modo' de un archivo es una serie de bits que codifican el tipo de archivo, permisos de acceso y otros aspectos.
  • 👤 Los permisos de acceso en Unix determinan qué acciones pueden realizar el propietario, el grupo y otros usuarios sobre el archivo.
  • 🛠 El comando 'chmode' permite cambiar los permisos de acceso de los archivos.
  • 🔍 El comando 'ls' con diferentes opciones ('-a', '-l', '-t', etc.) permite obtener información detallada sobre los archivos y su contenido.
  • 📝 Los metacaracteres como el asterisco '*' se utilizan en Unix para realizar búsquedas y listados de archivos con patrones específicos.

Q & A

  • ¿Qué es el sistema de archivos en el sistema operativo Unix?

    -El sistema de archivos en Unix es una forma de estructura en árbol jerárquico que contiene nodos, siendo cada nodo un fichero o un directorio.

  • ¿Cuál es la peculiaridad de los dos ficheros especiales en el sistema de archivos de Unix?

    -Los dos ficheros especiales son . (punto) que se refiere al directorio actual y .. (punto-punto) que se refiere al directorio padre, permitiendo navegar arriba y abajo en el árbol.

  • ¿Qué es un 'nodo índice' o 'inode' en Unix y qué contiene?

    -Un 'nodo índice' o 'inode' es la representación interna de un fichero en Unix, que contiene información de localización en disco del contenido de los ficheros y metadatos o atributos para su gestión y manipulación.

  • ¿Qué son los 'metadatos' y qué información contienen en el sistema de archivos de Unix?

    -Los metadatos son atributos que permiten la gestión y manipulación de ficheros dentro del sistema de archivos, incluyendo el tamaño en bytes, fechas de acceso, modificación y cambio, y los números de bloque lógico en disco.

  • ¿Cómo se puede listar todos los ficheros, incluyendo los ocultos, en Unix?

    -Puedes listar todos los ficheros, incluyendo los ocultos, utilizando el comando 'ls -a'.

  • ¿Qué representa el número de 'nodo índice' y cómo se muestra en la lista de directorios?

    -El número de 'nodo índice' es un identificador único para cada fichero o directorio en Unix. Se muestra en la lista de directorios para cada entrada, permitiendo identificar cada fichero.

  • ¿Cuáles son las tres fechas que tienen los ficheros en Unix y cuál es su significado?

    -Los ficheros en Unix tienen tres fechas: la de último acceso (cuándo se accedió por última vez al fichero), la de última modificación (cuándo el contenido del fichero cambió por última vez) y la de último cambio (cuándo se cambió algún metadato o atributo del fichero).

  • ¿Qué es el 'modo' en los ficheros de Unix y qué representa?

    -El 'modo' es una ristra de 16 bits que codifica información sobre el tipo del fichero, el modo de ejecución y los permisos de acceso, y es usado para determinar qué acciones se pueden realizar con el fichero.

  • ¿Qué es el 'superusuario' o 'root' en Unix y qué permisos tiene?

    -El 'superusuario' o 'root' es un usuario especial en Unix que tiene permisos de lectura, escritura y ejecución sobre cualquier fichero del sistema, y puede realizar cualquier acción en el sistema.

  • ¿Cómo se pueden cambiar los permisos de acceso de un fichero en Unix?

    -Los permisos de acceso de un fichero se pueden cambiar utilizando el comando 'chmod', que permite modificar los permisos de lectura, escritura y ejecución para el propietario, el grupo y otros usuarios.

  • ¿Qué son los 'metacaracteres' y cómo se usan en el comando 'ls' para buscar ficheros?

    -Los 'metacaracteres' son caracteres que tienen un significado especial en los comandos de Unix. Por ejemplo, el asterisco '*' se usa para representar cualquier cadena de caracteres en el comando 'ls', permitiendo buscar ficheros que cumplan con un patrón específico, como '*.html'.

Outlines

00:00

📁 Estructura de archivos en UNIX

El primer párrafo introduce el tema de la sesión, que es el sistema de archivos de UNIX. Se menciona que UNIX utiliza una estructura de árbol jerárquico donde cada nodo puede ser un archivo o un directorio. Directorios son archivos que contienen una lista de nodos, que incluyen dos archivos especiales: '.' para el directorio actual y '..' para el directorio padre. Estos permiten la navegación jerárquica. Además, se describe cómo el sistema de archivos se almacena en disco y cómo los 'nodos índices' representan internamente los archivos, incluyendo metadatos como información de localización, tamaño, fechas y permisos de acceso.

05:02

🔐 Permisos y atributos de archivos en UNIX

El segundo párrafo se enfoca en los permisos de acceso y los atributos de los archivos en UNIX. Se explica que cada archivo tiene un propietario y un conjunto de permisos que determinan qué acciones pueden realizar el propietario, el grupo al que pertenece y otros usuarios. Los permisos se codifican en 9 bits y se pueden cambiar usando el comando 'chmod'. También se menciona el rol del superusuario, que tiene acceso ilimitado a todos los archivos. Se describen las opciones del comando 'ls' que permiten obtener información detallada sobre los archivos, como listarlos por orden temporal o mostrar el número de nodo índice.

10:03

🔍 Comandos y metacaracteres en UNIX

El tercer párrafo muestra cómo utilizar comandos y metacaracteres en UNIX para interactuar con el sistema de archivos. Se presenta un ejemplo de cómo usar el comando 'ls' para listar archivos, mostrar el número de nodo índice con 'ls -i', y listar archivos ocultos con 'ls -a'. Se detalla cómo obtener información extendida con 'ls -l' y cómo usar el asterisco (*) como metacaracter para buscar archivos que terminan en '.html'. Además, se menciona el comando 'stat' para mostrar toda la información del nodo índice de un archivo.

Mindmap

Keywords

💡Sistema de archivos de Unix

El sistema de archivos de Unix es la estructura organizacional de los datos en un sistema operativo Unix. Es fundamental para la gestión de archivos y directorios, y es el tema central del video. Se menciona que tiene una estructura en forma de árbol jerárquico, donde cada nodo puede ser un archivo o un directorio.

💡Árbol jerárquico

El término 'árbol jerárquico' se refiere a la forma en que se organizan los directorios y archivos en el sistema de archivos de Unix. Cada nodo del árbol puede ser un directorio o un archivo, y los directorios pueden contener otros directorios, formando una estructura de árbol.

💡Nodos

Los 'nodos' son elementos del árbol jerárquico que representan archivos o directorios. Cada nodo tiene asociados metadatos que permiten su gestión y manipulación. En el script, se menciona que los nodos son la representación interna de un archivo en Unix.

💡Directorio

Un 'directorio' es un tipo especial de archivo que contiene una lista de nodos, es decir, otros archivos y directorios. Es fundamental para la navegación y organización jerárquica de archivos en Unix, como se describe en el video.

💡Archivo

Un 'archivo' es una unidad básica de almacenamiento de datos en un sistema de archivos. Puede ser un documento, una imagen, un programa, etc. En el contexto del video, los archivos tienen atributos y permisos asociados que se pueden gestionar.

💡Metadatos

Los 'metadatos' son datos que describen otros datos, en este caso, los archivos. Contienen información como la ubicación en disco, el tamaño, los permisos de acceso, entre otros. Son esenciales para la gestión y manipulación de archivos en Unix.

💡Permisos de acceso

Los 'permisos de acceso' son un conjunto de reglas que determinan qué acciones pueden realizar los usuarios sobre un archivo, como leer, escribir o ejecutar. Se mencionan en el video como un aspecto clave de los metadatos de los archivos.

💡Superusuario

El 'superusuario', comúnmente conocido como 'root', es un usuario especial en Unix que tiene permisos de lectura, escritura y ejecución sobre todos los archivos del sistema. Se destaca en el video como una excepción a los permisos de acceso normales.

💡Comando ls

El 'comando ls' es una herramienta utilizada en Unix para listar los contenidos de un directorio. El video detalla varias opciones de este comando, como 'ls -a' para mostrar archivos ocultos y 'ls -l' para un listado detallado de archivos.

💡Nodo índice

El 'nodo índice' es la representación interna de un archivo en Unix, que contiene información crucial sobre el archivo, como su ubicación en disco y sus metadatos. Es mencionado en el video como parte integral de la estructura de archivos de Unix.

💡Modo

El 'modo' es una combinación de bits que define el tipo de archivo y los permisos de ejecución. Aunque el video no profundiza en el modo de ejecución, sí explica cómo el modo es parte de los 16 bits que codifican información sobre el archivo.

💡Comando ch

El 'comando ch', que significa 'change', se utiliza para cambiar los permisos de acceso de un archivo. Es mencionado en el video como una herramienta para modificar los permisos, lo que es crucial para la gestión de archivos en Unix.

💡Caracteres comodín

Los 'caracteres comodín' son símbolos que se utilizan en comandos para representar una serie de caracteres. El asterisco '*' es un ejemplo mencionado en el video, que se usa para buscar archivos que terminen con una cierta extensión, como '.html'.

Highlights

Sesión sobre el sistema de archivos del sistema operativo Unix.

Visión previa sobre la implementación concreta de ficheros en Unix y su estructura de archivos.

El sistema de archivos de Unix está estructurado en forma de árbol jerárquico.

Cada nodo del árbol es un fichero o un directorio.

Directorio es un fichero que contiene una lista de nodos.

Existen dos ficheros especiales que permiten navegar en la jerarquía de directorios.

Los nodos índices son la representación interna de un fichero en Unix.

Los nodos contienen información de localización en disco y metadatos.

Directorio es una pareja de nombre y número de nodo.

Ejemplo de listado de ficheros y directorios con el comando 'ls -a'.

Los atributos de un nodo incluyen modo, número de enlaces, identificadores de usuario y grupo, tamaño, fechas y números de bloque lógico.

Las fechas de los ficheros incluyen último acceso, modificación y cambio.

El modo es una representación de permisos de acceso y tipo de fichero.

Los tipos de ficheros en Unix incluyen ficheros normales y directorios.

Los permisos de acceso son controlados por el propietario, grupo y otros.

El superusuario tiene permisos de lectura, escritura y ejecución sobre todos los ficheros.

El comando 'chmode' permite cambiar los permisos de acceso de un fichero.

El comando 'ls' con opciones como '-l', '-a', '-t', '-r' y '-i' ofrece información detallada sobre ficheros.

Metacaracteres como asterisco y signo de interrogación se utilizan para buscar patrones en ficheros.

Sesión de ejemplo en Unix mostrando el uso de comandos y metacaracteres.

Transcripts

play00:07

hola buenos días hoy tenemos una nueva

play00:09

sesión sobre el sistema de archivos del

play00:12

sistema operativo unix

play00:15

venimos viendo en sesiones anteriores

play00:18

la implementación concreta de ficheros

play00:20

en unix y cuál era su estructura del

play00:22

sistema de archivos y ese va a ser

play00:24

básicamente el tema de nuestra nueva

play00:26

sesión de hoy

play00:30

el sistema de archivos de unix como

play00:32

habíamos visto previamente tiene una

play00:34

forma de estructura en árbol jerárquico

play00:37

este árbol contiene nodos siendo cada

play00:40

nodo o un fichero o un directorio

play00:43

en ese sentido un directorio no es más

play00:45

que un fichero que contiene una lista de

play00:47

nodos incluyendo y es así es una

play00:50

peculiaridad dos ficheros especiales que

play00:52

se hacen referencia a sí mismo y a su

play00:55

directorio padre o ancestro esto permite

play00:58

de alguna manera implementar la relación

play01:01

jerárquica entre directorios y poder

play01:04

navegar arriba y abajo en el árbol

play01:07

un es guarda el sistema de archivos en

play01:09

disco como una lista de nodos los dos

play01:13

que corresponden a esos ficheros y esos

play01:14

directorios que tienen un nombre en

play01:16

particular son los llamados nodos y en

play01:19

inglés hay knowles

play01:25

los nodos índices o nodos y son la

play01:28

representación interna de un fichero en

play01:30

unix nosotros no estamos interesados en

play01:32

los detalles de implementación por sí

play01:34

mismos sino en la medida en que nos

play01:36

permiten comprender el funcionamiento de

play01:38

los comandos

play01:41

los nodos y contienen la información de

play01:44

localización en disco del contenido

play01:46

propiamente dicho de los ficheros y

play01:48

contienen también metadatos o atributos

play01:50

que permiten su gestión y manipulación

play01:52

dentro del sistema de archivos

play01:55

en ese sentido y decíamos que un

play01:57

directorio no más que un listado de

play01:58

ficheros realmente no es un listado de

play02:02

ficheros sino una pareja de nombre y

play02:04

número de su correspondiente no doy

play02:08

aquí lo podemos ver gráficamente un

play02:11

usuario llamado fulano que tuviera en su

play02:15

sub árbol propietario de directorios un

play02:17

directorio llamado bing y dos fichero

play02:19

llamado punto login y carta punto txt al

play02:23

hacer un listado con esas opciones que

play02:26

vemos ahí ls - a y la es para listar

play02:31

todos los ficheros incluidos los que

play02:33

empiezan por punto que por defecto son

play02:35

ocultos y la letra i latina quiere decir

play02:39

mostrar el número de nodo índice pues

play02:42

aún usando estas opciones obtendremos un

play02:45

listado como el que vemos ahí el

play02:47

directorio punto que es sí mismo con un

play02:50

número de y nodo

play02:53

en el fichero punto punto que se refiere

play02:55

a su ancestro y el número dos y los

play02:58

ficheros punto login

play03:00

el directorio bin y el fichero carta txt

play03:02

con sus correspondientes números de

play03:05

nodos y eso es lo que en realidad tiene

play03:07

un directorio cuando los listados

play03:12

además de la información en sí mismo un

play03:15

nodo y tiene una serie de atributos que

play03:17

aquí pueden ver en formato textual y lo

play03:19

pueden leer por su cuenta yo sin embargo

play03:21

voy a dar la explicación del significado

play03:23

de cada uno de estos atributos sobre un

play03:25

dibujo más representativo

play03:28

arriba de la transparencia pueden ver el

play03:31

listado de nodos y qué unics maneja

play03:33

internamente tanto en memoria como

play03:35

guardado en disco no es más que una

play03:36

lista de nodos donde cada nodo es o bien

play03:39

un fichero o un directorio

play03:41

si nos fijamos en un nodo en particular

play03:43

podemos ver que contiene una serie de

play03:46

atributos

play03:47

el atributo llamado modo que le veremos

play03:50

más adelante el número de enlaces que

play03:53

tiene el fichero el identificador de

play03:56

usuario el identificador de grupo de su

play03:59

propietario el tamaño en bytes un

play04:02

conjunto de fechas o times time stamps

play04:05

y los números del bloque lógico en disco

play04:09

donde está el contenido propiamente del

play04:11

fichero si vamos al detalle de las

play04:13

fechas los ficheros en unas tienen tres

play04:16

fechas la de último acceso última

play04:19

modificación y último cambio aparecen

play04:21

sinónimos con diferencias sutiles y por

play04:24

eso pasamos a explicar los acceso es la

play04:26

última vez que el fichero se accedió

play04:28

para la lectura o escritura richard

play04:30

wright

play04:31

la modificación es la última vez que el

play04:34

contenido del fichero cambio y cambie se

play04:37

refiere a la última vez que cambio uno

play04:38

de los metadatos o atributos del fichero

play04:41

no necesariamente el contenido en sí

play04:43

mismo

play04:45

si nos centramos ahora en el modo el

play04:47

modo es una ristra de 16 bits que

play04:50

codifican tres aspectos de interés para

play04:53

los ficheros los primero cuatro

play04:55

representan el tipo del fichero veremos

play04:58

cuántos tipos de unidad hay en la

play04:59

siguiente transparencia el modo de

play05:01

ejecución que no lo vamos a ver en este

play05:04

curso y los permisos de acceso que son

play05:06

los primeros 9 bits de esta palabra de

play05:09

16

play05:12

en cuanto al tipo en unix hay una serie

play05:15

de tipos de ficheros los más relevantes

play05:18

son los ficheros normales o regulares y

play05:21

los directorios hay otros tipos de

play05:24

ficheros que representan artefactos de

play05:26

computación o dispositivos electrónicos

play05:28

pero que no los vamos a ver en este

play05:30

curso una manera de ver el tipo de un

play05:32

fichero es haciendo un listado largo con

play05:34

la opción menos el es del comando ls en

play05:37

cuyo caso el primer carácter del listado

play05:39

que obtendremos será un guión para un

play05:41

fichero normal u ordinario o la letra d

play05:44

minúscula para un fichero que es de

play05:46

hecho un directorio

play05:50

en cuanto a los permisos de acceso es

play05:52

decir que unique se implementa un

play05:54

mecanismo de control de acceso a los

play05:55

recursos en este caso ficheros muy

play05:58

simple pero tremendamente eficaz como

play06:01

casi todas las ideas de diseño en este

play06:03

sistema operativo cada fichero en unix

play06:05

tiene un propietario en general aquel

play06:07

que lo creó el usuario que lo creó y en

play06:10

su nodo índice hay un conjunto de

play06:13

permisos que determina qué puede hacerse

play06:15

con él y quien puede hacerlo respecto de

play06:19

que lo que se puede hacer con un fichero

play06:21

son básicamente tres cosas

play06:24

escribir y ejecutar y respecto de quién

play06:27

pues de no misa y fundamentalmente tres

play06:29

grupos de usuarios que pueden hacer

play06:31

cosas con un fichero el mismo

play06:33

propietario el grupo al que pertenece el

play06:36

propietario porque en un mixto de

play06:38

usuario pertenece a un grupo y others o

play06:41

las terceras personas que no son ni el

play06:43

propietario ni los miembros de su grupo

play06:48

este es el detalle de la codificación de

play06:50

estos 9 bits de los permisos de acceso

play06:52

donde tres determinan qué puede hacer el

play06:55

propietario otros tres que determinan

play06:57

qué puede hacer el grupo y los últimos

play07:00

tres que determinan qué pueden hacer

play07:01

terceros es decir otros donde cada uno

play07:04

de esos grupos son tres bits que

play07:06

determinan si

play07:08

el usuario de ese tipo pueden leer

play07:10

escribir o ejecutar el fichero

play07:12

finalmente un uno en esa posición

play07:15

determina que si se puede y un cero

play07:18

determina que no se puede

play07:22

los permisos de acceso no son inmutables

play07:24

en unix se crean con unos permisos por

play07:27

defecto pero el usuario los puede

play07:30

cambiar para ello utilizará el comando

play07:32

ch

play07:33

x change mode en inglés y que más

play07:36

adelante no transparente se ve con algo

play07:38

más de detalle aprovechamos para decir

play07:41

aquí que hay un tipo de usuario en

play07:42

unirse denominado el superusuario

play07:44

superior y user que no le afectan los

play07:48

permisos de acceso que tiene permisos de

play07:49

lectura escritura y ejecución de

play07:51

cualquier fichero del sistema y en

play07:53

particular hay un identificador de

play07:55

usuario reservado que es root que

play07:57

normalmente se reserva para el

play07:59

administrador del sistema que tiene

play08:01

permisos de superusuario y por tanto

play08:03

puede hacer lo que quiera con cada

play08:05

fichero o directorio del sistema

play08:08

este es el detalle del comando ch mode

play08:12

que tiene un mecanismo de reparar

play08:15

representar los permisos que se

play08:16

atribuyen a un fichero y que recomiendo

play08:19

que lean atentamente a partir de esta

play08:21

transparencia y practicando con su

play08:23

propio sistema operativo

play08:27

en cuanto al comando ls para listar los

play08:30

contenidos de un fichero ahora que

play08:32

conocemos los atributos contenidos en

play08:35

los metadatos del fichero en su nodo

play08:36

índice podemos dar a conocer algunas de

play08:40

las opciones del comando que nos permite

play08:42

obtener información adicional sobre los

play08:44

ficheros con la opción menos l

play08:46

obtendremos un listado detallado o largo

play08:48

que proporcionan la mayor parte de los

play08:51

atributos del nodo índice del fichero la

play08:54

opción menos de en lugar de ordenar por

play08:56

orden alfabético ordena por orden

play08:58

temporal la opción menos resultado las

play09:01

dos anteriores para cambiar el orden

play09:03

alfabético temporal e invertirlo la

play09:06

opción menos a muestra todos los

play09:07

ficheros incluso los que por defecto no

play09:10

se mostrarían que son los que empiezan

play09:11

por punto y finalmente la opción menos

play09:14

se muestra junto con otros detalles el

play09:17

nodo índice el número de nodo índice de

play09:20

cada fichero aquí abajo vemos un ejemplo

play09:23

ls lt asterisco punto html hace un

play09:27

listado de todos los ficheros que acaban

play09:29

en punto html

play09:31

en orden temporal y con detalles

play09:34

empezando por el más recientemente

play09:36

creado el primero y acabando por el más

play09:38

antiguo el último se observa en este

play09:41

ejemplo que hemos utilizado el asterisco

play09:43

para representar cualquier cadena de

play09:45

caracteres porque lo que queremos es

play09:46

especificar con qué nos basta con que

play09:49

acabe en html este tipo de caracteres

play09:52

que son caracteres comodín se denominan

play09:55

meta caracteres y en unix hay algunos

play09:58

más aunque de largo el que más se

play10:01

utiliza es el asterisco para representar

play10:03

una cadena cualquiera de caracteres pero

play10:05

tenemos el signo de cierre de

play10:07

interrogación para representar un

play10:08

carácter individual y se pueden usar

play10:11

también en numeración es o rangos

play10:15

prácticamente para finalizar aquí vemos

play10:17

el volcado de pantalla de una sesión en

play10:20

unix

play10:20

empezamos mostrando con un simple ls los

play10:24

contenidos el contenido del diario vemos

play10:26

que hay tres ficheros muestran en

play10:29

orden alfabético a continuación podemos

play10:32

hacer ls - y para mostrar el número de

play10:35

nodo índice asociado a cada fichero

play10:37

luego podemos hacer

play10:41

ls - ahí para mostrar también los

play10:44

ficheros que comienzan por punto y en

play10:46

particular a las referencias al propio

play10:48

directorio y ya su ancestro luego

play10:51

podemos ver los detalles del fichero

play10:53

page punto html es un listado largo

play10:56

donde vemos el número de nodos índices

play10:59

que se trata de un fichero ordinario los

play11:01

permisos de acceso el identificador de

play11:03

usuario de propietario el tamaño en

play11:05

bytes la fecha de última modificación y

play11:09

finalmente el nombre

play11:11

aprovecho para mostraros que hay un

play11:13

comando que se llama stat que muestra

play11:15

toda la información del nodo índice

play11:18

absolutamente todas

play11:21

finalmente observamos el uso de un meta

play11:24

character asterisco haciendo ls

play11:26

asterisco html y observando que

play11:29

proporciona un listado de todos los

play11:30

ficheros que acaban en punto html en

play11:33

cuyo caso el fichero carta punto txt no

play11:36

aparece en ese listado

play11:39

y bien con esto vamos a dar por cerrada

play11:41

la sesión de hoy hasta el próximo día

Rate This

5.0 / 5 (0 votes)

Related Tags
Sistema de archivosUnixEstructura jerárquicaGestión de ficherosDirectoriosComandos UnixNodos de archivosPermisos de accesoMetadatosSistema operativo
Do you need a summary in English?