计算基基础

计算机基础

计算机组成及其功能

  冯诺依曼体系结构:1946年数学家冯诺依曼提出,计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

服务器硬件---CPU

CPU是Central Processing Unit的缩写,即中央处理器。由控制器和运算器构成,是整个计算机系统中最重要的部分
♦主频:主频是CPU的时钟频率(CPU Clock Speed),是CPU运算时的工作的频率(1秒内发生的同步脉冲数)的简称。单位是Hz。一般说来,主频越高,CPU的速度越快,由于内部结构不同,并非所有的时钟频率相同的CPU的性能都一样。
♦外频:系统总线的工作频率,CPU与外部(主板芯片组)交换数据、指令的工作时钟频率。
♦倍频;倍频是指CPU外频与主频相差的倍数。
♦三者关系是:主频=外频*倍频.
♦高速缓存(cache):高速交换的存储器。CPU缓存分为一级,二级,三级缓存,即L1,L2,L3
♦内存总线速度(Memory-Bus Speed):一般等同于CPU的外频,指CPU与二级(L2)高速缓存和内存之间的通信速度。
♦地址总线宽度:决定了CPU可以访问的物理地址空间。

服务器硬件---主板

  • 主板mainboard、系统板systemboard或模板motherboard,安装在机箱内,是计算机最基本的也是最重要的部件之一
  • 主板一般为矩形电路板、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电插件等元件。

    服务器硬件---内存

  • 内存是介于CPU和外部存储之间,是CPU对外部存储中程序与数据进行高速运算时存放程序指令、数据和中间结果的临时场所,它的物理实质就是一组具备数据输入输出和数据存储功能的高速集成电路
  • 内存是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是存储速度快
  • 计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。
  • 外存:硬盘,U盘,软盘,光盘。
  • 内存与外存的区别:
    • 内存断电后数据丢失
    • 外存断电后数据可以保存
  • 容量:即该内存的存储容量,单位一般为“MB”或“GB”

    服务器硬件---硬盘

    机械硬盘结构:

  • 存储介质(Media)——盘片
     盘片的基板是金属或玻璃材质制成,为达到高密度高稳定的质量,基板要求表面光滑平整,不可有任何瑕疵。
  • 读写头(Read Write Head)——磁头
     磁头是硬盘读取数据的关键部件,他的主要作用就是将存储在硬盘盘片上的磁信息转化为电信号向外传输。
  • 马达
     马达上装有一至多片盘片,以7200,10000,15000 RPM等定速旋转,为保持其平衡不可抖动,所以其质量要求严谨,不产生高温噪声。

    硬盘基本参数

  • 容量:容量是硬盘最主要的参数。单位有MB、GB、TB
  • 转速:转速是指硬盘盘片每分钟转动的圈数,单位为rpm。现在硬盘的转速已经达到10000rpm,15000rpm。
  • 传输速度:传输速度(Data Transfer Rate)。硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s)。
  • 缓存:硬盘缓存的目的是为了解决系统前后级读写速度不匹配的问题,以提高硬盘的读写速度。

    硬盘接口类型

      目前主流的硬盘接口为SATA和SAS接口。

    服务器的性能短板

      如果CPU有每秒处理1000个服务请求的能力,各种总线的负载能力能达到500个,但网卡只能接受200个请求,而硬盘只能负担150个的话,那这台服务器的处理能力只能是150个请求/秒,有85%的处理器计算能力浪费了。
      在计算机系统当中,硬盘的读写速率已经成为影响系统性能进一步提高的瓶颈。

    SSD硬盘

      SSD泛指使用NAND Flash组成的固态硬盘。其特别之处在于没有机械结构,以区块写入和抹除的方式做读写的性能,因此在读写的效率上,非常依赖读写技术上的设计SSD读写存取速度快,性能稳定,防震性高,发热低,耐低温,电耗低,无噪音。因为没有机械部分,所以长时间使用也出现故障几率也较小。缺点:价格高,容量小,在普通硬盘前毫无性价比优势。

    服务器硬件---阵列卡

    Raid卡

  • 用来实现RAID的建立和重建,检测和修复多位错误,错误磁盘自动检测等功能。RAID芯片使CPU资源得以释放。

    阵列卡(RAID卡)的作用

  • 阵列卡把若干硬盘驱动器按照一定要求组成一个整体、由阵列控制器管理的系统
  • 阵列卡用来提高磁盘子系统的性能及可靠性。

    阵列卡参数

  • 支持的RAID级别
  • 阵列卡缓存
  • 电池保护

    服务器硬件---电源和风扇

  • 支持服务器的电力负载
  • 支持冗余,防止电源故障
    • 故障预警和防止
    • 故障之前的预防性维护
    • 保证服务器持续运行
  • 电源子系统包括:智能电源和风扇
  • 冗余电源和风扇

    服务器硬件---显卡

      服务器都在主板上集成了显卡,但是显存容量不高,一般为16M或32M

    服务器硬件---网卡

      服务器都在主板上集成了网卡,传输速率为1Gbps,即千兆网卡。特殊应用需要高端网卡,如光纤网卡,Infiniband网卡等,传输速率能达到10Gbps、20Gbps,即万兆网卡。

    服务器硬件---热插拔技术

  • 称为热交换技术(Hot Swap),允许在不关机的状态下更换故障热插拔设备。
  • 常见的热插拔设备:硬盘,电源,PCI设备,风扇等。
  • 热插拔硬盘技术与RAID技术配合起来,可以使服务器在不关机的状态下恢复故障硬盘上的数据,同事并不影响网络用户对数据的使用。

    存储基础知识---存储网络

      用于存放数据信息的设备和介质,是计算机系统的外部存储,数据可安全存放,长期驻留。

    存储网络

  • DAS-----直接连接存储(Direct Attached Storage)
  • NAS-----网络连接存储(Network Attached Storage)
  • SAN-----存储区域网络(Storage Area Networks)

\ SAS NAS SAN
传输类型 SCSI、FC IP IP、FC、SAS
数据类型 数据块 文件 数据块
典型应用 任何 文件服务器 数据库应用
优点 磁盘与服务器分离
便于统一管理
不占用应用服务器资源,
广泛支持操作系统,
扩展较容易,
即插即用,
安装简单方便
高扩展性,
高可用性,
数据集中,
易管理
缺点 连接距离短
数据分散,
共享困难
存储空间利用率不高
扩展性有限
不适合存储量大的块级应用数据备份及恢复占用网络带宽 相比NAS成本较高安装和升级比NAS复杂

内核功能以及作用

内核概述

  内核指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。内核是一个操作系统的核心,是操作系统最基本的部分。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统等,决定着系统的性能和稳定性。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。
  一个内核不是一套完整的操作系统。比如一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。

内核作用

  进程管理:内核负责创建和销毁进程, 并处理它们与外部世界的联系(输入和输出),不同进程间通讯(通过信号,管道,或者进程间通讯原语)对整个系统功能来说是基本的,也由内核处理。 另外, 调度器, 控制进程如何共享CPU,是进程管理的一部分。更通常地,内核的进程管理活动实现了多个进程在一个单个或者几个CPU 之上的抽象。
  内存管理:计算机的内存是主要的资源, 处理它所用的策略对系统性能是至关重要的。内核为所有进程的每一个都在有限的可用资源上建立了一个虚拟地址空间。内核的不同部分与内存管理子系统通过一套函数调用交互,从简单的malloc/free对到更多更复杂的功能。
  文件管理:Linux 在很大程度上基于文件系统的概念;几乎Linux中的任何东西都可看作一个文件。内核在非结构化的硬件之上建立了一个结构化的文件系统,结果是文件的抽象非常多地在整个系统中应用。另外,Linux 支持多个文件系统类型,就是说,物理介质上不同的数据组织方式。例如,磁盘可被格式化成标准Linux的ext3文件系统,普遍使用的FAT文件系统,或者其他几个文件系统。
  驱动管理:几乎每个系统操作终都映射到一个物理设备上,除了处理器,内存和非常少的别的实体之外,全部中的任何设备控制操作都由特定于要寻址的设备相关的代码来进行。这些代码称为设备驱动。内核中必须嵌入系统中出现的每个外设的驱动,从硬盘驱动到键盘和磁带驱动器。
  网络管理:网络必须由操作系统来管理,因为大部分网络操作不是特定于某一个进程: 进入系统的报文是异步事件。报文在某一个进程接手之前必须被收集,识别,分发,系统负责在程序和网络接口之间递送数据报文,它必须根据程序的网络活动来控制程序的执行。另外,所有的路由和地址解析问题都在内核中实现。

常见的Linux的发行版

Linux发行版主要有三个分支:Debian、Slackware、Redhat。

Debian

  • Ubuntu:基于Debian开发的开源Linux操作系统,主要针对桌面和服务器;
  • Linux Mint:基于Debian和Ubuntu的Linux发行版,致力于桌面系统对个人用户每天的工作更易用,更高效,且目标是提供一种更完整的即刻可用体验。

Slackware

  • Suse:基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。
  • SLES(Suse Linux Enterprise Server(SLES)):企业服务器操作系统,是唯一与微软系统兼容的Linux操作系统。
  • OpenSuse:由Suse发展而来,旨在推进Linux的广泛使用,主要用于桌面环境,用户界面非常华丽,而且性能良好。

Redhat

  • rhel(red hat enterprise Linux):Red Hat公司发布的面向企业用户的Linux操作系统。早起版本主要用于桌面环境,免费:
  • Fedora:基于Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用,而另外发行的Red Hat Enterprise Linux取代Red Hat Linux在商业应用的领域。Fedora的功能对于用户而言,它是一套功能完备、更新快速的免费操作系统,而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。Fedora大约每六个月发布新版本。
  • Centos:基于Red hat Linux提供的可自由使用源代码的企业级Linux发行版本。每个版本的Centos都会获得十年的支持(通过安全更新的方式)。新版本的Centos大约每两年发行一次,而每个版本的Centos会定期(大概6个月)更新一次,以支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的Linux环境。

其他发行版本

  • Gentoo:基于linux的自由操作系统,基于Linux的自由操作系统,它能为几乎任何应用程序或需求自动地作出优化和定制。追求极限的配置、性能,以及顶尖的用户和开发者社区,都是Gentoo体验的标志特点, Gentoo的哲学是自由和选择。得益于一种称为Portage的技术,Gentoo能成为理想的安全服务器、开发工作站、专业桌面、游戏系统、嵌入式解决方案或者别的东西--你想让它成为什么,它就可以成为什么。由于它近乎无限的适应性,可把Gentoo称作元发行版。
  • Aech Linux(或称Arch):以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅和代码最小化的设计宗旨。

    常见的开源协议

    GPL协议

      在自由软件所使用的各种许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL),GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。

    GPL协议最主要的几个原则:

  • 确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。
  • GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。
  • 无论软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。如果以光盘形式发布,就必须同时附上源文件的光盘。
  • 开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。
      我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代 码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商 业软件公司开发的免费软件了。
      GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题, 还可以享受免费的优势。
      由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

    LGPL协议

      LGPL是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称GNU Library General Public License (GNU 库通用公共许可证),后来改称作Lesser GPL,即为更宽松的GPL,在宽松程度上与BSD, Apache,XFree86 许可证相似。GPL(General Public License)和LGPL是GNU的两种License。越来越多的自由软件(Free Software)使用GPL作为其授权声明,如果对GPL一点都不了解,有可能在使用自由软件时违反GPL的授权,恐怕会有被起诉的风险。所以任何公司在使用自由软件之前应该保证在LGPL或其它GPL变种的授权下。
      LGPL 是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL 允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并 发布和销售。但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因 此LGPL协议的开源 代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
      GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。

    BSD协议

      BSD许可证原先是用在加州大学柏克利分校发表的各个4.4BSD/4.4BSD-Lite版本上面(BSD是Berkly Software Distribution的简写)的,后来也就逐渐沿用下来。1979年加州大学伯克利分校发布了BSD Unix,被称为开放源代码的先驱,BSD许可证就是随着BSD Unix发展起来的。BSD许可证被Apache和BSD操作系统等开源软件所采纳。
      相较于GPL许可证和MPL许可证的严格性,BSD许可证就宽松许多了,一样是只需要附上许可证的原文,不过比较有趣的是,它还要求所有进一步开发者将自己的版权资料放上去,所以拿到以BSD许可证发行的软件可能会遇到一个小状况,就是这些版权资料许可证占的空间比程序还大。

    Apache协议

      Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:
  • 需要给代码的用户一份Apache Licence
  • 如果你修改了代码,需要在被修改的文件中说明。
  • 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
  • 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
      Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

    MIT协议

      MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其它的限制。也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。MIT协议又称麻省理工学院许可证,最初由麻省理工学院开发。被授权人权利:1、被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软件及软件的副本。2、被授权人可根据程式的需要修改授权条款为适当的内容。被授权人义务:在软件和软件的所有副本中都必须包含版权声明和许可声明。

    Linux的哲学思想

    一切皆文件

      一切皆文件:是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。

    小型,单一用途的程序

      程序和可执行文件不要太复杂,这样才能保证了linux内核的高效运行

    连接程序,共同完成复杂功能

      复杂的任务可以通过连接多个简单的程序实现复杂的功能。对于复杂的功能linux通过许多简单程序的组合等方式实现,在保证简单功能的高效性的同时,复杂的程序也必然是高效性的

    避免令人困惑的用户界面

      如windows那样出了问题一般人选择的会是重启,实在是不行的话就是 重新 安装系统了,因为对于windows那样不是开源的,并且用户界面比较 复杂操作系统出了问题,一般的人是根本没有办法解决的。但是linux就不一样了,第一linux是开源的,无论什么问题都可以通过简洁的命令行实现 排错,修改系统的配置,一切都是简洁明了为基础。

    配置数据存储在文本中

      配置数据存储在文本中:linux所有的配置文件都存放在文本配置文件当中,无论什么配置修改都只需修改其配置文件即可,配置文件时文本形式的只需任意一款文本编辑器修改即可而不是类似于windows那样将保存在注册表中,并且windows的注册表需要专门的二进制或十六进制的编辑器才可编辑,修改比较复杂。

    Linux目录

    linux目录结构

    / - 根目录

      顾名思义,根目录就是所有目录所在的目录,它是Linux中所有目录的根,从某种概念上讲,它有点类似于Windows中的磁盘驱动器符号。之后将会看到,所有其他目录都是以/开头的。

    /bin - 存放重要的用户二进制文件目录

      bin是binary的缩写,/bin目录存放了非常重要的用户二进制文件,其实就是一些程序。需要特别说明的是,/bin中存放的都是在单用户维护模式下还能被操作的命令,这些命令可以被root和普通用户使用。在/bin中我们可以看到例如chmod、du这些我们经常使用的Linux命令程序。

     /boot - 存放系统启动时需要文件的目录

      /boot中存放的主要是系统启动时需要用到的文件,比如EFI、GRUB以及Linux内核。

    /dev - 设备文件目录

      Linux将所有东西都看成文件,设备也不例外,不论是实体的硬件设备还是虚拟设备。实体硬件比如第一块被检测到的硬盘会被挂载到/dev/sda,第二块会被挂载到/dev/sdb,以此类推。虚拟设备比如null、random、stderr、stdin和stdout。

    /etc - 配置文件目录

      etc的含义是Et cetera,表示一些相关的其他东西,/etc从UNIX早期开始就被用来存放配置文件,一直沿用至今。需要注意的是,/etc中存放的是系统配置文件,特定用户的配置文件放在每个用户的/home目录下。

    /home - 用户目录

      /home目录中存放的是每个用户的用户目录,比如有一个用户叫tom,/home/tom就是他的用户目录,每个用户的用户目录中存放的用户数据和用户配置文件,比如每个用户的.bashrc文件、.ssh目录等。普通用户只能访问自己的用户目录而不能访问别人的,root用户则没有此限制。

    /lib - 重要的共享库目录

      /lib目录中存放的是/bin和/sbin中那些重要的二进制文件(程序)需要的共享库。另外/usr/bin中二进制文件(程序)需要的共享库都存放在/usr/lib。

    /lost+found - 恢复文件目录

      每个Linux文件系统都有/lost+found目录,当文件系统崩溃时,在下次启动时将会进行文件系统自检,任何在崩溃过程中损坏的文件都将被放入/lost+found,你可以尝试找到并恢复这些文件。

    /media - 可删除媒介目录

      当你将一些可删除媒介挂(比如CD,U盘,光驱等)载到计算机上时,系统会在/media下自动创建子目录,之后就可以通过访问这个子目录来访问媒介。比如你在电脑上插入CD,在/media目录下就会自动生成一个子目录,你可以通过访问这个子目录来访问CD的内容。

    /mnt - 临时挂载点目录

      mnt是mount的缩写,各种设备挂载到系统后,会在/mnt目录下生成相应设备的目录,比如挂载光驱、文件系统、CD等。

    /proc - 内核和进程文件目录

      /proc是一个虚拟目录,并不包含任何标准文件。当系统启动后,会对当前内核和硬件信息进行检测,并将这些信息放在这个目录中(其实都在内存中)。你可以使用cat /proc/meminfo来查看关于内存的一些信息,或者使用cat /proc/version来查看Linux内核信息。

    /opt - 可选包目录

      opt是Optional的意思,系统中安装的可选软件包被存放在/opt目录中。

    /root - root用户的home目录

      和一般用户的home目录放在/home/{用户名}不同,root用户的home目录专门被放在/root。

    /run - 应用程序状态目录

      /run目录用来存放应用程序在运行期间需要的一些短暂存在的文件,比如socket和pid文件,这些文件对这些应用程序的运行很重要,因此不能把他们放在/tmp目录下,因为/tmp目录下的文件有可能会被系统清空。

    /sbin - 系统管理员用的二进制文件目录

      /sbin目录和/bin目录有些类似,都是存放二进制文件。比较特殊的是,/sbin目录存放的都是系统管理的命令程序,一般只有root用户能使用。

    /srv - 服务数据目录

      /srv目录主要用来存放一些系统提供的网络服务的数据,如果你在机器上运行一个HTTP服务器来对外提供静态文件时,/srv/http目录将存放这些静态文件,如果你运行一个FTP服务器对外提供文件,则/srv/ftp目录将存放这些文件。

    /tmp - 临时文件目录

      应用程序会将一些临时文件存放在/tmp目录中,一般来说当系统重启后,/tmp下的文件会被自动清空,也会被一些监控程序清空。

    /usr - 用户二进制文件和只读文件目录

      /usr目录下存放的是用户使用的程序,可以很明显地发现,Linux将普通用户和系统使用的程序分开存放,比如上面提到过,系统使用的一些重要程序存放在/bin,而那些不重要的程序就被放在/usr/bin。不太重要的系统管理程序存放在/usr/sbin而不是/sbin。usr也被称为UNIX Software Resource,这是比较早期的说法。下面是/usr目录下常见的几个子目录的含义:
  • /usr/bin 存放用户命令
  • /usr/include 存放编程语言的头文件和包含文件
  • /usr/lib 存放各个应用程序的库函数和目标文件
  • /usr/local 存放系统管理员下载的软件的安装目录
  • /usr/sbin 存放不常用的系统命令
  • /usr/src 存放源码

    /var - 变动数据目录

      /var一般用来存放经常变动的数据,比如日志文件和缓存文件。下面是/var目录下常见的几个子目录的含义:
  • /var/cache 存放应用程序运行产生的临时文件
  • /var/lib 存放程序在执行过程中需要使用到的数据文件,每个软件在此目录下都有自己独自的目录
  • /var/lock 存放程序的锁状态
  • /var/log 存放各种日志文件
  • /var/mail 存放个人电子邮箱
  • /var/run 有些程序在运行后,会将他们的pid、socket文件放置到这个目录中

    目录结构命名规定

  • 文件名最长255个字节,包括路径在内文件名称最长4095个字节;
  • 除了斜杠和NUL,所有字符都有效,但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用他们;
  • 标准Linux文件系统(如ext4),文件名称大小写敏感。
  • 文件类型分类

文件名颜色 文件类型
蓝色 目录
绿色 可执行文件
红色 压缩文件
浅蓝色 链接文件
灰色 其他文件

猜你喜欢

转载自www.cnblogs.com/bridge430/p/11610254.html