GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Speicherort der ini/config-Dateien in Linux/Unix?

Neuere Anwendungen

Befolgen Sie normalerweise die XDG-Basisverzeichnisspezifikation ~/.config/yourapp/* kann INF, JSON, YML oder welches Format auch immer Ihr Boot sein mag, und welche Dateien auch immer ... yourapp sollte mit Ihrem ausführbaren Namen übereinstimmen oder mit Ihrer Organisation/Ihrem Unternehmen/Benutzernamen/Handle bis ~/.config/yourorg/yourapp/* benannt werden

Ältere Anwendungen

Benutzerspezifische Konfiguration, normalerweise direkt in Ihrem Home-Verzeichnis...

  • ~/.yourapp Datei für eine einzelne Datei
  • ~/.yourapp/ für mehrere Dateien + Daten normalerweise in ~/.yourapp/config

Globale Konfigurationen befinden sich im Allgemeinen in /etc/appname Datei oder /etc/appname/ Verzeichnis.

Globale App-Daten:/var/lib/yourapp/

Cache-Daten:/var/cache/

Protokolldaten:/var/log/yourapp/

Einige zusätzliche Informationen von tutorialhelpdesk.com

Die Verzeichnisstruktur von Linux/anderen Unix-ähnlichen Systemen und Verzeichnisdetails.

Unter Windows installieren fast alle Programme ihre Dateien (alle Dateien) im Verzeichnis mit dem Namen:'Program Files' Dies ist bei Linux nicht der Fall. Das Verzeichnissystem kategorisiert alle installierten Dateien. Alle Konfigurationsdateien befinden sich in /etc , alle Binärdateien befinden sich in /bin oder /usr/bin oder /usr/local/bin . Hier ist die gesamte Verzeichnisstruktur zusammen mit dem, was sie enthalten:

/ - Stammverzeichnis, das die Basis des Dateisystems bildet. Alle Dateien und Verzeichnisse sind unabhängig von ihrem physischen Standort logisch im Stammverzeichnis enthalten.

/bin - Enthält die ausführbaren Programme, die Teil des Linux-Betriebssystems sind. Viele Linux-Befehle wie cat, cp, ls, more und tar befinden sich in /bin

/boot - Enthält den Linux-Kernel und andere Dateien, die von den Bootmanagern LILO und GRUB benötigt werden.

/dev - Enthält alle Gerätedateien. Linux behandelt jedes Gerät als eine spezielle Datei. Alle diese Dateien befinden sich in /dev .

/etc - Enthält die meisten Systemkonfigurationsdateien und die Initialisierungsskripte in /etc/rc.d Unterverzeichnis.

/home - Das Home-Verzeichnis ist das übergeordnete Verzeichnis der Home-Verzeichnisse der Benutzer.

/lib - Enthält Bibliotheksdateien, einschließlich ladbarer Treibermodule, die zum Booten des Systems benötigt werden.

/lost+found - Verzeichnis für verlorene Dateien. Jede Festplattenpartition hat ein Lost+Found-Verzeichnis.

/media - Verzeichnis zum Mounten von Dateisystemen auf Wechselmedien wie CD-ROM-Laufwerken, Disketten und Zip-Laufwerken.

/mnt - Ein Verzeichnis für temporär gemountete Dateisysteme.

/opt - Optionale Softwarepakete kopieren/installieren Dateien hier.

/proc - Ein spezielles Verzeichnis in einem virtuellen Dateisystem. Es enthält Informationen über verschiedene Aspekte eines Linux-Systems.

/root - Home-Verzeichnis des Root-Benutzers.

/sbin - Enthält administrative Binärdateien. Befehle wie mount, shutdown, umount befinden sich hier.

/srv - Enthält Daten für vom System angebotene Dienste (HTTP, FTP usw.).

/sys - Ein spezielles Verzeichnis, das Informationen über die Geräte enthält, wie sie vom Linux-Kernel gesehen werden.

/tmp - Temporäres Verzeichnis, das als Scratch-Verzeichnis (Speicher für temporäre Dateien) verwendet werden kann. Der Inhalt dieses Verzeichnisses wird bei jedem Systemstart gelöscht.

/usr - Enthält Unterverzeichnisse für viele Programme wie das X Window System.

/usr/bin - Enthält ausführbare Dateien für viele Linux-Befehle. Es ist nicht Teil des zentralen Linux-Betriebssystems.

/usr/include - Enthält Header-Dateien für die Programmiersprachen C und C++

/usr/lib - Enthält Bibliotheken für die Programmiersprachen C und C++.

/usr/local - Enthält lokale Dateien. Es hat ähnliche Verzeichnisse wie /usr enthält.

/usr/sbin - Enthält Verwaltungsbefehle.

/usr/share - Enthält Dateien, die gemeinsam genutzt werden, wie Standardkonfigurationsdateien, Bilder, Dokumentation usw.

/usr/src - Enthält den Quellcode für den Linux-Kernel.

/var - Enthält verschiedene Systemdateien wie Log, E-Mail-Verzeichnisse, Druckwarteschlange usw., die sich im Laufe der Zeit in Anzahl und Größe ändern.

/var/cache - Speicherbereich für zwischengespeicherte Daten für Anwendungen.

/var/lib - Enthält Informationen zum aktuellen Stand der Bewerbungen. Programme ändern dies, wenn sie ausgeführt werden.

/var/lock - Enthält Sperrdateien, die von Anwendungen überprüft werden, damit eine Ressource nur von einer Anwendung verwendet werden kann.

/var/log - Enthält Protokolldateien für verschiedene Anwendungen.

/var/mail - Enthält die E-Mails der Benutzer.

/var/opt - Enthält variable Daten für Pakete, die im /opt-Verzeichnis gespeichert sind.

/var/run - Enthält Daten, die das System seit dem Booten beschreiben.

/var/spool - Enthält Daten, die auf eine Verarbeitung warten.

/var/tmp - Enthält temporäre Dateien, die zwischen Systemneustarts erhalten bleiben.


Sie sollten Ihre Anwendung an die XDG Base Directory Specification halten . Die meisten Antworten hier sind entweder veraltet oder falsch.

Ihre Anwendung sollte Daten und Konfigurationsdateien in/aus den Verzeichnissen speichern und laden, auf die die folgenden Umgebungsvariablen verweisen:

  • $XDG_DATA_HOME (Standard:"$HOME/.local/share" ):Benutzerspezifische Datendateien.
  • $XDG_CONFIG_HOME (Standard:"$HOME/.config" ):Benutzerspezifische Konfigurationsdateien.
  • $XDG_DATA_DIRS (Standard:"/usr/local/share/:/usr/share/" ):nach Priorität geordneter Satz von Systemdatenverzeichnissen.
  • $XDG_CONFIG_DIRS (Standard:"/etc/xdg" ):nach Priorität geordneter Satz von Systemkonfigurationsverzeichnissen.
  • $XDG_CACHE_HOME (Standard:"$HOME/.cache" ):benutzerspezifische nicht wesentliche Datendateien.

Sie sollten zunächst feststellen, ob es sich bei der betreffenden Datei um:

handelt
  1. Eine Konfigurationsdatei ($XDG_CONFIG_HOME:$XDG_CONFIG_DIRS );
  2. Eine Datendatei ($XDG_DATA_HOME:$XDG_DATA_DIRS ); oder
  3. Eine unwesentliche (Cache-)Datei ($XDG_CACHE_HOME ).

Es wird empfohlen, dass Ihre Anwendung ihre Dateien in einem Unterverzeichnis der oben genannten Verzeichnisse ablegt. Normalerweise so etwas wie $XDG_DATA_DIRS/<application>/filename oder $XDG_DATA_DIRS/<vendor>/<application>/filename .

Beim Laden versucht man zunächst, die Datei aus den benutzerspezifischen Verzeichnissen ($XDG_*_HOME ) und, falls fehlgeschlagen, aus Systemverzeichnissen ($XDG_*_DIRS ). Speichern Sie beim Speichern nur in benutzerspezifischen Verzeichnissen (da der Benutzer wahrscheinlich keinen Schreibzugriff auf Systemverzeichnisse hat).

Weitere, stärker benutzerorientierte Verzeichnisse finden Sie in der XDG User Directories Specification . Es definiert Verzeichnisse für den Desktop, Downloads, Dokumente, Videos usw.


  1. Im Allgemeinen wird die System-/globale Konfiguration irgendwo unter /etc gespeichert.
  2. Benutzerspezifische Konfigurationen werden im Home-Verzeichnis des Benutzers gespeichert, oft als versteckte Datei, manchmal als verstecktes Verzeichnis, das nicht versteckte Dateien (und möglicherweise weitere Unterverzeichnisse) enthält.

Im Allgemeinen überschreiben Befehlszeilenoptionen Umgebungsvariablen, die Benutzervorgaben überschreiben, die wiederum Systemvorgaben überschreiben.


Linux
  1. Linux – Ist Linux ein Unix?

  2. Der Zweck des Lost+Found-Ordners in Linux und Unix?

  3. Linux – Standard- und/oder gemeinsame Verzeichnisse auf Unix/Linux-Betriebssystemen?

  4. 10 Cat-Befehlsbeispiele zum Verwalten von Dateien unter Linux / UNIX

  5. Wie kopiere ich Ordner mit Dateien in einen anderen Ordner in Unix/Linux?

Rm-Befehl unter Linux

So installieren Sie Rclone unter Linux und Unix

mkdir-Befehl unter Linux/Unix

Linux gegen Unix

Grep-Befehl unter Linux/UNIX

ls-Befehl unter Linux/UNIX