背景:

eslint的配置文件是eslintrc,babel的配置文件是babelrc。。。那么 rc 是什么意思呢?

解释:

配置文件比较正规的叫法是:运行控制文件 run control

Linux:

    配置文件
配置文件比较文绉绉的称呼是“运行控制文件”,存放与具体程序相关的声明信息,有些时候甚至是可执行的命令,在程序启动时解析。
对于系统级配置文件,就像在第三章中描述的那样,应该放在/etc目录下。对于用户配置文件,应该放置在用户的“home”目录下,并且一般是隐藏文件。由于Linux下隐藏文件是以“.”开头的,所以这类配置文件也被称为“点文件”。

如果一个程序的配置信息很多,那么它也可以拥有一个配置目录或点目录。每个目录应该包含数个与同一个程序相关的配置文件。多个程序共用一个配置目录或点目录,很难保证不会出问题。
配置文件或配置目录的命名方式没有严格规定,基本上是保持与其所负责的程序的名称一致即可。一些较为古老的程序会使用一些较为古老的约定:使用可执行文件名后加“rc”后缀的方式(rc代表运行控制)。比如/etc/bashrc和.bashrc,前者是Bash的系统配置文件,后者是Bash的用户配置文件。更有的一些甚至就是以rc为名的,比如/etc/rc.d目录,大多数Linux发行版本都将它作为init程序的配置目录。
配置文件的内容同样没有严格规定,不过也有一些约定俗成的规则可供参考。比如在“万般皆文本”一节中提到的DSV风格的文本内容。如果配置的程序是某种语言的解释器,那么它的内容一般会使用具体语言本身。
最为著名的例子就是shell本身和Emacs。前者的bashrc文件实际上就是shell脚本程序,后者的.emacs也是用Lisp编写的。当然,为了避免用户为了编写配置文件而不得不去过多地学习新的知识,最好的办法就是能够提供一个全方位的例子配置文件,并有相关文档说明,让用户能够容易地按照例子删减。优秀的云计算平台Hadoop就是一个非常好的例子。
 环境变量
当Linux程序启动时,它的运行环境会包含一组名字和值的关联(名字和值都是字符串)。有些是由用户手工设置的,有些是由系统在登录时设置的,有些是由shell或虚拟终端 设置的。这就是环境变量。在Linux下,环境变量一般会携带文件搜索路径、系统默认值、当前用户ID和进程ID等信息,以及其他有关程序运行时环境的关键信息。
环境变量的读取是非常容易的。在C和C++中,环境变量的值可以通过库函数getenv获得。Perl和Python在启动时,会初始化环境变量字典对象。其他语言通常也都采用以上两种方式之一。常见的系统环境变量见表4-1的描述,注意大小写。

                                                                                             常见系统环境变量

变量名 用途
USER 当前会话登录的账户名(BSD约定)
LOGNAME 当前会话登录的账户名(System V约定)
HOME 当前会话的用户home目录,这个变量非常重要,很多程序要通过这个环境变量来了解自己的用户配置文件的位置
COLUMNS (92个字符)文本控制台或虚拟终端窗口以字符为单位的列数,通过这个环境变量,CLI的程序可以了解一行内最多能输出多少字符
LINES 文本控制台或虚拟终端窗口以字符为单位的行数,通过这个环境变量,CLI的程序可以了解屏幕上最多可以显示多少行文本
SHELL 当前使用的shell的名字
PATH shell搜索可执行程序的目录列表
TERM (xterm)当前会话控制台或虚拟终端的名称。最大的用途就是程序能够知道可以使用哪些特性,比如是否可以输出中文等

需要注意的是,当程序是用shell以外的方式启动时,有些系统环境变量甚至是全部系统环境变量都还未设置。特别是那些守护进程,这些系统环境变量都还未设置——即使设置了,那些值也未必有意义。这类程序,尽量不要使用环境变量。另外,当环境变量有多个值的时候,需要使用冒号“:”作为分割,PATH变量就是最典型的例子
其实环境变量有时候是很难区分什么是系统的,什么是用户的。如果一定要严格划分,那么任何用户都能访问到的就算是系统环境变量,但是值对于每个用户都可能不同,比如HOME。相反,如果只有某个具体的用户才能访问到的,就应该算是用户环境变量,毕竟那是因具体的某个用户而存在的。
尽管应用程序可以在系统定义的范围之外自由解释环境变量,但是这样的做法在Linux中是很少见的。而且环境变量也不适合把结构化信息作为值传递到程序中(虽然原则上可行)。所以,大多数情况都是直接使用现有的环境变量,标新立异的设计一个新的环境变量大多不是明智之举。应该优先考虑配置文件。
    命令行选项
在Linux中,几乎所有程序都会提供几个命令行选项。这样做的一个好处是程序的配置信息可以由脚本指定,这对于作为管道或过滤器的程序尤其重要。
有三种约定可以区分命令行选项和普通的参数:原始的Unix风格、GNU风格和X tookit风格。
原始的Unix风格命令行选项,是以连字符“-”开头的单个字符。如果选项后面不带参数,则被称之为模式选项,模式选项是可以组合在一起使用的。例如,如果-a和-b是模式选项,那么-ab或-ba就都正确,而且会启用这两个选项。如果选项有参数,这些参数要紧接在选项后面(是否以空格分隔可选)。
GNU风格则使用两个连续的连字符“--”后接选项关键字(注意,不是单个字符)。这种风格是因为有好多程序过于复杂,导致单个字符不够用了而发展起来的一种治标不治本的方法。较原始的Unix风格更容易让人理解,但作为我们这种非英语为母语的同胞们也经常输入错误或记不住。GNU风格的选项不用空格分隔就不能组合使用。选项参数既可以用空格分隔也可以使用单个等号“=”来分隔。
最让人痛恨的恐怕应该是X toolkit风格了。它使用单连字符和选项关键字,并且由X toolkit进行解析。最要命的是,X toolkit先要过滤并处理某些特别的选项,比如-geometry和-display,然后再把过滤好的命令行传递给应用程序去解析。如果你不清楚它会过滤哪些选项,就会死活都找不出你的程序为什么接收不到某些选项。所以,这种东西最好别碰它。
在表4-2中我列举了最常用的Unix风格命令行选项的含义,从a到z都覆盖到了。如果你的程序需要提供某些方面的配置选项,那么可以直接使用。如果遇到冲突了,那么最好采用GNU风格。因为这样,可以使你的程序非常通用,也容易理解。当然,这对初学者也是有帮助的,因为Linux下大多数程序也是按照表中的约定去做的。

表4-2 常用的Unix风格命令行选项的含义
变量名     用途
-a所有选项(all),不带参数;或添加(append),这个时候与-d相对应
-b缓冲区(buffer)或数据块(block)大小,带参数;
批处理(batch),不带参数
-c命令(command),带参数;检查(check),不带参数
(续)
变量名    用途
-d调试(debug),带或不带参数;带参数指定调试信息级别,这个非常普遍;
偶尔具有删除(delete)或目录(directory)的含义
-D定义(define),带参数。比如C编译器的宏定义;
-e执行(execute),带参数;编辑(edit),不带参数;
偶尔具有排除(exclude)或扩展(extend)的含义
-f文件(file),带参数,表示文件输入;强制(force),多数不带参数
-gGDB调试信息,带或不带参数。主要用于GCC来生成GDB的特有调试信息
-h表头(header),通常不带参数。启用、禁用或修改程序生成报表的表头;
帮助(help),或许这是最普遍的理解
-i初始化(initiallize)或交互(interactive),通常不带参数
-I包含(include),带参数,比如C编译器的头文件搜索路径
-k保留(keep),不带参数,禁止某个文件、信息或资源的常规删除操作;
偶尔有杀死(kill)的含义
-l列表(list)、长模式(long)或登录(login),不带参数;
加载(load),带参数;偶尔会有代表长度(length)或锁定(lock)的含义
-m消息(message),带参数;
偶尔具有邮件(mail)、模式(mode)和修改(modify)的含义
-n数字(number),带参数;否(not),不带参数
-o输出(output),带参数
-p端口(port),带参数;协议(protocol),带参数
-q安静(quite),不带参数。禁止正常的结果输出或诊断输出
-r或-R递归(recurse)或反向(reverse),不带参数
-s缄默(silent),不带参数。与-q类似,如果两者都支持,-q表示“安静”,-s表示“绝对缄默”;主题(subject),带参数;偶尔具有大小(size)的含义
-t标记(tag),带参数
-u用户(user),带参数
-v冗长(verbose),带或不带参数;版本(version),不带参数
-V版本(version),不带参数,比-v常见
-w宽度(width),带参数;警告(warning),不带参数
-x启用调试,同-d类似,带或不带参数;提取(extract),带参数
-y是(yes),不带参数
-z启用压缩,不带参数


https://www.cnblogs.com/MYSQLZOUQI/p/5186952.html

配置文件的rc的由来相关推荐

  1. mysql etc rc.local_CentOS 7 开机启动自定义配置文件:/etc/rc.local 不执行解决办法 | IT运维网...

    最近在安装程序时发现CentOS 7的开机自定义配置文件(/etc/rc.local)内配置了启动脚本不会开机执行:于是查看了下配置文件内容发现了问题的原因 [root@localhost ~]# c ...

  2. linux日志文件备份,linux配置文件、日志文件全备份

    linux配置文件.日志文件全备份 1.分别设置两台主机满足试验要求服务器IP主机名 nginx-web服务器192.168.10.150web1 备份服务器192.168.10.20backup 要 ...

  3. linux配置文件、日志文件全备份

    linux配置文件.日志文件全备份 1.分别设置两台主机满足试验要求                 服务器                       IP                   主机 ...

  4. Linux常见配置文件

    转载自CoderZhuang,对CoderZhuang先生的博客进行补充和整理. /etc 配置文件 /etc/passwd 用户数据库,其中的域给出了用户名.真实姓名.家目录.加密口令和用户的其他信 ...

  5. Squid三种工作模式搭建及配置文件解析

    目录 一.Squid软件及配置文件简介 1.Squid软件 2.Squid配置文件详解 二.Squid三种工作方式搭建 传统模式搭建流程: 1.按照网络拓扑图搭建网络环境: 2.web服务器端安装Ap ...

  6. Linux运维大牛带你认识真正 Linux 系统结构!超强入门技术文!

    Linux系统一般有4个主要部分:内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统. 1Linux 内核 内核 ...

  7. Linux操作系统下文件作用

    linux下的文件结构,看看每个文件夹都是干吗用的 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的 ...

  8. Centos 6启动流程详解

    author:JevonWei 版权声明:原创作品 Centos6 启动流程 POST开机自检 当按下电源键后,会启动ROM芯片中的CMOS程序检查CPU.内存等硬件设备是否正常运行,CMOS中的程序 ...

  9. Linux系统启动任务的写法

    1.到/etc/rc.d目录 # cd /etc/rc.d 2.修改rc.local # vim ./rc.local 你之前是怎么启动nginx和php命令复制即可. 例如: /usr/local/ ...

最新文章

  1. 十年AI学者影响力盘点:何恺明排名第一,华人学者呈正向流入
  2. mysql 错误1136_mysql,_MySQL错误:Error Code: 1136,mysql - phpStudy
  3. Java集合(二):List列表
  4. pagefile.sys and heberfil.sys
  5. 华为云服务器入门初体验
  6. 一文彻底明白linux中的selinux到底是什么
  7. python爬虫怎么挣钱_2019如何学Python?这里有你需要的答案
  8. android 圆形自定义进度条,Android实现自定义圆形进度条
  9. js获取ip本机地址
  10. 倍福TwinCAT 3 气缸动作程序编写
  11. c加加语言订餐系统代码,【加加餐饮管理系统--前台营业子系统|餐饮点菜收银软件】免费申请试用_选软件网...
  12. 计算机路由器无线级联配置,不同品牌无线路由器 无线级联 配置案例
  13. 基于有赞微小店+有赞云实现的个人微信和支付宝扫码在线支付收款
  14. 实验记录 | somatic.pl运行1
  15. PHP 7.4 configure error : Package requirements (zlib) were not met
  16. SparkOutOfMemoryError: Unable to acquire 65536 bytes of memory, got 0
  17. 论OIer谈恋爱的必要性
  18. 图像分类竞赛——添翼杯人工智能应用创新大赛——rank4解决方案
  19. zigbee判断首次入网
  20. C语言学习笔记——输入五个国家的名称,按字母顺序排列输出

热门文章

  1. python截图-用python实现选择截图区域
  2. CSS样式:实现字体带下划线,下划线长度自定义
  3. Hadoop高手之路4-HDFS
  4. 货币政策传导与货币政策调控-中国视角下的宏观经济
  5. AirDisk产品T2搭配硬盘系统要求以及固件下载地址
  6. 实物图鉴TMS320F2812PGFA代理销售现货价格
  7. 报告平台模板html,一个易用的HTML测试报告模板
  8. SGAME的日志系统
  9. javascript css(层叠样式表)
  10. C语言中malloc函数及free函数用法