项目配置文件
付心武士 Lv3

关于本文

思考:平时工作中经常会用到配置文件,那什么是配备文件呢? 配置文件该怎么用才合理?

什么是配置文件

配置文件是以特定格式存储硬件或软件初始设置和运行参数的文件

配置文件格式

  • INI
    INI文件是一种无固定标准格式的配置文件,命名源自于英文“初始(Initial)”的首字母缩写,正如它的用途——初始化程序相应。 早期Windows系统曾大量使用,后来逐渐被注册表的形式取代。
    ini 文件可以分为几个 Section,每个 Section 的名称用 [] 括起来,在一个 Section 中,可以有很多的 Key,每一个 Key 可以有一个值并占用一行,格式是 Key=value,注解使用分号表示(;),在分号后面的文字,直到该行结尾都全部为注解。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [info]
    name=FuXinWuShi
    nation=China

    [languages]
    001=Chinese
    002=English
    003=Japanese

    [database]
    server=https://fuxinwushi.gitee.io/
    type=blog
    tool=hexo
  • YAML
    YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)的递归缩写
    YAML 入门教程 | 菜鸟教程 (runoob.com)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    title: 项目配置文件
    date: 2022-01-13 09:49:00
    tags:
    - 配置
    - 思考
    categories:
    - 技术
    - 配置

  • JSON
    JSON全称 JavaScript Object Notation
    JSON 教程 | 菜鸟教程 (runoob.com)

    1
    2
    3
    4
    5
    6
    7
    8
    {
    "info": {
    "name": "FuXinWuShi",
    "nation": "China"
    },
    "languages": ["Chinese","English","Japanese"],
    "Enabled": true
    }
  • XML
    XML 指可扩展标记语言(eXtensible Markup Language)
    XML 教程 | 菜鸟教程 (runoob.com)
    XML 使用标签作为键,将配置值围绕起来:

    1
    2
    3
    4
    <info>
    <name>FuXinWuShi</name>
    <nation>China</nation>
    </info>
  • PLIST
    PLIST文件,即属性列表文件,全名是Property List,这种文件的扩展名为.plist

  • ROML

    “TOML”这个名字是“Tom's Obvious, Minimal Language(汤姆的浅显的、极简的语言)”的首字母略写词。“Tom”指它的作者Tom Preston-Werner(英语:Tom Preston-Werner)。   
    [Home · LongTengDao/TOML Wiki (github.com)](https://github.com/LongTengDao/TOML/wiki) 
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    # 這是一份 TOML 文件

    title = "TOML 範例"

    [owner]
    name = "Tom Preston-Werner"
    dob = 1979-05-27T07:32:00-08:00 # First class dates

    [database]
    server = "192.168.1.1"
    ports = [ 8001, 8001, 8002 ]
    connection_max = 5000
    enabled = true

    [servers]

    # 可以使用縮排(TAB或是空格),但不是必要的
    [servers.alpha]
    ip = "10.0.0.1"
    dc = "eqdc10"

    [servers.beta]
    ip = "10.0.0.2"
    dc = "eqdc10"

    [clients]
    data = [ ["gamma", "delta"], [1, 2] ]

    # 可以在陣列中換行
    hosts = [
    "alpha",
    "omega"
    ]
  • HOCON

    HOCON(Human-Optimized Config Object Notation)  文件通常以 .conf 作为后缀名   
    [HOCON 简介 — Sponge 7.3.0 文档 (spongepowered.org)](https://docs.spongepowered.org/stable/zh-CN/server/getting-started/configuration/hocon.html)   
    
  • CSV
    CSV(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号) 是一种非常流行的表格存储文件格式

    1
    2
    3
    4
    id,name,url,likes
    1,Google,www.google.com,111
    2,Runoob,www.runoob.com,222
    3,Taobao,www.taobao.com,333
  • EXCEL

  • ATLAS