什么是配置文件,以及如何编辑它们?

2023-11-16

我们使用的绝大多数计算机程序 – 无论是办公套件,网络浏览器,甚至视频游戏 – 都是通过菜单界面系统配置的。它几乎成了我们使用机器的默认方式。但是有些程序要求你不止是上述方式,你实际上必须编辑一个文本文件,以便让它们按你的意愿运行。

这些文本文件 – 毫不奇怪 – 被称为“配置文件”。如果你想从“用户”跳跃到“超级用户”,你需要知道如何调整它们。

什么是配置文件?

在我们深入了解技术细节之前,让我们首先具体定义配置文件是什么。

配置文件本质上是包含成功操作程序所需信息的文件,这些信息以特定方式构成。它们不是在程序中进行硬编码,而是用户可配置的,通常存储在纯文本文件中(尽管我以前见过使用过SQLite数据库作为其配置文件的程序)。

令人惊讶的是,没有关于配置文件应该如何工作的定义标准,或者它们应该是什么样的。这完全取决于程序开发人员的心血来潮。

在这里插入图片描述
Linux用户将特别熟悉配置文件,因为许多基本维护任务需要您对其进行编辑。调整Raspberry Pi通常依赖于编辑配置文件。这可能是为了指定要连接到的无线网络或设置图形的RAM数量。

但是,配置文件并非Linux独有。有时您可能需要在Windows或macOS中进行编辑。

如何查找和编辑配置文件

一些配置文件以开发人员自己设计的格式构造。其他人则使用众所周知的用于构造数据的标准,例如:

  • JSON(JavaScript对象表示法)
  • YAML(YAML不是标记语言)
  • XML(可扩展标记语言)

一些程序在启动时会加载存储在其配置文件中的信息。同时,其他人会定期检查配置文件以查看其是否已更改。

无论您要编辑什么配置文件,都可以在进行任何更改之前先对其进行复制。这样,如果出现问题,您可以还原副本并重新开始!

现在,让我们看一个真实的配置文件。正如我们前面提到的,它们具有各种不同的形状和大小。您几乎可以肯定熟悉的一个配置文件是hosts文件。Windows,Mac和Linux都使用它来手动将IP地址映射到主机名。

Windows配置文件

Windows用户将在c:\ windows \ system32 \ drivers \ etc \中找到主机文件。

您可以通过双击鼠标并从建议的应用程序列表中选择记事本来打开它。这就是您查看和编辑配置文件(如主机)所需的全部。但是,有几种替代方法可用—有关详细信息,请参见下文。

打开文件后,您会看到它使用空格(字面上的空格和制表位)分隔元素。

在这里插入图片描述
每个主机名都有其自己的行,后跟制表位和IP地址。此外,主机文件允许用户添加注释和注释,所有注释和注释均以哈希符号开头。

Linux配置文件

在Linux上,您可以在/ etc /中找到hosts文件。可以在Gedit或命令行文本编辑器(如nano或vim)中打开它。在大多数情况下,您的Linux发行版将预先安装这些功能中的一个或全部。

某些程序将配置文件存储在主目录中,并在文件名的开头添加一个句点。这些配置文件有时具有文件扩展名.rc,我们将其称为“ dotfiles”。

在macOS中配置文件

与Linux一样,可以在macOS上的/ etc /中找到hosts文件。

Mac用户将知道BBEdit是默认的预装文本编辑器。这使其非常适合在macOS中编辑配置文件。但是,与Linux一样,命令行编辑器vim和nano也可用。

用于安全编辑配置文件的应用

因此,现在我们知道了配置文件的用途,让我们来谈谈如何编辑它们。

为此,您将需要一个文本编辑器。避免文字处理程序;这些可能会给文件添加格式,这将阻止它们被正确读取。

在这里插入图片描述
如上所述,可以使用本机文本编辑器。但是,对于其他功能,还可以使用第三方文本编辑器:

下载: 适用于Windows的Notepad ++(免费)

下载: 适用于Windows,macOS,Linux的Atom(免费)

下载:适用于Windows,macOS,Linux的Sublime Text Editor(免费评估)

每个平台都可以使用这么多的文本编辑工具,因此很难推荐一个应用程序。Linux用户还可以查看我们的Linux文本编辑器列表。同时,针对macOS的这种文本编辑器集锦应该可以帮助Apple计算机所有者。

当您编辑配置文件时,请务必遵循其约定,这一点很重要。只需看一下就可以解决。一些配置文件(例如hosts文件)将在注释行中向您解释这些约定。其他人将迫使您阅读一些文档或几篇博客文章。

最后,如果您编辑的配置文件具有JSON或XML格式,请考虑使用语法突出显示的文本编辑器。Notepad ++和Atom都是不错的选择。语法高亮显示会在出现错误时向您显示,从而提高准确性。

您可以在其他位置找到要编辑的配置文件

如果您有兴趣进一步探索配置文件,可以在各种应用程序和平台中找到它们。配置文件比指定要阻止的网站和IP地址还多!

除了主机文件之外,您还将在视频游戏中找到配置文件。这些通常用于定义和控制诸如键映射之类的东西。

同时,一些配置文件可用于作弊。在最初的PC上的Deus Ex游戏中就是这种情况。现在,作弊变得更加困难,除非启用正式的作弊模式,否则通常不值得付出努力。

Web应用程序还使用配置文件进行自定义。

如果您的配置编辑不起作用怎么办?

与编辑配置文件相关的问题通常分为两大类:权限和用户错误。

由权限问题引起的配置文件问题归结为系统完整性。您无法保存更改,因为您是以普通用户身份进行编辑。为防止意外配置错误,许多配置文件只能由具有管理员级别权限的用户编辑。

在这里插入图片描述
解决这个问题很容易:

在Windows上,右键单击文本编辑器,然后选择“以管理员身份运行”
在macOS和Linux上,尝试使用sudo命令提升权限。因此,如果您正在编辑主机文件,请运行sudo nano / etc / hosts
(请注意,如果您指定了其他文件名或位置,则可以在终端中有效地创建配置文件。)

当问题是用户错误时,则表示这是您的错。检查您没有打错任何文字,并且是否遵循配置文件的约定。

尽管看起来很明显,但一个简单的拼写错误可能会使您的整个文件变得毫无用处。在提交更改并保存文件之前,请记住:

  • 检查您所做的更改
  • 确保您发表了评论

另外,在尝试运行要配置的软件之前,请确保关闭配置文件。

配置文件很重要

最重要的是,它们是使用Linux的重要组成部分。知道如何正确编辑它们可以极大地帮助您。

虽然您可以编辑许多配置文件,但是请确保在进行任何更改之前先复制该文件。这样,如果出现问题,您可以恢复到原始状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是配置文件,以及如何编辑它们? 的相关文章

  • MATLAB从数组中以等概率随机选出不同的元素

    问题 数组a 长度为n 要求以等概率随机从a中选出m个元素 各元素不能来自相同位置 解答 用randperm函数 rand index randperm n 将序号随机排列 draw rand index rand index 1 m 取出
  • 【华为OD统一考试B卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 地图兴趣点搜索三(ES相关性得分参数调整)

    1 问题回顾 前面第一章 我们介绍了地图兴趣点检索的基本流程 以及如何用elasticsearch ik搭建一个简单的demo 在运行demo时我们用 通州区万达广场 去搜索 结果排第一位的结果竟然是位于朝阳区的 建国路万达广场 第二章 我
  • VsCode提示“TypeScript intellisense is disabled on template.”警告

    问题描述 在Vscode中使用Volar插件开发Vue3 TypeScript时 在vue文件的template标签上提示警告字样 警告全文 TypeScript intellisense is disabled on template T
  • C++创建对象加括号和不加括号的区别

    1 一个类或者是有构造函数的对象 类名 对象名 gt 默认调用 对象名 这个构造函数 在栈中存在对象名 在堆中存在实际对象 类名 对象名 一个以上参数 gt 默认调用对应的构造函数 在栈中存在对象名 在堆中存在实际对象 类名 对象名 gt
  • USB BC充电协议探究——单片机实现

    USB BC充电协议探究 单片机实现 随着移动设备的普及 充电需求也越来越多样化 其中 USB充电方式被广泛应用 而BC Battery Charging 充电协议是其中最常用的一种 本文将详细介绍BC充电协议的工作原理 并给出基于单片机的
  • Base64编码知识记录

    目录 编码说明 编码方式 体积增大 等号 demo 编码说明 Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法 由于 2 6 64 所以每 6 个比特为一个单元 对应某个可打印字符 Base64 常用于在通常处理文本数
  • cublas中的矩阵运算

    Cublas是一个可以与cuda一同使用的函数库 它提供了多种矩阵运算的API 但是它列主序的存储方式却让人十分疑惑 今天我就以cublas中的矩阵乘法运算简单说一下我的理解 Cublas中的矩阵乘法运算函数有5个 分别是cublasSge
  • Java快速入门

    Java快速入门 Java概述 JDK介绍下载安装 入门程序HelloWorld JDK JRE 跨平台 Java程序执行原理 1 人机交互 1 1 什么是cmd 就是在windows操作系统中 利用命令行的方式去操作计算机 我们可以利用c
  • lego ev3 c语言编程,乐高 EV3 高级编程 – 第一课:安装

    我的学生写的教程 英文版的 好吧 我翻译一下 先介绍一下我的学生 今年 12 岁 2018年 普通 2 等中学初中 2 年级 学校名字就不说了 说了你也没听过 除了数学和科学比较好 其他科目成绩一般 学习电脑编程 3 年 大概每星期学 2
  • echarts使用API查看新增商品数量

    echarts使用API查看新增商品数量 echarts官网 http echarts baidu com index html 帮助文档 http echarts baidu com api html echarts 下载地址 http
  • 前后端分离 个人博客系统 (源码)

    该项目为个人博客系统 相对较为简单 比较适合新手学习 博客分为前台与后台 以三更博客为内容 前台展示页面 导航栏包括首页 分类 赞赏 友联 右下部分展示热门文章及浏览次数 文章详情页 可在底部进行评论 以及显示浏览量 友联 也可以进行评论
  • 项目范围和项目范围管理

    项目的范围包括项目的最终产品或服务以及实现该产品或服务所需要开始的各项具体工作 1 项目产品范围 项目所要生产的产品或服务的特征和功能 2 项目工作范围 项目范围管理是指为了成功完成项目 对项目工作包括什么与不包括什么的定义与控制过程 项目
  • python实现md5加密

    python实现MD5加密 1 简介 Message Digest Algorithm MD5 中文名为消息摘要算法第五版 为计算机安全领域广泛使用的一种散列函数 用于确保信息传输完整一致 MD5是单向加密 指只能加密数据而不能解密数据 主
  • 【FAQ】TheBrain最新最热问答集锦

    TheBrain是一款与众不同的思维导图软件 其所有信息通过一个又一个的节点进行联系 最终形成一个杂而不乱的网状结构 TheBrain功能亮点 数字思维 整合分散的资源 随时访问 快速搜索 强大的文档管理功能 一目了然的图形 最新版TheB
  • 去阿里面试到第三轮的时候,会如何360度无死角考察你?

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 1 业务背景介绍 2 架构演进考察 3 对公司底层技术的原理考察 4 系统难点的考察 5 擅长技术的考察 6 总结 这篇文章 给大家分享一个同学面试阿里某个部门
  • 回归分析的基本步骤与自相关性

    一个回归分析的步骤 1 用scat x y 查看散点图 2 使用适当的模型进行回归分析 ls 估计出参数 3 统计检验 包括拟合优度检验和模型显著性检验 4 时间序列数据要做自相关性分析 横截面数据做异方差性检验 4 检查是否有多重共线性
  • Linux环境Ubuntu源码部署odoo15

    部署之前首先升级apt 否则所有的包都无法获取 sudo apt get update PostgreSQL相关 安装数据库 sudo apt get install postgresql 安装数据库客户端 sudo apt get ins
  • Java实现一个简单的命令行聊天程序

    Socket编程 Java实现 客户端 package net import java io BufferedReader import java io InputStreamReader import java io PrintWrite

随机推荐

  • SaaS、ERP、CRM、PaaS、IaaS概念

    layout post title SaaS ERP CRM PaaS IaaS概念 categories 实施工程 tags SaaS SaaS Software as a Service 软件即服务 SaaS首先是一个模式 其次也可理解
  • 开发支付宝小程序对比开发微信小程序

    接触使用开发支付宝小程序 之前弄微信小程序现在也做一点点支付宝小程序的需求 发现支付宝小程序和微信小程序这两者还有很多东西是共通的 当然也有很多差异 本文旨在在自己接触的过程中进行对比总结 会一直更新比较 1 开发工具 提供功能 开发工具上
  • redis专题-----11-----redis订阅发布以及stream

    参考文章 Redis发布订阅模式 publish subscribe 一 订阅发布 1 概念 1 为了支持消息的多播机制 redis 引入了发布订阅模块 Redis发布 订阅 Pub Sub 是一种通信机制 将数据推到某个信息管道中 其他客
  • 前端不规则气泡图实现方案

    背景介绍 由于项目大屏可视化的需求 需要实现在一个不定长宽的长方形容器中 实现不重叠分布的气泡图 每个气泡代表一类数据的统计值 气泡个数最大值已知 气泡大小与数据值大小正相关 并且气泡图需要有浮动特效 页面尺寸改变时 气泡尺寸需要自适应容器
  • 微信小程序0基础到精通

    写在开头 此篇文章只是简单描述了一下一条学习路线 具体学习资源获取方式请看文末 第一步 想快速入门小程序开发就需要从必备的API和核心开发等基础知识入手 建立整个小程序的知识体系 学习目标 新手入门与项目实战 课程重点 1 小程序核心技术
  • 计算机原理提问,计算机原理的计算机原理人话版

    Windows关机步骤涉及到Windows多个组件和多个过程 简单的说 Windows的关机步骤不是大多数人认为的那么简单 基本的过程是这样的 1 用户发起关机指令以后 发起关机指令的程序会通知Windows子系统CSRSS EXE CSR
  • 提高ChatGPT稳定性:告别GPT网页登录使用PC软件进入GPT

    一 GPT时不时断线 在日常生活中 我们经常需要使用智能语言模型来辅助我们完成各种任务 而ChatGPT作为一款非常优秀的智能语言模型 被广泛应用于各个领域 然而 使用ChatGPT的过程中 我们不可避免地会遇到一个非常让人头疼的问题 Ch
  • javaee之黑马乐优商城4

    商品规格与数据结构 下面来说一下数据库的设计与分析 其实对于spu这张表来说 大体设计还是比较好设计的 看一下下面这张图是一个产品的规格参数 上面主体就是一个规格参数 基本信息又是一个规格参数 这里就是涉及到了一个商品的具体信息 sku就是
  • Android 中的CreatePackageContext()

    Return a new Context object for the given application name This Context is the same as what the named application gets w
  • 分享一个OJ平台——浙江工商大学的OJ平台

    1 引言 最近是有总喜欢讨论算法题 因为他们在准备考研复试 为什么我不准备呢 这是一个悲伤的故事 刚好自己也有面试遇到只能使用C和C 的代码题 他们说这OJ平台相对简单一些 那些刷不来LeetCode可以试试这个 作为入门算法的跳板 体验体
  • Opencv中copyTo()函数的使用方法

    在Mat矩阵类的成员函数中copyTo roi mask 函数是非常有用的一个函数 尤其是后面的mask可以实现蒙版的功能 我们用几个实例来说明它的作用 我们要注意mask的数据类型 必须是CV 8U 且通道数或者是1 或者与roi一致 首
  • CloudCompare 二次开发(14)——高斯滤波

    目录 一 概述 二 代码集成 三 结果展示 一 概述 使用CloudCompare与PCL的混合编程实现点云高斯滤波 高斯滤波的算法原理见 PCL 高斯滤波 二 代码集成 1 mainwindow h文件public中添加 void doA
  • 深入理解HashMap(及hash函数的真正巧妙之处)

    Hashmap是一种非常常用的 应用广泛的数据类型 最近研究到相关的内容 就正好复习一下 网上关于hashmap的文章很多 但到底是自己学习的总结 就发出来跟大家一起分享 一起讨论 1 hashmap的数据结构 要知道hashmap是什么
  • c++重载函数调用运算符

    函数调用运算符 如果类重载了函数调用运算符则我们可以像使用函数一样使用该类的对象 函数调用运算符必须是成员函数 一个类可以定义多个不同版本的调用运算符 struct absint int operator int val return va
  • 路由选路算法

    RIP OSPF Open Shortest Path First 开放最短路径优先 OSPF路由协议 ISIS BGP 参考博客 最佳路由路径选择算法详解
  • Python 中的魔术方法(七)自定义容器行为, __setitem__ 和 __getitem__ 等

    1 协议 Python 中创建自定义序列通常的方式是继承内置的数据类型 使用collections模块中的UserDict UserList等数据 如果要创建完全自定义的序列 需要实现 Python 中自定义容器类型其中一些协议 首先 有用
  • 剑指offer-问题40

    package offer offer interview 40 public class Test40 public static int findNumbersAppearanceOnce int data int result 0 0
  • 6.10 docker (一) 启动

    启动 下面的命令输出一个 Hello World 之后终止容器 root node docker run ubuntu 18 04 bin echo Hello world Hello world 这在本地直接执行 bin echo hel
  • 使用docker搭建speedtest测速服务器

    文章目录 拉取镜像 启动镜像 开放防火墙12345端口 浏览器打开ip 12345测试 其他说明 拉取镜像 sudo docker pull adolfintel speedtest 检查是否拉取成功 sudo docker images
  • 什么是配置文件,以及如何编辑它们?

    我们使用的绝大多数计算机程序 无论是办公套件 网络浏览器 甚至视频游戏 都是通过菜单界面系统配置的 它几乎成了我们使用机器的默认方式 但是有些程序要求你不止是上述方式 你实际上必须编辑一个文本文件 以便让它们按你的意愿运行 这些文本文件 毫