目录

  • 前言
  • 一、Linux 操作系统
    • (一)Linux 组成部分
    • (二)Linux 操作系统的特点
  • 二、Linux 文件系统
    • (一)文件系统的定义
    • (二)Linux 文件与进程
    • (三)绝对路径和相对路径
    • (四)Linux 文件系统的树状结构
    • (五)Linux 主要目录及作用
    • (六)Linux 设备文件
    • (七)Linux 文件的分类
  • 三、Linux 分区管理
    • (一)主分区和扩展分区
    • (二)磁盘分区格式
  • 四、Linux 系统运行级别
  • 五、Linux 系统启动过程
    • (一)引导加载程序
    • (二)加载内核
    • (三)运行init进程
    • (四)系统初始化
    • (五)执行/bin/login(用户登录)
  • 六、Linux 守护进程
  • 八、Linux 常见配置文件
    • (一)/etc/sysconfig/network 配置文件
    • (二)ifcfg-ethx 配置文件
    • (三)/etc/host.conf 配置文件
    • (四)/etc/hosts 配置文件
    • (五)/etc/resolv.conf 配置文件

前言

注:本栏目教程使用虚拟机软件的是VMware Workstation Pro 15.5.6 build-16341506,映像文件是CentOS-7-x86_64-DVD-1611。

虚拟机配置环境如下:

一、Linux 操作系统

Linux是一种免费且开源的类UNIX操作系统,继承UNIX的设计风格演变出来的多用户、多任务、支持多线程和多CPU的操作系统,以下是CentOS 7的页面:

实际上,CentOS它是一种Linux操作系统的发行版,可以说是以Linux为核心的操作系统软件包,除了CentOS还有RedHat、Ubuntu、Slackware、SUSE、veket等等,它们都是Linux内核加上外围实用程序组成的一个大的软件包。

(一)Linux 组成部分

Linux操作系统由四大主要部分组成:

1、Linux 内核
内核是Linux操作系统的核心,它提供了操作系统最基本的功能,例如支持虚拟内存、多任务、共享库、可执行程序和TCP/IP网络等等。
Linux内核中的模块可分为:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信、系统的初始化和系统调用等。
2、Linux Shell
Shell作为Linux操作系统的一种用户界面,用于与用户进行交互,为用户提供使用操作系统的接口,它有以下两大功能特点:
①Shell是一个命令解释器,拥有自己内建的Shell命令集;
②Shell它本身就是一种解释型的程序设计语言。

例如,CentOS中Shell进程提供了命令提示符,其中Shell对普通用户以$作为提示符,对超级用户(root)以#作为提示符,如下命令通过su root然后输入密码进入特权root模式:

[yyx@192 ~]$
[yyx@192 ~]$ su root
密码:
[root@192 yyx]#

在Linux终端输入命令:

这里的[yyx@192 ~]$ 其中的~符号表示用户的home目录,我们可以通过pwd命令(用于显示当前目录)和cd命令(用于切换目录)来理解其结构,如下命令:

[yyx@yyx12 ~]$ pwd
...
[yyx@yyx12 ~]$ cd ..
[yyx@yyx12 home]$ cd ..

在Linux终端输入命令,可看到进入终端处于[yyx@192 ~]$ 默认目录下,此时的当前目录为/home/yyx也就是用户目录,这里的/home用户主目录,用于存放系统中普通用户的宿主目录,即一个与用户名同名的目录,这里存放的用户名称为/yyx的同名目录;另外我们通过cd …命令切换目录至当前目录的上一级目录(父目录),可验证/yyx位于/home目录下,然后再进行切换,则返回到根目录/下:

3、Linux 文件系统
文件系统是文件存放在磁盘等存储设备上的组织方法,是文件数据的集合,并且包括文件系统的结构,Linux支持目前流行的多种文件系统,如EXT2、EXT3、FAT、FAT32、VFAT和ISO 9660等等。
4、Linux 应用程序
标准的Linux操作系统一般都有一套称为应用程序的程序集,包括编辑器、编程语言、X Window、办公套件、Internet工具和数据库等等。

(二)Linux 操作系统的特点

Linux操作系统相比于其它操作系统,它具有以下主要特征:
1、开放性
2、多用户
3、多任务
4、良好的用户界面
5、设备独立性
6、提供了丰富的网络功能
7、可靠的安全系统
8、良好的可移植性

二、Linux 文件系统

(一)文件系统的定义

在操作系统中与管理文件有关的软件和数据称为文件系统,其作用是为用户建立、撤销、读写、修改和复制文件,并且还负责完成对文件按名存取和进行存取控制。

(二)Linux 文件与进程

在Linux操作系统中,可以这样来定义文件与进程,所有静态的对象都属于文件,所有动态的对象都属于进程。在Linux操作系统中运行的程序可以称为进程文件是数据的集合,是文件系统中存储数据的对象,而进程是运行于其虚拟地址空间的程序

前面说过Linux是一个多用户、多任务、支持多线程和多CPU的操作系统,即它是一个多进程的操作系统,每个进程都有自己的权限和任务,且进程的失败不会互相影响。
另外Linux中有三种类型的进程,分为交互进程、批处理进程和守护进程,如下:

交互进程是由Shell控制和运行的,它既可以在前台运行也可以在后台运行;批处理进程不属于某个终端,被提交到一个队列中以便顺序运行;守护进程是在需要时被唤起后在后台运行,一般在Linux启动时开始运行。

(三)绝对路径和相对路径

绝对路径和相对路径很容易理解,只需根据该路径是否从根目录“/”写起分辩,绝对路径是完整的描述文件位置的路径,它是从盘符(根目录)开始写起的路径;而相对路径可以理解为不从根目录写起的目录,如下例:

例如通过cd命令(用于切换目录),分别通过绝对路径和相对路径方式切换至/home目录下。
(1)相对路径方式,起始点以当前工作目录开始,如下命令:

[yyx@yyx12 ~]$ cd /
[yyx@yyx12 /]$ cd home

在Linux终端中输入命令,如下:

(2)绝对路径方式,起始点从根目录 / 开始,如下命令:

[yyx@yyx12 ~]$ cd /home

在Linux终端中输入命令,如下:

(四)Linux 文件系统的树状结构

Linux文件系统采用树状结构来管理文件,每个文件的顶级目录为根目录“/”,根目录通过一个斜线表示(类似于Windows操作系统的“C:\“),在根目录 / 之下的既可以是一个目录,也可以是一个文件,且每一个目录中又可以包含子目录文件,从而构成整个Linux文件系统,如下图:

1、当前目录和父目录
在Linux文件系统中有两个特殊的目录:一个是用户所在的工作目录,也叫当前目录,通过使用.来表示,也可以使用./来表示;另一个是当前目录的上一级目录,也叫父目录,通过使用..来表示,也可以使用../来表示。
2、隐藏目录或文件
以“.”开头的目录或文件名为隐藏目录或文件,当以默认方式查找时,不会显示该目录或文件。
如下当我们通过ls命令默认访问,不带参数查看文件和目录信息以及通过ls -a显示隐藏目录或文件:

ls
ls -a

在终端中输入命令,如下:

具体的Linux相关命令将在后续的文章中介绍到,这里只是简单了解一下。

(五)Linux 主要目录及作用

在桌面点击“home”主文件夹,然后点击计算机,可看到一些主要的目录如下:

或者通过ls /命令显示目录:

ls /

在Linux终端中输入命令,如下:

这里只介绍主要的目录作用,如下表:

目录名称 作用
/ 根目录
/boot 包含操作系统的内核以及系统启动时所需读取的核心文件
/root 超级用户的本地目录
/home 用户主目录,存放系统中普通用户的宿主目录,即一个与用户名同名的目录
/tmp 临时目录,存放命令程序临时使用的文件
/usr 存放应用程序和文件 ,用于存放次重要的分级文件系统的目录
/var 存放系统专用数据和配置文件,即经常变化的文件(例如日志文件、用户邮件等)
/dev 存放终端和磁盘等外部设备文件(例如打印机、光盘驱动、硬盘等)
/etc 存放系统中管理和维护的配置文件
/bin 存放二进制可执行文件 ,它存放着最经常使用的命令
/sbin 通常也是存放二进制可执行文件 ,它存放的是系统管理员使用的系统管理程序
/mnt 外接设备的挂载点,外接设备需挂载在该目录下才能访问(例如U盘等)
/opt 存放附加软件包的目录
/proc 存放核心和进程信息虚拟文件系统的目录

(六)Linux 设备文件

Linux中只有文件的概念,系统中每一个硬件设备都映射到一个文件上,即对设备的处理简化为对文件的处理,该类文件称为设备文件

系统中第一个IDE设备指定为hda,随后第二个IDE设备指定为hdb,第一个SCSI设备指定为sda,随后第二个SCSI设备指定为sdb,依次……

(七)Linux 文件的分类

Linux文件系统中的文件大致可分为以下七类:
1、普通文件
根据存放内容的不同,可将普通文件分为纯文本文件(ASCII)和纯二进制文件(binary)。
2、目录文件
目录文件是一种特殊的文件,通过cd命令可进入相应的目录。
例如以下命令:

[yyx@192 ~]$ cd /home
[yyx@192 home]$ cd /tmp
[yyx@192 tmp]$ cd /var/log
[yyx@192 log]$

在Linux终端输入命令:

3、块设备文件
存储数据以供系统存取的接口设备在上层的表现形式,以块(1024byte)为单位来操作数据,这里的设备也就是硬盘、U盘等等。
4、字符设备文件
字符设备驱动程序在上层的表现形式,即串行端口的接口设备,例如键盘、鼠标等等。
5、套接字文件
该文件用于网络通信,通过启动一个程序来监听客户端的要求,从而客户端就可以通过套接字来进行数据通信。
6、管道文件
用于实现不同进程(程序)之间的通信,它是操作系统提供的一种纯代码层面的通信机制。
7、链接文件
相当于一种快捷图标,指向另一个文件,链接文件分为符号链接文件(软链接文件)和硬链接文件。

三、Linux 分区管理

(一)主分区和扩展分区

主分区的作用是使计算机系统可以启动操作系统的分区,每一个操作系统的启动引导程序都存放在主分区上。
Linux规定在一个硬盘设备中主分区和扩展分区最多能有4个,系统分配1⁓16的序列号码来区分硬盘上的各分区,例如一个IDE硬盘的第一个分区用hda1表示,第二个分区用hda2表示,依次……表示。

Linux至少需要两个特有的分区类型Linux Native主分区Linux Swap交换分区,通常在Linux中安装Linux Native硬盘分区,分区类型规定在此分区上文件系统的格式。

(二)磁盘分区格式

Linux常见的分区格式如下:

名称 解释
ext 扩展文件系统,它拥有最快的速度和最小的CPU占用率
ext2 第二代扩展文件系统,它的速度和CPU利用率表现突出,是目前Linux文件系统类型中使用最多的格式
ext3 第三代扩展文件系统,是一种日志式文件系统,它是在ext2的基础上添加了记录元数据的日志功能
ISO 9660 CD-ROM文件系统,是一种基于光盘的标准文件系统
NFS 网络文件系统,允许多台PC共享一个文件系统,易于从所有计算机上存取文件
HPFS 高性能文件系统

四、Linux 系统运行级别

Linux操作系统中当前正在运行的功能级别称为运行级别,共七个,即0~6共七个运行级别,每个级别对应不同的功能,init程序(系统的第一个进程,是所有进程的发起者和控制者)通过寻找initab文件来使相应的运行级别有相应的功能。
标准的Linux的运行级别为3或5,以下是七个运行级别及其对应的功能,:

运行级别 解释
运行级别0 停机状态,机器是关闭的
运行级别1 单用户工作状态,仅有root权限,用于系统维护,不能远程登陆 (类似于Windows的安全模式)
运行级别2 多用户状态,不支持NFS,也不支持网络功能
运行级别3 完整的多用户状态,支持NFS,可以使用控制台命令行模式
运行级别4 未使用,作为保留
运行级别5 X11控制台,桌面模式,登录后进入图形用户页面X Windows模式
运行级别6 系统正常关闭并重启

注:网络文件系统(NFS)是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。

五、Linux 系统启动过程

Linux系统启动过程分为五个阶段:

(一)引导加载程序

首先从硬盘引导操作系统,由Linux中的引导加载程序GRUB和LILO读取硬盘主引导记录(MBR)中的信息(每个MBR中只能存储一个操作系统的引导记录)。

(二)加载内核

内核映像不是一个可执行内核,它是一个经压缩过的内核映像,将其加载到内存后内核开始执行。

(三)运行init进程

在内核引导后开始加载init进程,init进程完成系统的初始化工作并维护系统的各种运行级别
init进程有两个作用:
1、终结父进程,系统总以init进程为参照;
2、进入某个特定的运行级别时运行相应的程序,并对各种运行级别进行管理。

(四)系统初始化

init进程根据/etc/inittab文件进行系统初始化,这里以RedHat Linux为例,主要介绍它的系统初始化步骤,如下:
1、执行/etc/rc.d/rc.sysinit
init首先执行的脚本,它主要完成各个不同运行级别中相同部分的初始化工作,包括设置初始的$PATH变量、配置网络等等;
2、执行/etc/rc.d/rcx.d/下的脚本
在系统初始化时选择性地执行系统目录/etc/rc.d/init.d下的服务器脚本程序的一部分,在/etc/rc.d目录下有七个名为rcx.d(x代表不同运行级别的级别数)的目录,对应系统运行级别的七个运行级别,这些脚本实际上都是连接文件,而不是真正的rc启动脚本;

脚本程序的连接文件命名规则为K/S+xx+服务名的形式,其中S表示启动,K表示结束,K开头的命令脚本程序会传递Stop参数,而S开头的命令脚本程序会传递Start参数,xx是一个两位数字。

命令脚本程序的执行顺序首先终止K开头的服务然后启动S开头的服务再根据S或K后面xx两位数字的大小来决定执行顺序,数值小的先执行
3、执行/etc/rc.d/rc.local/
RedHat Linux中的运行模式2、3、5都会将/etc/rc.d/rc.local/作为最后一个运行的初始化脚本(可以在这个文件中添加脚本指令,从而实现在系统开机后自动运行某个程序或执行某项常规操作的功能);

(五)执行/bin/login(用户登录)

login程序检验用户的输入账号和密码,若通过则为使用者进行初始化环境,并将控制权交给shell,从而等待用户登录,启动过程完成。

六、Linux 守护进程

Linux中每个服务都有一个对应的守护进程,守护进程通常在系统引导时自动启动在系统关闭时终止,在后台运行时不受任何终端控制,平时也没有一个程序界面与之对应。
以下是常见的守护进程:

进程名称 解释
dhcpd 动态主机控制协议的服务守护进程
crond 负责周期性地运行用户调度的任务
httpd Web服务器Apache守护进程
iptables iptables防火墙守护进程
named DNS(BIND)服务器守护进程
pppoe ADSL连接守护进程
sendmail 邮件服务器sendmail守护进程
smb Samba文件共享/打印服务守护进程
snmpd 简单网络管理守护进程
squid 代理服务器squid守护进程
sshd SSH服务器守护进程

八、Linux 常见配置文件

(一)/etc/sysconfig/network 配置文件

/etc/sysconfig目录下存放的都是与系统配置相关的文件,/etc/sysconfig/network下用于存放系统的基本网络信息,如计算机名、默认网关等等。

(二)ifcfg-ethx 配置文件

配置文件位于/etc/sysconfig/networking/ifcfg-ethx中,用于存放系统eth接口的IP配置信息,其中ifcfg-ethx的x值可以为0或1,代表不同的网卡接口。在一般情况下,系统默认读取/etc/sysconfig/network为默认网关,若不生效,则检查配置文件内容是否正确,其次检查相应的网卡接口ifcfg-ethx中是否设置了GATEWAY=,若设置了则会以该为默认网关。

(三)/etc/host.conf 配置文件

用于保存系统解析主机名或域名的解析顺序,在网络环境中使用计算机名或域名时,系统首先会去/etc/host.conf 配置文件中寻找配置,确定解析主机名的顺序。

(四)/etc/hosts 配置文件

用于存放系统中的IP地址和主机对应关系的一个表,如下通过cat命令查看/etc/hosts 配置文件:

[yyx@yyx12 ~]$ cat /etc/hosts

在Linux终端输入命令:

(五)/etc/resolv.conf 配置文件

用于存放DNS客户端配置文件,通过vi命令可以显示该配置文件设置的本机的DNS服务器:

vi /etc/resolv.conf

在终端中输入命令,如下:

然后回车键,即可显示该配置文件设置的本机系统的DNS服务器地址:

例如在Linux系统中,DNS查询文件内容如下:

Search domain.test.cn
Nameserver 210.34.0.14
Nameserver 210.34.0.15
Nameserver 210.34.0.16
Nameserver 210.34.0.17

可知,该文件的默认存储位置为/etc/resolv.conf ,当用户作DNS查询时,首选DNS服务器的IP地址为210.34.0.14。

(*长期更新)软考网络工程师学习笔记——Section 11 Linux操作系统简介相关推荐

  1. (*长期更新)软考网络工程师学习笔记——Section 14 Linux服务器配置

    目录 一.DNS 服务器配置 (一)Bind 服务 (二)named.conf bind 服务安装 named.conf 文件基本格式 区域文件类型 (三)DNS服务器配置类型 二.DHCP 服务器配 ...

  2. (*长期更新)软考网络工程师学习笔记——Section 12 Linux系统与文件管理命令

    目录 一.Linux 目录的常用命令 1.ls 命令 2.cd 命令 3.pwd命令 4.mkdir 命令和 rmdir 命令 5.cp 命令 6.rm 命令 5.mv 命令 二.Linux 文件的常 ...

  3. (*长期更新)软考网络工程师学习笔记一—RSA算法详解

    RSA算法是一种非对称加密算法,适合进行数字签名和密钥交换运算. 这里总结下RSA算法的步骤: 一.选两个较大的质数p和q,p≠q,质数即除了1和其本身以外不被其它自然数所整除的数,且大于1. 比如选 ...

  4. (*长期更新)软考网络工程师学习笔记——Section 6 网络层上篇

    目录 一.网络层的定义 二.IPv4数据报 三.IPv4 (一)分类依据 (二)IP地址分类 (三)网络.主机号位数 (四)特殊IP地址 四.划分子网 五.子网掩码 (一)默认子网掩码 (二)VLSM ...

  5. (*长期更新)软考网络工程师学习笔记——Section 2 数字传输系统

    目录 前言 一.PCM体制 (一)E1 (二)T1 (三)复用 二.SONET(同步光纤网) 三.SDH(同步数字系列) 前言 本系列属于全国计算机技术与软件专业技术资格考试(软考)中级网络工程师的长 ...

  6. *(长期更新)软考网络工程师学习笔记——Section 19 计算机软件基本知识

    目录 一.操作系统(OS) 二.进程 (一)进程的状态 (二)进程的关系 三.CMM和CMMI模型 四.软件设计和软件测试 (一)软件设计 (二)动态测试和静态测试 (三)黑盒测试和白盒测试 五.数据 ...

  7. (*长期更新)软考网络工程师学习笔记——Section 17 交换技术原理

    目录 前言 一.交换机概述 (一)冲突域与广播域 1.冲突域 2.广播域 (二)交换机的基本概念 (三)交换机的分类 1.按管理划分 2.按工作层次划分 3.按网络拓扑结构划分 4.按交换机的交换方式 ...

  8. (*长期更新)软考网络工程师学习笔记——Section 7 网络层下篇

    九.IPv6 (一)IPv6的定义和省略写法 IPv6是IPv4的新版本,其采用更大的地址空间,从而解决IPv4地址耗尽的问题. IPv6的地址长度为128位,通常写为8组,每组4个十六进制数,且中间 ...

  9. *(长期更新)软考网络工程师学习笔记——Section 20 路由技术原理

    目录 一.路由器的概念 二.路由器的功能 三.路由器的端口 (一)RJ-45端口 (二)Console端口.AUX端口 (四)WAN/LAN端口 (五)E1/T1端口 (六)光纤端口 (七)异步/同步 ...

最新文章

  1. Gym 101845(2018 ACM-ICPC, Universidad Nacional de Colombia Programming Contest)
  2. Google综述:细数Transformer模型的17大高效变种
  3. Shell中的/dev/null 21 与 21 /dev/null 与/dev/null 的区别
  4. java修改jar包
  5. 用计算机打印相片怎么调色,2018年底照片如何使用LOG模式进行调色
  6. u32、u16、u8 数据类型
  7. android开发全然退出activity
  8. 重温.NET下Assembly的加载过程
  9. gRPC .NET Core跨平台学习
  10. 将JQGrid与Spring MVC和Gson集成
  11. Leetcode--542. 01 矩阵(java)
  12. Linux定制history命令的输出格式
  13. C#面向对象名词比较
  14. LeetCode_database刷题记录(181. 超过经理收入的员工)
  15. 【Qt教程】1.10 - Qt5模态与非模态对话框( QDialog)
  16. 奥维地图导入西安坐标_带了坐标的照片,要上天了
  17. 细胞亚器文献阅读之酵母液泡与线粒体的动态互作A Dynamic Interface between Vacuoles and Mitochondria in Yeast
  18. 不是区块链的特征_《区块链的特征》阅读练习及答案
  19. cad2019菜单栏怎么调出来_AutoCAD2019工具栏没了找不到解决方法 AutoCAD2019工具栏怎么调出来...
  20. 智课雅思短语---三、unshakable duty

热门文章

  1. 计算机基础扎实,到底是说什么?
  2. 当我们在谈论cpu指令乱序的时候,究竟在谈论什么?
  3. RabbitMQ之队列优先级
  4. Linux中的基础IO(一)
  5. 前端工程师后端转型实录
  6. 窥见C++11智能指针
  7. 贺TDSQL喜提286万QPS!本文回顾了它的十年锻造之路
  8. 【精选】Nginx模块Lua-Nginx-Module学习笔记(一)Nginx Lua API 接口详解
  9. RTMPdump(libRTMP) 源代码分析 6: 建立一个流媒体连接 (NetStream部分 1)
  10. SpringCloud Demo