Soy nuevo en Linux, así que discúlpeme por la posible confusión que pueda encontrar en esta pregunta.
Por lo que entiendo, el sistema de archivos especifica cómo una partición almacena / gestiona archivos, con estándares como ext2, ext3, reiserfs, xfs, etc. Ocasionalmente veo que la gente parece referirse a cada " directory
" como
/boot filesystem
/usr/bin filesystem
/root filesystem
/bin filesystem
¿Por qué nos referiríamos a estos como filesystems
?
Si cada uno de ellos es una partición, eso me confunde porque, hasta donde yo sé, /usr
y /usr/bin
tienden a estar en la misma partición, pero vi que la gente se refiere a ambos /usr filesystem
y /usr/bin filesystem
.
Si filesystem
aquí es equivalente a Windows directory
, no me queda claro ya que aparentemente el sistema de archivos es algo más que directorios. Además, que yo sepa, Linux no tiene directory
concepto; Todos son archivos.
fuente
/root
, creo que es descartable teniendo en cuenta la complejidad de situación.Respuestas:
Como escribí en /superuser//a/293160/38062 :
El problema aquí es la palabra "sistema de archivos". En los mundos POSIX / Unix / Linux, se usa para significar varias cosas diferentes.
/
y presentado a los softwares de aplicaciones por el núcleo del sistema operativo. Con este significado, la gente habla de sistemas operativos POSIX que tienen un " árbol de sistema de archivos único ", por ejemplo./usr
sistema de archivos ". "/usr
" aquí está el punto de montaje (esperado) del volumen o (en algunos esquemas de partición) su etiqueta de identificación./proc
" o "usar un sistema de archivos tmpfs para/tmp
".Estás viendo el significado # 1 cuando ves "
/usr/bin
sistema de archivos". Es un árbol de sistema de archivos enraizado en el directorio/usr/bin
. Sí, Linux tiene mucho el concepto de directorios.El significado # 2 y el significado # 3 son lo que estás interpretando mal. La gente no habla de
/usr/bin
un conjunto de datos en el disco, delimitado por la división / división de discos. Tampoco se trata de/usr/bin
un tipo particular de controlador de sistema de archivos, o un formato de volumen de disco particular.Otras lecturas
fuente
Por supuesto, Linux usa el concepto de directorios. El concepto de directorios es el mismo que en Windows.
El concepto de sistemas de archivos también es muy similar al que se usa en Windows. Windows usualmente usa NTFS o FAT - Linux usualmente usa ext2, ext3, ext4, etc., esa es la diferencia.
Lo que es diferente es que en Linux los archivos / directorios de todas las particiones disponibles están organizados en un solo árbol. En Windows, usted hace referencia a diferentes particiones usando una letra, fe "a:", "c:", en la ruta completa de Linux a cualquier archivo disponible que comience con "/" - el directorio raíz. Por ejemplo, hay una partición separada en su disco duro con archivos recuperados para arrancar el sistema: ejecuta el comando 'mount' con argumentos apropiados y el contenido de esta partición está disponible en la ruta "/ boot /". Entonces, las rutas fe "/ boot" y "/ home" pueden referirse a datos en diferentes particiones, estas particiones pueden tener diferentes sistemas de archivos. Probablemente causó tu malentendido.
Los directorios que se encuentran físicamente en la misma partición siempre "tendrán el mismo sistema de archivos". Cuando alguien habla sobre el sistema de archivos de algún directorio, en realidad se trata del sistema de archivos de la partición donde se encuentra este directorio.
(Corrección menor y probablemente no importante: a veces el sistema de archivos es virtual y no hay ninguna partición correspondiente. Por ejemplo, "/ proc" contiene algo que se parece mucho a los archivos, pero estos "archivos" son virtuales, no residen en cualquier disco duro y contiene información sobre los procesos en ejecución. Y hay un sistema de archivos "procfs" especial que proporciona una interfaz de tipo de archivo habitual para estos datos)
fuente
Un disco se divide en una o más particiones . Para Windows, generalmente solo hay uno, tal vez con una partición de recuperación oculta en algún lugar. Una partición es un área lógicamente contigua del disco, por ejemplo, "sectores 1 a 10,000,000".
En una partición se puede construir un sistema de archivos. Para Windows, esto es NTFS o FAT; Para Linux, esta es una de las
ext
versiones u otras opciones.Dentro de un sistema de archivos hay archivos y directorios. Linux tiene directorios, no tengo idea de cómo se te ocurrió la idea de que no.
¿Cómo presenta un sistema operativo múltiples particiones en múltiples discos al usuario? En Windows, esto se hace con las letras de unidad :
C:
,D:
etc. En Linux, no hay letras de unidad y todo se hace con puntos de montaje : en un directorio en particular, el acceso redireccionamiento a un sistema de archivos diferente (+) A menudo, si se inserta un CD. o memoria USB aparecerá en algún lugar debajo de/media
o/mnt
./usr
y/usr/bin
generalmente estará en el mismo sistema de archivos, pero no es obligatorio que lo esté. Las personas pueden significar "el sistema de archivos que contiene el/usr/bin
directorio" cuando usan esa fraseología.(+) También puede hacer esto con los puntos de unión NTFS, pero la gente rara vez lo hace. Hasta que se agoten las letras de unidad.
fuente
Es posible mantener un sistema Linux completo en una partición, con todos los subdirectorios en un sistema de archivos.
También es posible distribuirlo en varias particiones, con ciertos subárboles de directorio en diferentes sistemas de archivos. Por ejemplo, es común poner
/home
,/tmp
,/usr
, y/var
en sistemas de archivos separados. Para responder a una de sus preguntas, a veces/usr/bin
también estará en su propio sistema de archivos.Hay ventajas en este esquema. Por ejemplo, si se
/var
llena con muchos correos electrónicos, el resto del sistema no se ve afectado. Del mismo modo, si un sistema de archivos está dañado debido a un bloqueo o algo, otros sistemas de archivos siguen siendo buenos y es más fácil recuperar el sistema.Cuando se inicia el sistema, al principio solo está disponible el sistema de archivos raíz. Los programas guardados allí se ejecutan durante el proceso de arranque. Uno de estos programas,
mount
se ejecuta varias veces, utilizando datos del archivo/etc/fstab
, la tabla del sistema de archivos. Para tomar un ejemplo: originalmente,/home
es solo un directorio ordinario en el sistema de archivos raíz. Luego ejecutamos este comando como root:Esto le dice al sistema que el sistema de archivos en la partición
/dev/sda7
debe montarse en el directorio/home
. Entonces, ahora, todo en ese sistema de archivos se considera bajo/home
.Puede ver lo que está montado actualmente ejecutando
df
.fuente
A veces nos referimos a ellos como
filesystems
, porque a veces esos directorios son puntos de montaje. Demasiado para la única pregunta que hiciste ...filesystem
puede referirse a dos cosas diferentes ... o en realidad dos aspectos muy diferentes de la misma cosa:El concepto de archivos y directorios es una metáfora. Para una computadora solo hay datos y todos los medios no son más que dispositivos que pueden contener datos. Algunos dispositivos permiten leer y escribir datos (por ejemplo, HDD), otros dispositivos solo permiten leer datos (por ejemplo, CD-ROM) e incluso hay dispositivos que permiten solo escribir datos (por ejemplo, impresora). Utilizamos la metáfora del archivo y el directorio para estructurar los datos, de modo que podamos acceder a pequeños fragmentos de datos, en lugar de todo a la vez.
Los sistemas de archivos que colocamos en los medios de almacenamiento, por ejemplo, ext4, xfs, fat, hacen la parte de estructuración. Los usamos para poner etiquetas en fragmentos de datos (archivos) y para tener una lista estructurada consistente de todas las etiquetas (directorios). La lista estructurada es en realidad un árbol. El aspecto más importante es que un árbol tiene exactamente un principio, su raíz. Mantener esta estructura y garantizar que los datos sean y sigan siendo accesibles es una tarea bastante sencilla, por lo que no hay un solo sabor de sistema de archivos.
El otro aspecto de los sistemas de archivos es que el trabajo del sistema operativo es hacer que los datos almacenados en los dispositivos de almacenamiento sean accesibles para todos los programas. Esto se logra por dos cosas:
El sistema operativo ofrece precisamente una interfaz (de programación) para acceder e interactuar con archivos y directorios. Para programas / procesos, no importa si el sistema de archivos en el dispositivo de almacenamiento es ext2, xfs, fat o lo que sea. Los programas / procesos acceden a archivos y directorios de manera uniforme.
El sistema operativo organiza todos los medios de almacenamiento, es decir, sus sistemas de archivos, en una estructura superior. Los programas acceden a archivos y directorios a través de esta estructura superior y no necesitan interactuar directamente con los dispositivos de almacenamiento. De esa manera, los programas no necesitan preocuparse sobre en qué dispositivo residen realmente los datos. Esta estructura superior a menudo se denomina "sistema de archivos virtual" del núcleo.
Agregar el sistema de archivos de un dispositivo de almacenamiento al sistema de archivos virtual se llama "montar" un sistema de archivos. Cuando su Linux se está iniciando, el núcleo crea el sistema de archivos virtual (VFS). Justo después de la creación, está vacío y consiste solo en su punto de entrada, también conocido como su raíz, transcrito
/
. Luego, el núcleo monta un sistema de archivos en la raíz del VFS. Esto es un ramdisk o inmediatamente un sistema de archivos en una partición en un disco duro. Como se agrega en la raíz del VFS, esta partición a menudo se conoce como el sistema de archivos raíz.Ahora aquí viene la parte donde las líneas se difuminan y vemos que los sistemas de archivos en los dispositivos de almacenamiento y el VFS del núcleo son en realidad dos aspectos de la misma tarea del sistema operativo: con el montaje de un sistema de archivos raíz, el VFS contiene muchos archivos y directorios, todos los cuales existe en la partición raíz. Sin embargo, cada directorio puede convertirse en un "punto de montaje". Un punto de montaje es donde el VFS coloca el punto de entrada a un sistema de archivos en un dispositivo de almacenamiento. Esto significa que cada vez que montamos un sistema de archivos en un directorio, le decimos al VFS que en lugar de acceder a los datos almacenados en ese directorio, preferimos acceder a los datos en un dispositivo de almacenamiento diferente. Los puntos de montaje suelen ser directorios vacíos, por lo que no hacemos que los datos sean inaccesibles al montar otros sistemas de archivos en la parte superior.
Cuando instala su sistema operativo, depende de usted si desea colocar todos los datos en un sistema de archivos que luego se convierte en su sistema de archivos raíz, o si desea dividir sus datos entre múltiples sistemas de archivos. Este último requiere que su sistema operativo monte todos los sistemas de archivos individuales, para que todos los datos sean accesibles. La forma en que divide las cosas es una cuestión de cómo diseña su sistema. Es por eso que a veces los directorios que conoce de su instalación se denominan sistemas de archivos.
Para las computadoras que generalmente tenemos en casa, ya no es necesario dividir su instalación en múltiples sistemas de archivos. Aún así, puede haber buenas razones para hacerlo, pero esto está fuera del alcance de esta publicación.
Para mantener breve el resto de esta publicación: las particiones son otro medio de estructurar datos en dispositivos de almacenamiento. Con las particiones, se obtiene un espacio de almacenamiento contiguo desde un dispositivo de almacenamiento físico y se ofrecen como dispositivos de almacenamiento individuales al sistema operativo (en el que se pueden colocar sistemas de archivos para montar en el VFS). Una razón para hacerlo puede ser que uno solo tiene un disco duro, pero quiere emplear muchos sistemas de archivos diferentes. La partición en la que vive el sistema de archivos raíz a menudo se denomina partición raíz.
fuente
Estás haciendo un poco de confusión.
Filesystem
indica un mecanismo por el cual los archivos se ubican y organizan en un dispositivo de almacenamiento o en una memoria masiva, como un disco duro o un CD-ROM y, en algunos casos, también en la RAM.Incluso las ventanas usos tales como sistemas de archivos
NTFS
o, antes,FAT
.Su ejemplo muestra una práctica común para los sistemas Linux y Unix, tener su propio sistema compuesto de diferentes sistemas de archivos montados en directorios llamados punto de montaje. Esto permite, en caso de problemas, limitar el daño a uno o más pero no a todos los sistemas de archivos.
Entonces, FS no es equivalente a un directorio, y también en Linux hay directorios, que son un tipo especial de archivo
fuente