Herramientas de usuario

Herramientas del sitio


linux:sistemasyarchivos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
linux:sistemasyarchivos [2018/10/27 01:02] albertolinux:sistemasyarchivos [2018/11/30 12:41] (actual) – [Árbol de directorios de Linux] alberto
Línea 4: Línea 4:
   * **Cerrar ventana**: alt + F4   * **Cerrar ventana**: alt + F4
   * **Menú de ventana**: alt + espacio   * **Menú de ventana**: alt + espacio
-  * **Pasar de una entana a otra**: alt + tabulador+  * **Pasar de una ventana a otra**: alt + tabulador 
 +  * **Abrir un terminal**: ctrl + alt + T 
 + 
 +===== Archivos en linux ===== 
 +En linux "todo es un archivo". Esto quiere decir que para Linux todo flujo de información es identificado como un archivo, desde un documento de texto, a la información transmitida por periféricos o la contenida en unidades de almacenamiento de datos. 
 +Los archivos son identificados por el sistema operativo por un número identificativo denominado "inodo" (//Information Node//). Un mismo flujo de información puede guardarse con diferentes nombres, pero su inodo sería el mismo. 
 +Podemos listar los archivos del directorio donde nos encontremos con el comando **ls -il**:  
 +  * **ls**: Lista los archivos y directorios contenidos en el directorio actual. 
 +  * **-i**: Opción que añade los inodos a los elementos mostrados. 
 +  * **-l**: Opción que añade toda la información disponible a los elementos mostrados (usuario, grupo, permisos, tamaño, fechay hora de creación). 
 + 
 +Delante de los permisos de los archivos aparece un carácter que indica el tipo de archivo: 
 +  * **-**: Archivo normal. 
 +  * **.**: Archivo oculto. 
 +  * **d**: Directorio. 
 +  * **b**: "Modo bloque", dispositivo de almacenamiento de datos (CD, DVD, discos duros). 
 +  * **c**: "Modo carácter", son dispositivos periféricos de entrada/salida (ratón, puertos, etc). 
 +  * **l**: "Enlace simbólico", puntero que apunta a otro fichero o carpeta al que está vinculado (tienen inodos diferentes). 
 +  * **p**: "Tubería" (//pipe//), conexiones entre programas (por ejemplo, permiten usar la salida de un programa como entrada de otro). 
 +  * **s**: //Socket//, conexiones de red. 
 + 
 +Al ser listados en un terminal, también podemos conocer el tipo de archivo en función del color en el que se representa: 
 +  * Archivo normal: negro. 
 +  * Ejecutable: verde. 
 +  * Archivo de audio: cían resaltado. 
 +  * Enlace simbólico: cían. 
 +  * Vínculos perdidos: blanco o negro sobre fondo rojo. 
 +  * Drivers de dipositivos: amarillo sobre fondo negro. 
 +  * Archivo de imagen: magenta claro. 
 +  * Archivo comprimido: rojo. 
 +  * Directorio: azul. 
 +  * Tubería: amarillo. 
 + 
 +Los archivos pueden ser de dos tipos en función de la capacidad de ser modificados: 
 +  * **Estáticos**: Sólo pueden ser modificados por el administrador del sistema. 
 +  * **Variables**: Archivos normales, modificables en función de sus permisos. 
 + 
 +Todos los archivos pueden compartirse, salvo los propios el sistema. 
 + 
 +===== Árbol de directorios de Linux ===== 
 +En Linux los archivos se ubican en función de una estructura de archivos determinada por el proyecto FHS (//Filesystem Hierarchy Standard//), que por ser una guía voluntaria, es posible que existan pequeñas diferencias entre diferentes distribuciones.  
 +A continuación  se listan los directorios de esta estructura: 
 +  * **Raíz o /**: Directorio superior que contiene a todos los demás. Aquí se encuentran los recursos que permiten que el sistema funcione y se restaure, como por ejemplo: 
 +    * Enlace al //Kernel// de linux: vmlinuz, ubicado en /boot. 
 +    * Imagen inicial del sistema de archivos raíz: initrd.img, ubicado en /boot. 
 +  * **/bin**: Aquí se guardan los archivos ejecutables (como los .exe de windows). En este directorio nunca hay subdirectorios. Junto al nombre de cada elemento podemos encontrarnos: 
 +    * **@**: Indica que el elementos es un enlace simbólico. 
 +    * *****: Indica que el elemento es un ejecutable. 
 +  * **/boot**: Archivos necesarios para arrancar el sistema, por ejemplo la subcarpeta /grub con el archivo del menú de arranque grub.cfg. 
 +  * **/dev**: Definiciones de los dispositivos (//device drivers//). Estos archivos se crean durante la instalación o con el script MAKEDEV, cuyo enlace simbólico también se encuentra en esta carpeta. Los dispositivos pueden ser de 2 tipos: 
 +    * **De bloque**: almacenan datos y los transfieren en bloques (particiones, cdrom, etc). 
 +    * **De carácter**: sólo transfieren datos (periféricos de entrada/salida, por ejemplo). 
 +    * Como curiosidad, /dev/null es un agujero negro: archivo en el que podemos hacer desaparecer cualquier dato que le enviemos (eliminación de errores, salidas de pantalla de una orden, etc). 
 +  * **/etc**: Archivos de configuración y arranque del sistema, de aplicaciones instaladas y los servicios de red. Se trata de archivos estáticos, nunca de ejecutables, ubicados en subdirectorios. También se encuentran aquí algunos archivos básicos del sistema, como los de usuario /etc/passwd, terminal /etc/bashrc, puntos de montaje y sistema de archivos /etc/fstab o la configuración de inicio /etc/inittab. 
 +  * **/home** y **/root**: Carpeta de cada usuario, a la que sólo él tiene acceso, y carpeta del superusuario (root). Suele instalarse en una partición aparte para salvar la información en caso de que el sistema operativo se rompa. También podemos encontrar en ocasiones la carpeta /home/lost+found en donde se guarda la información perdida, por ejemplo en caso de apagado brusco e incorrecto. La carpeta oculta /home/.thumbnails guarda una pequeña copia de las imágenes visualizadas. 
 +  * **/lib**: Bibliotecas compartidas utilizadas por los ejecutables del sistema y por los programas instalados. En la subcarpeta /lib/modules se encuentran los módulos del kernel que permiten el funcionamiento de elementos del hardware. 
 +  * **/media**: En este directorio se montan los dispositivos de almacenamiento extraíbles. 
 +  * **/mnt**: Directorio donde se montan temporalmente los sistemas de archivos externos. 
 +  * **/opt**: Complementos de los programas instalados. Normalmente se instalan es sus propios subdirectorios, pero en algunos casos lo hacen aquí. 
 +  * **/proc**: Sistema virtual de archivos (en memoria) mediante el cual el kernel se comunica con los usuarios e informa de los procesos que está desarrollando. Los nombres de los archivos son en realidad PID, es decir, números de procesos. La fecha y la hora hace referencia al inicio de sesión. 
 +  * **/sbin**: Ejecutables necesarios para el funcionamiento del sistema, los que permiten su arranque y recuperación. Acceso restringido al administrador. Algunos son enlaces a binarios que se encuentran en /usr/bin o /usr/local/bin. 
 +  * **/tmp**: Carpeta temporal de archivos.  
 +  * **/usr**: Programas instalados por los usuarios y algunas aplicaciones propias del sistema. Contenido habitual: 
 +    * **/usr/bin**: Ejecutables (o "binarios") que puede utilizar el usuario del sistema. Son más de 2000. 
 +    * **/usr/games**: Juegos instalados. 
 +    * **/usr/include**: //Headers// de los programas que pueden usar los usuarios. 
 +    * **/usr/lib** y **/usr/lib64**: Bibliotecas compartidas de los programas instalados, los escritorios o los lenguajes de programación. 
 +    * **/usr/local**: software que ha instalado el usuario. Estructura similar a /usr. 
 +    * **/usr/bin**: Binarios no esenciales para el sistema, sólo ejecutables por el administrador. 
 +    * **/usr/share**: Contiene subdirectorios con archivos de configuración estáticos que pueden ser compartidos por cualquier equipo con el mismo sistema operativo: documentos y manuales del sistema y de los programas instalados (/doc. /man), lista de palabras usadas por el sistema (/dict), mensajes de error de alguna aplicación concreta (/modconf), etc. 
 +    * **/usr/src**: Código fuente del kernel. 
 +  * **/var**: Archivos dinámicos que varían conforme se hace uso del sistema y que no se pueden compartir con otros equipos. Carpetas habituales que contiene: 
 +    * **/var/cache**: Archivos con datos de aplicaciones en memoria caché. 
 +    * **/var/lock**: Los archivos que se almacenan aquí están bloqueados por el sistema. 
 +    * **/var/log**: Registros del sistema. Cuando ocupan mucho se comprimen en formato .gz. 
 +    * **/var/mail/**: Buzones y mensajes de correo. 
 +  * **/srv**: Archivos de datos de un servicio en particular. 
 + 
 +===== Permisos de archivos y carpetas ===== 
 +Linux es un sistema completamente multiusuario, por lo que existen unas normas acerca de a qué archivos pueden acceder los usuarios, y qué pueden hacer con ellos. 
 +Cuando se crea un usuario, al mismo tiempo se crea un grupo con el mismo nombre del usuario, al que el usuario pertenece. El superusuario, o //root//, también tiene su propio grupo. 
 +Para gestionar los permisos de un archivo concreto, Linux distingue entre diferentes tipos de usuario: 
 +  * **Propietario**: Usuario que creó el archivo o directorio. 
 +  * **Grupo**: Grupo de usuarios al que pertenece el archivo. Se trata del grupo al que pertenece el usuario que lo creó. 
 +  * **Resto de usuarios**: Usuarios que no pertenecen al grupo del archivo. 
 +Para cada tipo de usuario del archivo, se pueden definir varios tipos de permisos: 
 +  * **Lectura**: Permite abrir el archivo, pero no realizar modificaciones.  
 +  * **Escritura**: Permite modificar el archivo. 
 +  * **Ejecución**: Si es un ejecutable, permite ejecutar el archivo. Si es un directorio, permite listar el contenido y modificarlo. 
 +Todos los archivos creados por un usuario, tienen como propietario al usuario que lo creó y pertenecen al grupo del usuario que lo creó, lo que permite compartir archivos de forma sencilla. 
 +El propietario del archivo es el único que puede modificar el propietario y grupo del archivo, así como los permisos de cada tipo de usuario. 
 +El superusuario root tiene acceso ilimitado a todos los elementos del sistema, por lo que puede modificar del propietario, grupo y permisos de cualquier archivo.
linux/sistemasyarchivos.1540594922.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki