config ini env hcl plist terraform devops sysadmin file-extensions

Referenz für Konfigurationsdateiformate: INI, ENV, PLIST, HCL und mehr

Verwirrt von verschiedenen Konfigurationsdateien? Ein vollständiger Leitfaden zu den Dateiendungen .ini, .conf, .env, .properties, .plist, .hcl, .tf, .ovpn und .wg.

2026-04-11

Referenz für Konfigurationsdateiformate: INI, ENV, PLIST, HCL und mehr

In der modernen Softwareentwicklung und Systemadministration haben wir es mit Dutzenden von verschiedenen Konfigurationsdateiformaten zu tun. Während JSON, YAML und TOML die aktuellen Favoriten der Branche sind, halten sich viele andere Erweiterungen in spezifischen Ökosystemen wie Linux-Systemen, der Windows-Registrierung, Apple macOS, Java und Infrastructure-as-Code (IaC).

Dieser Referenzleitfaden deckt die gebräuchlichsten „Legacy“- und spezialisierten Konfigurationsdateierweiterungen ab, denen Sie begegnen werden.


Kurzreferenztabelle: Konfigurationsdateiformate

Erweiterung Vollständiger Name Ökosystem Syntaxtyp
.ini, .conf, .cfg Initialisierung / Konfiguration Linux, Windows, PHP, Python Key-Value / Sektionen
.env Umgebungsvariablen Webentwicklung (Node.js, Docker, Python) Key=Value
.properties Java-Eigenschaften Java, Spring, Android Key=Value (oder XML)
.plist Eigenschaftsliste macOS, iOS, Apple XML oder Binär
.hcl, .tf, .tfvars HashiCorp Configuration Language Terraform, Nomad, Consul Domain-Specific Language (DSL)
.ovpn, .wg OpenVPN / WireGuard-Konfiguration Netzwerk, VPN Direktivenbasiert

1. System- & Legacy-Konfiguration (.ini, .conf, .cfg)

Dies sind die „Großväter“ der Konfigurationsdateien. Sie sind einfach, textbasiert und für Menschen lesbar.

  • INI-Dateien: Oft in Windows und älterer Software verwendet. Sie verwenden [Sektionen], um Key-Value-Paare zu gruppieren.
    [database]
    host = 127.0.0.1
    port = 5432
    
  • CONF / CFG: Hauptsächlich in Linux /etc/-Verzeichnissen verwendet (z. B. nginx.conf, redis.conf). Die Syntax variiert – einige verwenden einfache Key-Value-Paare, während andere geschweifte Klammern oder benutzerdefinierte Direktiven verwenden.

2. Umgebungsvariablen (.env)

Die .env-Datei ist ein Standard in der modernen Webentwicklung zum Speichern von „Geheimnissen“ und umgebungsspezifischen Einstellungen (wie Datenbank-URLs oder API-Schlüsseln), die nicht in Git committet werden sollten.

  • Syntax: Extrem einfaches KEY=VALUE-Format.
  • Best Practice: Committen Sie .env niemals in die Quellcodeverwaltung. Verwenden Sie stattdessen eine .env.example-Datei, um erforderliche Variablen anzuzeigen.

3. Enterprise & Java (.properties)

Wird seit Jahrzehnten von der Java Virtual Machine (JVM) verwendet. Es ähnelt einer .env-Datei, unterstützt jedoch komplexeres Escaping und kann sogar als XML formatiert werden.

  • Häufige Verwendung: application.properties in Spring-Boot-Anwendungen.
  • Syntax: database.url=jdbc:mysql://localhost:3306/db

4. Das Apple-Ökosystem (.plist)

Property-Listen sind der Standard für macOS- und iOS-Apps. Sie speichern Benutzereinstellungen und App-Metadaten (wie Info.plist).

  • Formate: Sie können als für Menschen lesbares XML oder als optimierte Binärdateien gespeichert werden.
  • Anzeige: Verwenden Sie den „Property List Editor“ auf macOS oder konvertieren Sie sie mit dem Befehlszeilentool plutil in JSON.

5. Infrastructure as Code (.hcl, .tf, .tfvars)

HCL wurde von HashiCorp entwickelt, um die Lücke zwischen für Menschen lesbarem YAML und maschinenlesbarem JSON zu schließen. Es ist die primäre Sprache für Terraform.

  • HCL: Sehr ausdrucksstark, unterstützt Kommentare, Variablen und Funktionen.
  • TF: Speziell für Terraform-Ressourcendefinitionen.
  • TFVARS: Wird verwendet, um Variablenwerte an Terraform-Pläne zu übergeben.

6. Netzwerk & VPN (.ovpn, .wg)

Wenn Sie jemals eine sichere Verbindung eingerichtet haben, haben Sie diese gesehen:

  • OVPN: Eine komplexe, skriptähnliche Datei, die OpenVPN-Serveradressen, Portinformationen und oft eingebettete Zertifikate enthält (<ca>, <cert>, <key>).
  • WG: Die einfachere WireGuard-Konfiguration. Sie verwendet ein sauberes INI-ähnliches Format zur Definition von [Interface] und [Peer].

Tools für die Arbeit mit Konfigurationsdateien

  • Editoren: VS Code, Sublime Text und JetBrains-IDEs verfügen über Plugins für fast jedes oben aufgeführte Format, um Syntax-Highlighting und Validierung bereitzustellen.
  • CLI-Konverter:
    • yq: Ein portabler Befehlszeilen-Prozessor für YAML, JSON, XML, CSV und TOML (ähnlich wie jq).
    • plutil: In macOS integriert zum Konvertieren von .plist-Dateien.
    • terraform fmt: Zum Formatieren von .tf- und .hcl-Dateien.

Häufig gestellte Fragen (FAQ)

F: Kann ich Kommentare in einer .env-Datei verwenden?

A: Die meisten .env-Parser (wie dotenv in Node.js) unterstützen Kommentare, die mit # beginnen. Es ist jedoch am sichersten, Kommentare in eigene Zeilen zu setzen, anstatt sie inline zu platzieren.

F: Wie konvertiere ich eine binäre .plist in XML?

A: Auf macOS können Sie Folgendes ausführen: plutil -convert xml1 filename.plist.

F: Warum hat meine .ini-Datei [eckige Klammern]?

A: Eckige Klammern kennzeichnen eine Sektion. Sie ermöglichen es Ihnen, zusammengehörige Einstellungen zu gruppieren und Namenskollisionen zu vermeiden (z. B. ein port unter [http] und ein anderer port unter [ssh]).

F: Ist .hcl mit JSON kompatibel?

A: Ja! HCL ist so konzipiert, dass es vollständig mit JSON kompatibel ist. Sie können Ihre Terraform-Dateien tatsächlich in .tf.json schreiben, wenn Sie dies bevorzugen (obwohl es für Menschen weniger lesbar ist).


Verwandte Tools auf Tool3M

  • JSON-Formatierer: Formatieren und validieren Sie Ihre JSON-Konfigurationsdateien.
  • YAML-zu-JSON-Konverter: Erfahren Sie mehr über die Beziehung zwischen gängigen Datenformaten.