GNU/Linux >> Tutoriales Linux >  >> Linux

¿Ubicación de archivos ini/config en linux/unix?

Aplicaciones más recientes

Siga la especificación del directorio base de XDG normalmente ~/.config/yourapp/* puede ser INF, JSON, YML o cualquier formato que le guste, y cualquier archivo... yourapp debe coincidir con el nombre de su ejecutable, o tener un espacio de nombre con su organización/empresa/nombre de usuario/identificador a ~/.config/yourorg/yourapp/*

Aplicaciones antiguas

Configuración por usuario, generalmente directamente en su directorio de inicio...

  • ~/.yourapp archivo para un solo archivo
  • ~/.yourapp/ para múltiples archivos + datos generalmente en ~/.yourapp/config

Las configuraciones globales generalmente están en /etc/appname archivo o /etc/appname/ directorio.

Datos globales de la aplicación:/var/lib/yourapp/

Caché de datos:/var/cache/

Datos de registro:/var/log/yourapp/

Información adicional de tutorialhelpdesk.com

La estructura de directorios de Linux/otros sistemas similares a Unix y los detalles del directorio.

En Windows, casi todos los programas instalan sus archivos (todos los archivos) en el directorio denominado:'Archivos de programa' Este no es el caso en Linux. El sistema de directorio clasifica todos los archivos instalados. Todos los archivos de configuración están en /etc , todos los archivos binarios están en /bin o /usr/bin o /usr/local/bin . Aquí está la estructura completa del directorio junto con lo que contienen:

/ - Directorio raíz que forma la base del sistema de archivos. Todos los archivos y directorios están lógicamente contenidos dentro del directorio raíz, independientemente de sus ubicaciones físicas.

/bin - Contiene los programas ejecutables que forman parte del sistema operativo Linux. Muchos comandos de Linux, como cat, cp, ls, more y tar, se encuentran en /bin

/boot - Contiene el kernel de Linux y otros archivos que necesitan los administradores de arranque LILO y GRUB.

/dev - Contiene todos los archivos del dispositivo. Linux trata cada dispositivo como un archivo especial. Todos estos archivos se encuentran en /dev .

/etc - Contiene la mayoría de los archivos de configuración del sistema y los scripts de inicialización en /etc/rc.d subdirectorio.

/home - El directorio de inicio es el padre de los directorios de inicio de los usuarios.

/lib - Contiene archivos de biblioteca, incluidos los módulos de controlador cargables necesarios para iniciar el sistema.

/lost+found - Directorio de archivos perdidos. Cada partición de disco tiene un directorio perdido y encontrado.

/media - Directorio para montar sistemas de archivos en medios extraíbles como unidades de CD-ROM, disquetes y unidades Zip.

/mnt - Un directorio para sistemas de archivos montados temporalmente.

/opt - Los paquetes de software opcionales copian/instalan archivos aquí.

/proc - Un directorio especial en un sistema de archivos virtual. Contiene información sobre varios aspectos de un sistema Linux.

/root - Directorio de inicio del usuario root.

/sbin - Contiene archivos binarios administrativos. Comandos como montar, apagar, desmontar, residen aquí.

/srv - Contiene datos de los servicios (HTTP, FTP, etc.) que ofrece el sistema.

/sys - Un directorio especial que contiene información sobre los dispositivos, tal como los ve el kernel de Linux.

/tmp - Directorio temporal que se puede utilizar como directorio temporal (almacenamiento de archivos temporales). El contenido de este directorio se borra cada vez que se inicia el sistema.

/usr - Contiene subdirectorios para muchos programas, como el sistema X Window.

/usr/bin - Contiene archivos ejecutables para muchos comandos de Linux. No es parte del sistema operativo central de Linux.

/usr/include - Contiene archivos de encabezado para lenguajes de programación C y C++

/usr/lib - Contiene bibliotecas para lenguajes de programación C y C++.

/usr/local - Contiene archivos locales. Tiene directorios similares a los que contiene /usr.

/usr/sbin - Contiene comandos administrativos.

/usr/share - Contiene archivos que se comparten, como archivos de configuración predeterminados, imágenes, documentación, etc.

/usr/src - Contiene el código fuente del kernel de Linux.

/var - Contiene varios archivos del sistema, como registros, directorios de correo, cola de impresión, etc., que tienden a cambiar en número y tamaño con el tiempo.

/var/cache - Área de almacenamiento de datos en caché para aplicaciones.

/var/lib - Contiene información relativa al estado actual de las aplicaciones. Los programas modifican esto cuando se ejecutan.

/var/lock - Contiene archivos de bloqueo que las aplicaciones verifican para que un recurso solo pueda ser utilizado por una aplicación.

/var/log - Contiene archivos de registro para diferentes aplicaciones.

/var/mail - Contiene los correos electrónicos de los usuarios.

/var/opt - Contiene datos variables para paquetes almacenados en el directorio /opt.

/var/run - Contiene datos que describen el sistema desde que se inició.

/var/spool - Contiene datos que están esperando algún tipo de procesamiento.

/var/tmp - Contiene archivos temporales conservados entre reinicios del sistema.


Debe adherir su aplicación a la Especificación de directorio base XDG . La mayoría de las respuestas aquí son obsoletas o incorrectas.

Su aplicación debe almacenar y cargar datos y archivos de configuración hacia/desde los directorios señalados por las siguientes variables de entorno:

  • $XDG_DATA_HOME (predeterminado:"$HOME/.local/share" ):archivos de datos específicos del usuario.
  • $XDG_CONFIG_HOME (predeterminado:"$HOME/.config" ):archivos de configuración específicos del usuario.
  • $XDG_DATA_DIRS (predeterminado:"/usr/local/share/:/usr/share/" ):conjunto ordenado por precedencia de directorios de datos del sistema.
  • $XDG_CONFIG_DIRS (predeterminado:"/etc/xdg" ):conjunto ordenado por precedencia de directorios de configuración del sistema.
  • $XDG_CACHE_HOME (predeterminado:"$HOME/.cache" ):archivos de datos no esenciales específicos del usuario.

Primero debe determinar si el archivo en cuestión es:

  1. Un archivo de configuración ($XDG_CONFIG_HOME:$XDG_CONFIG_DIRS );
  2. Un archivo de datos ($XDG_DATA_HOME:$XDG_DATA_DIRS ); o
  3. Un archivo no esencial (caché) ($XDG_CACHE_HOME ).

Se recomienda que su aplicación coloque sus archivos en un subdirectorio de los directorios anteriores. Por lo general, algo como $XDG_DATA_DIRS/<application>/filename o $XDG_DATA_DIRS/<vendor>/<application>/filename .

Al cargar, primero intenta cargar el archivo desde los directorios específicos del usuario ($XDG_*_HOME ) y, si falla, desde los directorios del sistema ($XDG_*_DIRS ). Al guardar, guárdelo solo en directorios específicos del usuario (ya que el usuario probablemente no tendrá acceso de escritura a los directorios del sistema).

Para otros directorios más orientados al usuario, consulte la Especificación de directorios de usuarios de XDG. . Define directorios para el Escritorio, descargas, documentos, videos, etc.


  1. Generalmente, la configuración global/del sistema se almacena en algún lugar bajo /etc.
  2. La configuración específica del usuario se almacena en el directorio de inicio del usuario, a menudo como un archivo oculto, a veces como un directorio oculto que contiene archivos no ocultos (y posiblemente más subdirectorios).

En términos generales, las opciones de la línea de comandos anularán las variables de entorno que anularán los valores predeterminados del usuario que anularán los valores predeterminados del sistema.


Linux
  1. Linux:¿Linux es un Unix?

  2. Linux:¿directorios estándar y/o comunes en sistemas operativos Unix/linux?

  3. Linux:¿los diferentes kernels de Linux/unix son intercambiables?

  4. 10 ejemplos de comandos Cat para administrar archivos en Linux / UNIX

  5. Ubicación no predeterminada para el archivo de configuración ssh en Linux

Comando Rm en Linux

Cómo instalar Rclone en Linux y Unix

Comando mkdir en Linux/Unix

Linux frente a Unix

Comando Grep en Linux/UNIX

Comando ls en Linux/UNIX