구성 파일
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
구성 파일은 컴퓨터 시스템의 동작을 정의하는 데 사용되는 파일로, 다양한 형식과 운영 체제에서 활용된다. 범용 직렬화 형식인 JSON, XML, YAML 등이 구성 파일의 기반으로 사용되며, 유닉스 계열 운영 체제에서는 텍스트 기반의 키-값 쌍 형식이 일반적이다. 윈도우는 INI 파일을 사용하다가 레지스트리로 전환했으며, macOS는 프로퍼티 목록을, HarmonyOS는 config.json 파일을 사용한다. 구성 파일은 시스템 및 애플리케이션의 설정을 변경하고 기능을 호출하는 데 사용되며, 유닉스 계열은 /etc 디렉토리에, 윈도우는 레지스트리를 통해 관리한다.
더 읽어볼만한 페이지
- 설정 파일 - MSDOS.SYS
MSDOS.SYS는 MS-DOS 운영 체제의 핵심 시스템 파일로, 부팅 과정에서 시스템 초기화 및 하드웨어 설정을 관리하며, 윈도우 9x 시리즈 등장 이후에는 윈도우 부팅 옵션을 설정하는 텍스트 파일로 기능이 변화되었다. - 설정 파일 - AUTOEXEC.BAT
AUTOEXEC.BAT는 도스 및 초기 윈도우 운영 체제에서 컴퓨터 시동 시 실행되어 환경 변수 설정, 시스템 유틸리티 실행 등에 사용되는 배치 파일이다.
구성 파일 |
---|
2. 구성 파일 형식
다양한 운영 체제와 프로그램은 각기 다른 형식의 구성 파일을 사용한다. 일반적인 구성 파일 형식으로는 INI, JSON, XML, YAML 등이 있으며, 각 형식은 문법, 주석 지원, 데이터 형식 지정 방식 등에서 차이를 보인다.[14]
웹 브라우저의 글자 색상, 크기 또는 DVD 플레이어의 음량과 같이 프로그램의 동작은 사용자가 설정을 변경할 수 있다. 이러한 설정은 다음에 프로그램을 사용할 때도 유지되어야 하므로 파일로 저장되는데, 이를 구성 파일이라고 한다.
DOS와 Windows에서는 "CONFIG.SYS"나 "SYSTEM.INI"와 같은 구성 파일이 사용되었고, 마이크로소프트는 Microsoft Windows 3.x에서 INI 확장자를 사용하는 형식을 채택했다. Mac OS에서는 "QuickTime 초기 설정", "QuickTime Preference"와 같은 파일 이름이 사용되었으며, macOS에서는 "com.apple.QuickTime.plist"와 같은 파일 이름을 프로퍼티 리스트라고 한다.
2. 1. 운영 체제별 구성 파일
유닉스 계열 운영 체제에서는 다양한 구성 파일 형식이 존재하며, 각 애플리케이션 또는 서비스는 고유한 형식을 가질 수 있지만, 사람이 편집할 수 있는 일반 텍스트 형식을 따르는 전통이 강하다.[1][2] 파일 이름 확장자는 `.cnf`, `.conf`, `.cfg`, `.cf` 또는 `.ini`가 자주 사용된다. 시스템 전체 소프트웨어는 종종 `/etc`에 저장된 구성 파일을 사용하고, 사용자 애플리케이션은 "dotfile"을 사용한다.MS-DOS는 주로 `CONFIG.SYS`라는 하나의 구성 파일에 의존했는데, MS-DOS 6 이전까지는 간단한 키-값 쌍을 가진 일반 텍스트 파일이었다. MS-DOS 6부터는 INI 파일 스타일의 형식이 도입되었다. 또한, `AUTOEXEC.BAT`라는 표준 일반 텍스트 배치 파일도 사용되었다.
초기 Microsoft Windows는 INI 파일을 광범위하게 사용했으나,[4] 1993년 Windows NT 이후로는 Windows 레지스트리라는 계층적 데이터베이스를 사용한다.
macOS에서는 프로퍼티 리스트(.plist) 형식이 표준 구성 파일 형식이다.
HarmonyOS 및 OpenHarmony는 `config.json` 파일을 사용하며, JSON 형식을 따른다.[6]
2. 2. 직렬화 형식
JSON, XML, YAML 등은 복잡한 데이터 구조를 저장하기 위한 범용 직렬화 형식이며, 구성 파일의 기반으로 자주 사용된다.[14] 이러한 형식은 오픈 소스 및 교차 플랫폼 소프트웨어 개발에 유용하며, 다양한 프로그래밍 언어에서 파서 및 생성기를 사용할 수 있다.
구성 파일은 컴퓨터 프로그램의 동작을 설정하는 파일이다. 웹 브라우저의 글자 크기나 DVD 플레이어의 음량 등을 사용자가 변경하면, 이 설정은 파일로 저장되어 다음에 프로그램을 실행할 때도 유지된다. 이러한 파일을 구성 파일, 초기 설정 파일, 또는 환경 설정 파일이라고 한다.
3. 구성 파일 비교 (표)
형식 공식 사양 주석 허용 구문 형식 지정 CUE[8] 예 예 예 INI 아니오 예 아니오 JSON 예[9] 아니오 예 TOML 예[10] 예 예 [https://github.com/vstakhov/libucl UCL] 아니오[11] 예 예 YAML 예[12] 예 예 XML 예[13] 예 아니오
신택스 타이핑은 구문을 사용하여 데이터 형식을 지정하는 것을 의미한다. 구문 형식 지정을 허용하는 언어에서 형식 선언은 구문 기반이 된다. 예를 들어 `true`는 부울이 되고 `"true"`는 문자열이 된다. 반면, 구문 형식 지정을 허용하지 않는 언어에서는 의미론 기반이 된다. 예를 들어 `true`와 `"true"`는 모두 부울로 인식되고 `microwave`와 `"microwave"`는 모두 문자열로 인식된다. 구성 형식의 구문 형식 지정이 좋은 기능인지 나쁜 기능인지에 대한 의견은 저자마다 다르다.[14]
4. 구성 파일 관리
구성 파일은 주로 일반 텍스트 형식으로 작성되지만, 컴퓨터 프로그램이 인식할 수 있도록 특정 파일 이름을 사용한다. 예를 들어, DOS와 Windows에서는 "CONFIG.SYS"나 "SYSTEM.INI" 같은 파일을 사용하고, Microsoft Windows 3.x에서는 INI 파일 형식을 사용한다. macOS에서는 "com.apple.QuickTime.plist"와 같은 파일을 사용하며, 이를 프로퍼티 리스트라고 한다.
구성 파일의 내용을 수정하면 설정을 변경하고 기능을 호출할 수 있지만, 잘못 수정하면 프로그램이 오작동하거나 동작 불량을 일으킬 수 있다.[1] 따라서 주의해서 다루어야 하며, 실수로 삭제하면 심각한 문제가 발생할 수 있다.
최근에는 운영 체제에서 구성 파일을 자동으로 생성하는 프로그램이 많아, 전문 지식이 없어도 필요한 기능을 선택하여 설정을 쉽게 변경할 수 있다.
4. 1. 유닉스 계열 시스템의 구성 파일 관리
유닉스 계열 운영 체제는 설정 파일을 특정 디렉터리에 보관하여 관리 효율성을 높인다. 사용자 애플리케이션은 사용자 홈 디렉토리에 "dotfile" 형태로 개인 설정을 저장한다. 서버 프로세스는 주로 `/etc` 디렉토리에 설정 파일을 저장한다.[1][2]
각 유닉스 계열 운영 체제마다 디렉토리 구성은 다르므로, 사용 중인 운영 체제에서 어떤 구성으로 되어 있는지 확인할 필요가 있다. 설정 파일에는 일정한 확장자 규칙은 없지만, config, init, rc 등의 문자열이 포함되는 경우가 많다. 소프트웨어 이름의 디렉토리 내에 확장자 없는 config라는 이름의 파일을 두는 경우도 있다.[3]
4. 2. Microsoft Windows의 구성 파일 관리
Windows에서는 Application Data (AppData) 디렉터리 아래에 애플리케이션별로 디렉터리를 만들고, 거기에 설정 파일을 두는 것이 권장된다.[4] Windows Vista에서 도입된 사용자 계정 컨트롤에서는 적절한 권한 없이 프로그램 파일 디렉터리 (%PROGRAMFILES%)를 변경하려고 하면, 파일 쓰기가 시스템에 의해 트랩되어 가상 저장소라고 불리는 디렉터리에 저장된다. 이러한 조치는 멀웨어 대책이나 멀티 유저 대응을 위한 것이지만, 현재 상황에서는 아직 실행 파일과 같은 디렉터리에 설정 파일을 두는 소프트웨어(특히 프리 소프트)가 많다.
Windows에서는 레지스트리 등으로 불리는 데이터베이스 파일로 설정의 일괄 관리를 수행하고 있다. 애플리케이션 소프트웨어나 툴 소프트웨어의 대부분이 이 레지스트리 파일에 의존하여, 사용자의 설정이나 과거의 사용 상황을 기억하고, 사용자의 편의성 향상에 기여하고 있다.
참조
[1]
Webarchive
https://opensource.a[...]
2017-08-03
[2]
Webarchive
http://opensource.ap[...]
2020-08-01
[3]
웹사이트
rc file
http://www.catb.org/[...]
Catb.org
2012-02-29
[4]
Microsoft
Windows NT Workstation Resource Kit
https://www.microsof[...]
[5]
간행물
The OS/2 INI Files
http://www.os2voice.[...]
[6]
웹사이트
HarmonyOS (Hongmeng) — config.json
https://www.mo4tech.[...]
Mo4Tech
2024-03-24
[7]
Citation
TOML
https://github.com/t[...]
TOML
2023-01-15
[8]
웹사이트
About {{!}} CUE
https://cuelang.org/[...]
2022-10-06
[9]
웹사이트
The JavaScript Object Notation (JSON) Data Interchange Format
https://datatracker.[...]
[10]
웹사이트
TOML Specification
https://toml.io/en/v[...]
[11]
웹사이트
Formal UCL grammar definition · Issue #231 · vstakhov/libucl
https://github.com/v[...]
[12]
웹사이트
YAML™ Specification Index
https://yaml.org/spe[...]
[13]
웹사이트
Extensible Markup Language (XML) 1.0 (Fifth Edition)
https://www.w3.org/T[...]
[14]
인용
TOML
https://github.com/t[...]
TOML
2023-01-15
[15]
웹인용
About {{!}} CUE
https://cuelang.org/[...]
2022-10-06
[16]
웹인용
The JavaScript Object Notation (JSON) Data Interchange Format
https://datatracker.[...]
[17]
웹인용
TOML Specification
https://toml.io/en/v[...]
[18]
웹인용
YAML™ Specification Index
https://yaml.org/spe[...]
[19]
웹인용
Extensible Markup Language (XML) 1.0 (Fifth Edition)
https://www.w3.org/T[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com