您好,欢迎光临有路网!
Linux操作系统与实训( Centos 7.4 & RHEL 7.4 )
QQ咨询:
有路璐璐:

Linux操作系统与实训( Centos 7.4 & RHEL 7.4 )

  • 作者:县小平
  • 出版社:清华大学出版社
  • ISBN:9787302528777
  • 出版日期:2019年07月01日
  • 页数:0
  • 定价:¥59.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书全面系统地介绍了利用Linux操作系统架设网络服务器的方法,内容包括 Linux基础、Linux的安装、Linux常用命令、Shell与Vi编辑器、用户和组管理、文件系统和磁盘管理、Linux网络基础配置、DHCP服务器配置、DNS服务器配置、NFS网络文件系统、Samba服务器配置、Apache服务器配置、电子邮件服务器配置、FTP服务器配置、防火墙与代理服务器、VPN服务器配置等内容。
    文章节选
    第3章Shell与Vim编辑器




    Shell是允许用户输入命令的界面,Linux中*常用的交互式Shell是bash。本章主要介绍Shell的功能和Vim编辑器的使用。


    3.1Shell
    Shell是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。
    3.1.1Shell概述〖*2〗1. Shell的地位Shell在Linux系统中具有极其重要的地位,Linux系统结构组成如图31所示。
    2. Shell的功能
    Shell*重要的功能是命令解释,从这种意义上来说,Shell是一个命令解释器。Linux系统中的所有可执行文件都可以作为Shell命令来执行。将可执行文件进行一下分类,如表31所示。表31可执行文件的分类
    类别说明Linux命令存放在/bin、/sbin目录下内置命令出于效率的考虑,将一些常用命令的解释程序构造在Shell内部实用程序存放在/usr/bin、/usr/sbin、/usr/local/bin等目录下Linux操作系统与实训(CentOS 7.4 & RHEL 7.4)第3章Shell与Vim编辑器续表
    类别说明用户程序用户程序经过编译生成可执行文件后,也可作为Shell命令运行Shell脚本由Shell语言编写的批处理文件图31Linux系统结构组成
    当用户提交了一个命令后,Shell首先判断它是否为内置命令,如果是内置命令,就通过Shell内部的解释器将其解释为系统功能调用并转交给内核执行;若是外部命令或实用程序,就试图在硬盘中查找该命令并将其调入内存,再将其解释为系统功能调用并转交给内核执行。在查找该命令时分为两种情况。
    (1) 用户给出了命令路径,Shell就沿着用户给出的路径查找,若找到则调入内存;若没找到则输出提示信息。
    (2) 用户没有给出命令的路径,Shell就在环境变量PATH所指定的路径中依次进行查找,若找到则调入内存;若没找到则输出提示信息。
    图32描述了Shell执行命令解释的过程。
    图32Shell执行命令解释的过程
    此外,Shell还具有以下一些功能。
     Shell环境变量。
     正则表达式。
     输入/输出重定向与管道。
    3. Shell的主要版本
    表32列出了几种常见的Shell版本。表32Shell的不同版本
    版本说明Bourne Again Shell(bash.bsh的扩展) bash是大多数Linux系统的默认Shell。bash与bsh完全向后兼容,并且在bsh的基础上增加和增强了很多特性。bash也包含了很多C Shell和Korn Shell中的优点。bash有很灵活和强大的编程接口,同时又有很友好的用户界面Korn Shell(ksh)Korn Shell(ksh)由Dave Korn所写。它是UNIX系统上的标准Shell。另外,在Linux环境下有一个专门为Linux系统编写的Korn Shell的扩展版本,即Public Domain.Korn Shell(pdksh)tcsh(csh的扩展)tcsh是C.Shell的扩展。tcsh与csh完全向后兼容,但它包含了更多的使用户感觉方便的新特性,其*大的提高是在命令行编辑和历史浏览方面3.1.2Shell环境变量
    Shell支持具有字符串值的变量。Shell变量不需要专门的说明语句,通过赋值语句完成变量说明并予以赋值。在命令行或Shell脚本文件中使用$name的形式引用变量name的值。
    1. 变量的定义和引用
    在Shell中,变量的赋值格式如下: name=string
    其中,name是变量名,它的值就是string;“=”是赋值符号。变量名是以字母或下画线开头的字母、数字和下画线字符序列。
    通过在变量名(name)前加$字符(如$name)引用变量的值,引用的结果就是用字符串string代替$name。此过程也称为变量替换。
    在定义变量时,若string中包含空格、制表符和换行符,则string必须用'string'(或者"string")的形式,即用单(双)引号将其括起来。双引号内允许变量替换,而单引号内则不可以。
    下面给出一个定义和使用Shell变量的例子。 //显示字符常量
    $ echo who are you
    who are you
    $ echo 'who are you'
    who are you
    $ echo "who are you"
    who are you
    $
    //由于要输出的字符串中没有特殊字符,所以''和""的效果是一样的
    $ echo Je t'aime
    >
    /由于要使用特殊字符('),但“'”不匹配,Shell认为命令行没有结束,按Enter键后会出现系统
    第二提示符,让用户继续输入命令行,按Ctrl C组合键结束/
    $
    为了解决这个问题,可以使用下面的两种方法。 $ echo "Je t'aime"
    Je t'aime
    $ echo Je t\\'aime
    Je t'aime
    2. Shell变量的作用域
    与程序设计语言中的变量一样,Shell变量有其规定的作用范围。Shell变量分为局部变量和全局变量。
    (1) 局部变量的作用范围仅**制在其命令行所在的Shell或Shell脚本文件中。
    (2) 全局变量的作用范围则包括本Shell进程及其所有子进程。
    (3) 可以使用export内置命令将局部变量设置为全局变量。
    下面给出一个Shell变量作用域的例子。 //在当前Shell中定义变量var1
    $ var1=Linux
    //在当前Shell中定义变量var2并将其输出
    $ var2=unix
    $ export var2
    //引用变量的值
    $ echo $var1
    Linux
    $ echo $var2
    Unix
    //显示当前Shell的PID
    $ echo $$
    2670
    $
    //调用子Shell

    $ bash
    //显示当前Shell的PID
    $ echo $$
    2709
    //由于var1没有使用export命令,所以在子Shell中已无值
    $ echo $var1
    //由于var2使用export命令,所以在子Shell中仍有值
    $ echo $var2
    unix
    //返回主Shell,并显示变量的值
    $ exit
    $ echo $$
    2670
    $ echo $var1
    Linux
    $ echo $var2
    unix
    $
    3. 环境变量
    环境变量是指由Shell定义和赋初值的Shell变量。Shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等。所有环境变量都是全局变量,并可以由用户重新设置。表33列出了Shell中常用的环境变量。表33Shell中的环境变量
    环境变量名说明EDITOR、FCEDITbash fc命令的默认编辑器HISTFILE用于存储历史命令的文件HISTSIZE历史命令列表的大小HOME当前用户的用户目录OLDPWD前一个工作目录PATHbash寻找可执行文件的搜索路径PS1命令行的一级提示符PS2命令行的二级提示符PWD当前工作目录SECONDS当前Shell开始后所经过的秒数不同类型的Shell的环境变量有不同的设置方法。在bash中,设置环境变量用set命令,命令的格式是: set 环境变量=变量的值
    例如,设置用户的主目录为/home/john,可以用以下命令。
    目录
    目录 第1章搭建与测试Linux服务器1 1.1认识Linux操作系统1 1.1.1认识Linux的前世与今生1 1.1.2理解Linux体系结构2 1.1.3认识Linux的版本3 1.1.4CentOS4 1.1.5CentOS 7的主要特点5 1.2使用VM虚拟机安装CentOS 75 1.2.1安装并配置VM虚拟机5 1.2.2安装并配置CentOS 7操作系统7 1.3重置root管理员密码16 1.4使用RPM18 1.5使用yum软件仓库19 1.6systemd初始化进程20 1.7启动Shell21 1.8配置常规网络23 1.8.1检查并设置有线处于连接状态23 1.8.2设置主机名23 1.8.3使用系统菜单配置网络25 1.8.4通过网卡配置文件配置网络27 1.8.5使用图形界面配置网络28 1.8.6使用nmcli命令配置网络31 1.9练习题35 1.10项目实录: Linux系统的安装与基本配置36 1.11实训: 安装CentOS操作系统37 第2章使用常用的Linux命令39 2.1Linux命令基础39 2.1.1了解Linux命令的特点39 2.1.2后台运行程序40 2.2熟练使用文件目录类命令40 2.2.1熟练使用浏览目录类命令40 2.2.2熟练使用浏览文件类命令41 2.2.3熟练使用目录操作类命令44 2.2.4熟练使用cp命令45 2.2.5熟练使用文件操作类命令47 2.3熟练使用系统信息类命令55 2.4熟练使用进程管理类命令56 2.5熟练使用其他常用命令60 2.6练习题64 2.7项目实录: 使用Linux基本命令66 2.8实训: Linux常用命令66 第3章Shell与Vim编辑器69 3.1Shell69 3.1.1Shell概述69 3.1.2Shell环境变量71 3.1.3正则表达式75 3.1.4输入/输出重定向与管道76 3.1.5Shell脚本80 3.2Vim编辑器82 3.2.1Vim的启动与退出82 3.2.2Vim的工作模式83 3.2.3Vim命令84 3.3练习题86 3.4项目实录87 项目实录一: Shell编程87 项目实录二: Vim编辑器87 3.5实训88 实训一: Shell的使用88 实训二: Vim编辑器的使用89 第4章用户和组管理91 4.1理解用户账户和组群91 4.2理解用户账户文件和组群文件92 4.2.1理解用户账户文件92 4.2.2理解组群文件94 4.3管理用户账户95 4.3.1新建用户95 4.3.2设置用户账户口令96 4.3.3维护用户账户98 4.4管理组群100 4.4.1维护组群账户100 4.4.2为组群添加用户100 4.5使用su命令与sudo命令101 4.5.1使用su命令101 4.5.2使用sudo命令102 4.6使用用户管理器管理用户和组群105 4.6.1安装systemconfigusers工具105 4.6.2使用用户管理器106 4.7使用常用的账户管理命令107 4.8企业实战与应用——账号管理实例110 4.9练习题110 4.10项目实录: 管理用户和组112 第5章文件系统和磁盘管理113 5.1了解文件系统113 5.1.1认识文件系统113 5.1.2理解Linux文件系统的目录结构114 5.1.3理解**路径与相对路径116 5.1.4Linux文件权限管理117 5.2管理磁盘122 5.2.1常用的磁盘管理工具122 5.2.2Linux中的软RAID131 5.2.3LVM135 5.3管理磁盘配额139 5.3.1磁盘配额设置的设计与准备140 5.3.2实施磁盘配额140 5.4练习题146 5.5项目实录147 项目实录一: 文件权限管理147 项目实录二: 文件系统管理148 项目实录三: LVM逻辑卷管理器148 项目实录四: 动态磁盘管理148 5.6实训: 文件系统和磁盘管理149 第6章DHCP服务器配置152 6.1了解DHCP服务152 6.1.1DHCP服务简介152 6.1.2DHCP服务的工作原理153 6.2安装与配置DHCP服务155 6.2.1安装DHCP服务155 6.2.2配置DHCP主配置文件155 6.3配置DHCP服务器应用案例160 6.4练习题164 6.5项目实录165 6.6实训: DHCP服务器配置167 第7章DNS服务器配置169 7.1认识DNS服务169 7.1.1DNS概述169 7.1.2DNS查询模式170 7.1.3DNS域名空间结构170 7.2安装DNS服务171 7.3掌握BIND配置文件172 7.3.1认识全局配置文件172 7.3.2认识主配置文件174 7.3.3缓存DNS服务器的配置175 7.4配置主DNS服务器实例176 7.4.1案例环境及需求176 7.4.2配置过程176 7.5配置DNS客户端180 7.6使用工具测试DNS181 7.7练习题183 7.8项目实录184 7.9实训: DNS服务器配置185 第8章网络文件系统服务189 8.1NFS基本原理189 8.1.1NFS服务概述189 8.1.2NFS工作原理190 8.1.3NFS组件190 8.2安装、启动和停止NFS服务器191 8.3配置NFS服务192 8.4了解NFS服务的文件存取权限194 8.5在客户端挂载NFS文件系统194 8.6排除NFS故障196 8.7练习题198 8.8项目实录200 8.9实训: NFS服务器配置201 第9章Samba服务器配置203 9.1Samba简介203 9.2配置Samba服务204 9.2.1安装并启动Samba服务204 9.2.2了解Samba服务器配置的工作流程205 9.2.3主要配置文件smb.conf206 9.2.4Samba服务的日志文件和密码文件209 9.3user服务器实例解析211 9.4配置Samba客户端213 9.5练习题216 9.6项目实录217 9.7实训: Samba服务器的配置218 第10章Apache服务器配置220 10.1认识Web服务220 10.2安装、启动与停止Apache服务222 10.2.1安装Apache相关软件222 10.2.2让防火墙放行并设置SELinux为允许222 10.2.3测试httpd服务是否安装成功223 10.3认识Apache服务器的配置文件224 10.4常规设置Apache服务器实例225 10.5其他常规设置230 10.6配置虚拟主机235 10.6.1配置基于IP地址的虚拟主机235 10.6.2配置基于域名的虚拟主机237 10.6.3基于端口号的虚拟主机的配置239 10.7配置用户身份认证241 10.8练习题244 10.9项目实录245 10.10实训: Apache服务器的配置246 第11章FTP服务器配置247 11.1认识FTP服务247 11.1.1FTP工作原理247 11.1.2匿名用户248 11.2安装、启动与停止vsftpd服务248 11.3认识vsftpd的配置文件249 11.4配置匿名用户FTP实例251 11.5配置本地模式的常规FTP服务器实例253 11.6设置vsftp虚拟账号257 11.7练习题260 11.8项目实录261 11.9实训: FTP服务器的配置262 第12章电子邮件服务器配置263 12.1了解电子邮件服务工作原理263 12.1.1电子邮件服务概述263 12.1.2电子邮件系统的组成263 12.1.3电子邮件的传输过程264 12.1.4与电子邮件相关的协议265 12.1.5邮件中继265 12.2配置Postfix常规服务器266 12.3配置Dovecot服务程序272 12.4配置一个完整的收发邮件服务器并测试274 12.5使用CyrusSASL实现SMTP认证280 12.6练习题283 12.7项目实录284 12.8实训: 电子邮件服务器的配置284 第13章配置防火墙与代理服务器286 13.1防火墙概述286 13.1.1认识防火墙286 13.1.2iptables与firewalld287 13.2配置iptables防火墙287 13.2.1安装、启动iptables287 13.2.2配置iptables规则287 13.3使用firewalld服务290 13.4配置NAT服务器296 13.4.1实现NAT(网络地址转换)296 13.4.2NAT综合案例298 13.5配置代理服务器301 13.5.1代理服务器概述301 13.5.2安装、启动、停止与随系统启动squid服务302 13.5.3配置squid服务器303 13.6squid和NAT企业实战与应用306 13.7练习题311 13.8项目实录313 13.8.1项目实录一: 配置与管理iptables防火墙313 13.8.2项目实录二: 配置与管理squid代理服务器314 13.9实训: Linux防火墙的配置315 参考文献316

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外