Linux指令从入门到精通(“十二五”国家重点图书出版规划项目)(txt+pdf+epub+mobi电子书下载)


发布时间:2021-01-27 11:59:19

点击下载

作者:宋磊宋馥莉雷文利编著

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Linux指令从入门到精通(“十二五”国家重点图书出版规划项目)

Linux指令从入门到精通(“十二五”国家重点图书出版规划项目)试读:

前言

Linux 属于开源的自由软件,程序员和爱好者可以根据自己的喜好参与到其设计和开发工作中并且任意传播,因此它受到广大计算机爱好者的喜爱。除此之外,由于UNIX操作系统是收费的,任何使用UNIX操作系统或想要学习UNIX操作系统的人都需要支付高额的费用,而Linux是开源的类UNIX操作系统,具有UNIX的所有功能,程序员可以从Linux着手学习。对于很多用惯了Windows系统图形界面且刚开始接触Linux的用户来说,一本Linux指令速查宝典是必备的工具书。

笔者基于上述考虑编写了本书,希望对Linux爱好者和初学者有所帮助。

本书特点

1.常见指令全面

本书共讲解了444个Linux指令,覆盖了Linux指令中绝大多数常见的指令。

2.实例丰富

本书共列举了716个范例,书中绝大多数的指令都配有应用范例,并且辅以讲解和说明,以帮助读者加深对指令的理解。

3.索引方便

本书提供的命令按照两种方式进行索引,一是按照指令的功能进行索引;二是按照指令的首字母顺序进行索引,可方便用户查找使用。

要点说明

本书对Linux指令的讲解由5部分组成:学习目标、语法、功能说明、参数说明、基础应用。

学习目标:在开始学习某个指令之前,帮助读者树立学习本指令的目标,并目的性很强地去学习这一指令。

语法:详细地介绍Linux指令使用时的法则和规范。

功能说明:详细介绍Linux指令具体能实现哪些主要功能。

参数说明:介绍指令可能会使用的参数以及相应参数对应的具体功能。参数又分为必要参数和选择性参数,必要参数是实现某项功能必须要使用的参数,选择性参数是辅助性的参数,如创建、修改或从档案文件中提取文件指令“ar”。

基础应用:介绍具体使用指令的方法,可使读者轻而易举地掌握具体指令的使用方法。应用范例均是在命令行下的操作,并有详细的解释。比如:

[root@localhost ~]# adduser -r adminis   //创建一个系统用户adminis

[root@localhost ~]# adduser –p 12345678 adminis //为用户 adminis 设置密码

adduser:user adminis exists

[root@localhost ~]#

执行指令“adduser –r adminis”新建一个用户名为 adminis 的系统用户,然后再执行指令“adduser –p 12345678 adminis”为新用户设置密码,当然也可以用 passwd 指令来设置该用户的密码。

适合的读者

Linux 初学者;

Linux 爱好者;

大中专院校的学生;

Linux 系统管理员。

本书由宋磊主编、统稿,宋馥莉参与编写了第6~8章、刘慧慧参与编写了第9章和第10章。在此向参与编写、资料整理和代码编写的人员致以诚挚的谢意。

本书在编写过程中,经过多次修改,但由于水平有限、时间仓促,错误和疏漏之处在所难免,恳请广大读者批评指正。本书责任编辑的联系方式:fudaokun@ptpress.com.cn。编者2013年11月

第1章 Linux的安装和基本配置

1.1 Linux的安装

Linux系统的安装和Windows系统的安装不大一样,有不少需要注意的地方。下面将简要介绍安装Linux的过程以及一些注意事项。

系统配置要求:Linux可以在配置较低的系统上运行并提供高效率的系统服务,安装Linux并没有严格的系统配置要求,只要有Pentium以上的CPU、64MB以上的内存、1GB左右的硬盘空间即可正常安装基本的Linux系统并能运行一些系统服务。要顺畅地运行Linux的图形界面,建议内存在 128MB 以上,当然如果要运行一些其他耗资源的软件就需要按要求提高系统的配置。

Linux的硬件支持:Linux目前支持几乎所有的处理器(CPU)。但有一些较早版本的Linux可能只支持很少的显卡、声卡类型,所以在安装时尽量选择新版本的Linux。

安装方式:通常的系统安装都有两种方式:一种是光盘安装,插入光盘按提示进行即可;另一种是硬盘安装,即从网上直接下载 ISO 映像文件。Linux 的安装文件一共包括三个:shrike-i386-disc1.iso、shrike-i386-disc2.iso和shrike-i386-disc3.iso,使用虚拟光驱按顺序安装,找到dosutils目录,执行里面的autoboot.bat批处理文件即可。

Linux的图形安装过程很简单,首先是选择语言及键盘鼠标类型,然后一步一步执行就好了。

1.2 Shell命令行简介

Shell是Linux中的命令解释程序,有了它用户就能通过键盘直接输入指令来操作计算机。Shell 会执行用户输入的命令,并且在显示器上显示执行结果。Shell 与其他图形化操作不同,它是面向命令行的用户界面,称为 CLI(Command Line Interface)。Shell是 Linux 中一个非常有用的工具,是学习 Linux 必不可少的。下面将介绍 Shell 的一些基本应用。

在 Linux 启动后,Shell 其实已经在后台运行了,只是不显示而已。要想进入 Shell操作界面,可以通过组合键的方式来实现: + + ,回到图形界面则按下组合键 + + 。在 Linux系统中运行【开始】→【应用程序】→【附件】→【系统终端】,也可以执行Shell命令。

1.3 Linux的基本配置指令

1.3.1 alias 指令:设置指令的别名

学习目标 使用该指令对已存在的指令设置一个更便于用户记忆的别名

语法 alias [别名[=指令名] ]

功能说明 利用 alias 指令用户可以为已经存在的系统指令设置别名,然后运行自己设置的别名来实现指令的功能调用。在指令中指令名需要用单引号括起来,它可以是单个的指令名称,也可以是像“adduser–r adminis”一样完整的命令。若指令中无任何参数,只输入alias,则显示当前系统下已经设置的指令别名。一旦系统重启,用户设置的别名就不再生效,如果用户想要设置永久生效,可以通过编辑文件.bashrc来实现。

基础应用

范例1 设置指令的别名。

[root@localhost~]# alias p=’passwd’  //设置别名

[root@localhost~]# alias a=’adduser -d /home/she–p 12345678 sun’ //设置别名

[root@localhost~]# alias    //列出当前已经设置的别名

alias a=’adduser -d /home/she–p 12345678 sun’

alias cp=’cp -i’

alias l.=’ls–d.* –color=tty’

alias ll=' ls–l–color=tty'

alias ls='ls --color=tty'

alias mv='mv -i'

alias p=’passwd’

alias rm='rm -i'

[root@localhost~]#

1.3.2 aumix:设置系统音效

学习目标 使用 aumix 指令来设置音频设备

语法 aumix [-可选参数]

功能说明 aumix 指令可以用来调整音频设备的信号强度,指定播放与录音的装置设置。它可在命令行和脚本模式中使用,也可以图形界面的方式运行,此时用户可通过键盘或鼠标与其交互。

参数说明 可选参数及其说明如下:

基础应用

范例2 在命令行模式下直接设置音效设备。

[root@localhost ~]# aumix +2  //设置音效强度

用户如果在命令行模式下输入指令“aumix +2”,系统将在原有的强度上加指定值。

范例3 进入aumix图形界面。

[root@localhost ~]# aumix  //进入图形界面

在命令行下直接输入指令“aumix”将进入图形界面,这时用户只需用鼠标拖动上面的白色圆圈,就可以直接设置相应的选项。

1.3.3 bind 指令:显示或者设置按键组合

学习目标 显示或设置键盘按键与其相关的功能

语法 bind [-可选参数]

功能说明 利用 bind 指令来显示按键组合,用户可以了解自己的系统中有哪些按键组合及它们都有什么功能。当然还可以自行设置按键组合来代表某些特殊的功能。

参数说明 可选参数及其说明如下:

基础应用

范例4 显示系统中所有按键组合的功能。

[root@localhost ~]# bind -l   //显示所有按键组合的功能

abort

accept-line

alias-expand-line

arrow-key-prefix

backward-byte

backward-char

backward-delete-char

backward-kill-line

backward-kill-word

backward-word

beginning-of-history

beginning-of-line

call-last-kbd-macro

capitalize-word

character-search

character-search-backward

clear-screen

complete

complete-command

complete-filename

complete-hostname

complete-into-braces

complete-username

complete-variable

copy-backward-word

copy-region-as-kill

delete-char

delete-char-list

----------- //省略部分输出

vi-yank-to

yank

yank-last-arg

yank-nth-arg

yank-pop

[root@localhost ~]#

范例5 设置快捷键。

[root@localhost ~]# bind–m”\C-m” : "ls " //设置快捷键”C-m”的功能

快捷键“C-m”即“Ctrl+m”。

范例6 显示指定功能的按键或者按键组合。

[root@localhost ~]# bind -q ls //列出功能ls的按键及按键组合

abort can be invoked via "\C-m"

[root@localhost ~]#

1.3.4 chkconfig指令:设置系统的应用程序

学习目标 使用 chkconfig 命令来检查、设置系统的各种服务

语法 chkconfig [-可选参数][系统服务程序][on/off/reset]

功能说明 chkconfig 指令可以用来为系统管理增加新的服务、为系统管理移除服务、列出当前服务的启动信息、改变服务的启动信息和检查特殊服务的启动状态。当单独运行chkconfig指令而不加任何参数时,它将显示服务的使用信息。

同时,chkconfig指令还可以设置系统服务的运行等级。我们知道在Linux系统中有7个运行等级,而运行等级的改变可以通过init命令来切换。在Linux运行等级的切换过程中,系统会自动寻找对应运行等级的目录/etc/rc[0-6].d下的K和S开头的文件,按后面的数字顺序执行这些脚本。chkconfig指令就提供了一个维护/etc/rc[0~6].d文件脚本的工具,可以更新和查询不同运行等级上的系统服务。

参数说明 可选参数及其说明如下:

基础应用

范例7 列出当前运行等级下所有的系统服务。

[root@localhost ~]# chkconfig -list //列出所有的系统服务

NetworkManager  0:off 1:off 2:off 3:off 4:off 5:off 6:off

NetworkManagerDispatcher   0:off 1:off 2:off 3:off 4:off 5:off 6:off

acpid   0:off 1:off 2:off 3:on 4:on 5:on 6:off

anacron  0:off 1:off 2:on 3:on 4:on 5:on 6:off

apmd   0:off 1:off 2:on 3:on 4:on 5:on 6:off

----------------------------------------

----------------------------------------    //省略了部分结果

Xfs   0:off 1:off 2:on 3:on 4:on 5:on 6:off

ypbind  0:off 1:off 2:off 3:off 4:off 5:off 6:off

yum-updatesd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

----------------------------------------

----------------------------------------    //省略了部分结果

time:   off

time-udp:  off

uucp:   off

[root@localhost ~]#

1.3.5 clock:设置系统 RTC 时间

学习目标 使用 clock 指令来调整 RTC 时间

语法 clock [-可选参数]

功能说明 clock 指令可以显示当前的时刻、调整电脑硬件时钟的时间、将系统时间设成与硬件时钟时间一致,或是把系统时间回存到硬件时钟。当第一次使用clock指令的“--set”或“--systohc”参数来设置硬件时钟时,指令会在/etc目录下自动生成一个名为adjtime的文件。当用户再次使用“--set”或“--systohc”参数来调整硬件时钟时,前后两次调整的差异就会被记录在该文件中,作为日后调整硬件时钟时间的参数。

参数说明 可选参数及其说明如下:

基础应用

范例8 显示当前的系统时间。

[root@localhost ~]# clock    //显示当前的时间

执行指令“clock”将直接显示当前系统的时间信息。

1.3.6 login:登录系统

学习目标 掌握 login 指令切换登录账号

语法 login [-可选参数] [用户名]

功能说明 在系统运行状态下输入 login 指令,将先对当前用户进行销号,然后在系统提供的登录界面中使用不同的身份重新登录系统。为了方便起见,用户也可以直接在指令后加入用户名,再根据系统提示输入密码,即可重新登录系统。

参数说明 可选参数及其说明如下:

基础应用

范例9 用户使用新的身份重新登录系统。

[root@localhost ~]# login

执行指令“login”,将进入系统登录界面,在界面下输入用户名和密码即可以新的身份登录系统。

1.3.7 logout:退出系统

学习目标 掌握如何使用 logout 指令退出当前 Shell

语法 logout

功能说明 logout 指令和 login 指令是一对,logout 指令将使用户退出当前系统。

基础应用

范例10 退出系统

[root@ localhost~]# logout

执行logout指令退出系统。

1.3.8 halt:关闭系统

学习目标 在 Shell 命令行模式下关闭系统

语法 halt [-可选参数]

功能说明 halt 指令的默认操作是关闭系统,而不是关闭电源,它的操作等同于指令“shutdown–h” 和指令“init 0”将系统挂起。执行 halt 指令将先把本次关机操作记录到文件/var/logs/wtmp,然后通知内核是挂起操作系统、重启系统,还是关闭电源。

参数说明 可选参数及其说明如下:

基础应用

范例11 关闭系统。

[root@localhost~]# halt    //关闭系统

执行指令“halt”将挂起当前操作系统。如果用户想要重新启动系统,按下reset键即可重新启动系统。

范例12 关闭系统同时关闭电源。

[root@localhost~]# halt -p    //关闭系统并关闭电源

执行指令“halt -p”将关闭系统并切断计算机的电源,等同于指令“poweroff”。

1.3.9 hwclock:设置系统的硬件时钟

学习目标 掌握 hwclock 指令的用法,能使用该指令来设定硬件时钟

语法 hwclock [-可选参数]

功能说明 hwclock 指令是一个硬件时钟管理工具,它不仅可设置硬件时钟,还可实现系统时钟和硬件时钟的同步。在Linux系统中有两种时钟,分别是硬件时钟与系统时钟。其中硬件时钟是指主板上的时钟,通常可在BIOS中进行设定,而系统时钟则是指内核(kernel)的时钟,所有的Linux相关指令多数读取的都是系统时钟。hwclock指令和clock指令可用来直接对硬件时钟进行存取。

参数说明 可选参数及其说明如下:

基础应用

范例13 显示当前系统的硬件时间。

[root@localhost~]# hwclock    //显示当前系统的硬件时间

Mon 4 Jan 2009 21:31:47 PM CST -0.687086 seconds

[root@localhost~]#

执行指令“hwclock”将读取当前系统的硬件时钟信息,并输出到标准输出设备。

[root@localhost~]# hwclock–-set    //显示当前系统的硬件时间

Mon 4 Jan 2009 21:31:49 PM CST -0.687086 seconds

执行指令“hwclock --show”将显示当前系统的硬件时间,与指令“hwclock”和“clock--show”执行效果相同。

范例14 设置系统的硬件时钟。

[root@localhost~]# hwclock --set --date=”01/04/2009 15:42:00” //设置当前系统的硬件时间

执行指令“hwclock --show --date="01/04/2009 15:42:00"将当前系统的硬件时间重新设置为“01/04/2009 15:42:00”。通用格式为:“月/日/年时:分:秒”。

[root@localhost~]# hwclock --hctosys  //将系统时钟调整为与当前的硬件时钟一致

在Linux启动时,系统会去读取硬件时钟,并根据硬件时钟来设置系统时钟。在系统的硬件时钟改变后需要执行“hwclock --hctosys”来手动同步系统时钟和硬件时钟,--hctosys 就是 Hardware Clock to SYStem clock 。

1.3.10 insmod 指令:载入模块

学习目标 学习如何使用 insmod 指令来向系统内核载入模块

语法 insmod [-可选参数] [模块文件]

功能说明 insmod 指令可以在需要时向 Linux 的内核中添加模块。在 Linux 系统中许多功能都是以模块的形式存在的,管理员用户可以自己编写c文件并进行编译,然后将编译后的.o文件作为模块添加到系统内核中,也可以通过该指令加载需要的设备驱动程序。

参数说明 可选参数及其说明如下:

基础应用

范例15 加载指定模块。

[root@localhost ~]#insmod WLdriver.o   //加载模块

执行指令“insmod WLdriver.o”将指定的无限网卡的驱动模块加载到 Linux 系统的内核中。但insmod指令不能处理模块之间的依赖关系,而modprobe指令将模块载入系统内核时可自动处理各模块之间的依赖关系,并进行加载。

1.3.11 timeconfig:设置时区

学习目标 使用 timeconfig 指令来设置系统时区

语法 timeconfig [-可选参数] [时区]

功能说明 timeconfig 指令具有图形化的互动式界面,用户可以使用方向键和空格键来设置系统时间所属的时区。

参数说明 可选参数及其说明如下:

基础应用

范例16 设置系统时区。

[root@localhost ~]# timeconfig      //设置时区

在Shell命令行模式下输入“timeconfig”指令将进入图形化的互动界面模式,在该界面下用户可以很轻松地进行设置。

1.3.12 kbdconfig:设置键盘

学习目标 使用 kbdconfig 指令来设置键盘

语法 kbdconfig [-可选参数]

功能说明 kbdconfig 指令是 Red Hat Linux 指令,它提供图形化的操作界面,来修改相应的键盘配置文件/etc/sysconfig/keyboard。

参数说明 可选参数及其说明如下:

基础应用

范例17 键盘设置。

[root@localhost ~]# kdbconfig     //设置键盘配置

1.3.13 mouseconfig:设置鼠标

学习目标 使用 mouseconfig 指令来设置相关的鼠标参数

语法 mouseconfig [-可选参数]

功能说明 mouseconfig 是 Red Hat Linux 下的鼠标设置程序。使用该指令不仅可设置相关参数,还可以在交互模式下使用键盘的方向键来设置选项。

参数说明 可选参数及其说明如下:

基础应用

范例18 在命令行模式中运行鼠标设置程序。

[root@localhost~]# mouseconfig -noui–device ttys0

1.3.14 sndconfig:设置声卡

学习目标 了解 sndconfig 指令的功能

语法 sndconfig [-可选参数]

功能说明 sndconfig 指令是 PnP 声卡设置工具,它可自动检测或设置 PnP 声卡。

参数说明 可选参数及其说明如下:

基础应用

范例19 使用sndconfig指令设置声卡。

[root@localhost ~]# sndconfig   //运行sndconfig程序自动检测PnP声卡

1.3.15 help:显示系统内建指令的帮助信息

学习目标 通过 help 命令输出的帮助信息来了解 Shell 程序的内建指令信息

语法 help [指令]

功能说明 利用 help 指令来显示指定指令的帮助信息。如果指令中未指定 Shell 内建指令,将显示所有支持该功能的指令。与指令中的--help参数相比,使用help指令显示的帮助信息更加详细。

基础应用

范例20 使用help显示指令的帮助信息。

[root@localhost~]# help     //显示所有支持该功能的指令

在此我们省略了指令的输出结果。用户也可以通过在指令中指定要显示的 Shell 指令来显示需要的信息。

[root@localhost~]# help help    //显示help指令本身的帮助信息

1.3.16 man:显示指令的帮助手册

学习目标 运用 man 指令查看 Shell 指令的帮助信息

语法 man [-可选参数]指令名

功能说明 man 指令可用来查找 Linux 系统中已安装完成的各指令的帮助手册。Man 指令查找帮助信息的路径是由配置文件/etc/man.config来指定的。

参数说明 可选参数及其说明如下:

基础应用

范例21 显示帮助主题。

[root@localhost~]# man help    //显示帮助主题

执行指令“man help”将显示 help 指令帮助手册的信息。

1.3.17 apropos 指令:查找使用手册的名字和相关描述

学习目标 使用 apropos 指令通过关键字来查找一个你不知道的能完成某种特殊任务的命令名称

语法 apropos[必要参数][选择性参数]关键词

功能说明 每个指令的使用手册都有一个简短的描述,通过 apropos 指令可以查找相关关键字的描述。若退出状态为0,则说明程序成功执行;若退出状态为1,则说明用法、语法或者配置有错误;若退出状态为2,则说明操作错误;若退出状态为16,则说明没有找到与指定的关键词相匹配的内容。

参数说明 必要参数的具体说明如下:

续表

选择性参数的具体说明如下:【环境变量】

系统参数:如果$SYSTEM 已经指定,那么它将与使用“-m”参数具有相同的效果。

路径参数:如果$MANPATH 已经指定,那么它将作为执行搜索的默认路径。

匹配参数:如果$POSIX_CORRECT 已经指定,即使没有给它赋值,那么搜索的匹配方式也将按照通常的方式进行,和使用“-r”参数具有相同的效果。

内建指令

whatis,man

基础应用

范例22 以通常方式进行关键词匹配。

root@localhost:~# apropos -r ls  //以通常方式查找关键词ls

_llseek (2)  - reposition read/write file offset

add-shell (8)  - add shells to the list of valid login shells

afs_syscall (2) - unimplemented system calls

Apache2::PerlSections (3pm) - write Apache configuration files in Perl

Apache2::RequestUtil (3pm) - Perl API for Apache request record utils

Apache2::ServerUtil (3pm) - Perl API for Apache server record utils

APR::Pool (3pm) - Perl API for APR pools

assert (3)  - abort the program if assertion is false

auth_destroy (3) - library routines for remote procedure calls

authnone_create (3) - library routines for remote procedure calls

authunix_create (3) - library routines for remote procedure calls

authunix_create_default (3) - library routines for remote procedure calls

blockdev (8)  - call block device ioctls from the command line

break (2)  - unimplemented system calls

c++filt (1)  - Demangle C++ and Java symbols

运行以上指令之后,系统列出了所有与ls相关的指令信息及其描述,列出的信息很长,这里只截取了前面部分进行说明。此指令与指令“apropos ls”等效。

范例23 进行关键词的精确匹配。

root@localhost:~# apropos -e ls  //以精确的方式查找关键词ls

dircolors (1)- color setup for ls

ls (1)- list directory contents

范例24 以通配符方式进行关键词匹配。

root@localhost:~# apropos -w ls  //以通配符方式查找关键词ls

ls (1)- list directory contents

1.3.18 false 指令:不做任何事情,表示失败

学习目标 使用 false 命令来设置状态码

语法 false[选择性参数]

功能说明 false 指令将以一个状态码结束,状态码表示失败。

参数说明 选择性参数的具体说明如下:

基础应用

范例25 表示失败。

[root@localhost~]# true    //设置状态码

[root@localhost~]# echo $?   //显示状态码

0

[root@localhost~]# false    //设置状态码

[root@localhost~]# echo $?   //显示状态码

1

[root@localhost~]#

本例使用指令false和true来设置状态码,表示失败或者成功。

1.3.19 dc 指令:一个任意精度的计算器

学习目标 使用 dc 指令来执行复杂计算

语法 dc[选择性参数][文件]

功能说明 dc 指令是一个 reverse-polish 桌面计算器,它支持无限制精度算法。通常情况下,dc指令从标准输入读取数据,如果指定了文件名的命令行参数,那么指令将从指定的文件中读取数据,而不是从标准输入读取数据。结果将输出到标准输出,所有的错误信息将输出到标准错误输出。

参数说明 选择性参数的具体说明如下:【运算类型】

+:加法。

-:减法。

*:乘法。

/:除法。

%:余数。

^:指数。

v:开方。【堆栈操作】

c:清空堆栈。

f:显示堆栈的所有信息。

nk:精度设置,默认精确到个位。

q:结束程序。

P:输出堆栈最顶端的值。

p:弹出堆栈最顶端的值。

内建指令

expr,xcalc

基础应用

范例26 利用 dc指令进行乘法运算。

[root@localhost ~]# dc   //运行dc指令

4         //输入乘数

5         //输入被乘数

*         //乘法符号

p         //弹出堆栈最顶端的值

20        //输出结果

q         //退出

[root@localhost ~]#

乘法的运算过程如上所示,其他的加法、减法、除法、开方等的运算过程与乘法运算类似。

范例27 一个综合运算的例子。

[root@localhost ~]# dc   //利用dc指令进行计算

7

8

*

p         //用户输入

56        //输出结果

3 2 ^ p       //用户输入

9         //输出结果

2 / p        //用户输入

4         //输出结果

f         //用户输入

4

56        //输出结果

+p        //用户输入

60        //输出结果

q         //用户输入

[root@localhost ~]#

1.3.20 expr指令:简单计算器

学习目标 能运用 expr 指令实现简单的计算

语法 expr [-可选参数]表达式

功能说明 expr 指令将打印表达式的值到标准输出,可以进行算术和逻辑运算。

参数说明 可选参数及其说明如下:【表达式】

ARG1 | ARG2:逻辑或运算。

ARG1 & ARG2:逻辑与运算。

ARG1 < ARG2:小于运算。

ARG1 <= ARG2:小于等于运算。

ARG1 = ARG2:等于运算。

ARG1 != ARG2:不等于运算。

ARG1 >= ARG2:大于等于运算。

ARG1 > ARG2:大于运算。

ARG1 + ARG2:加法运算。

ARG1- ARG2:减法运算。

ARG1 * ARG2:乘法运算。

ARG1 / ARG2:除法运算。

ARG1 % ARG2:取余运算。

STRING:REGEXP:检查 STRING 的模式是否与 REGEXP 匹配。

match STRING REGEXP:相当于 STRING:REGEXP。

substr STRING POS LENGTH:相当于 STRING:REGEXP。

index STRING CHARS:在 STRING 中索引 CHARS。

LENGTH STRING:计算 STRING 的长度。

+ TOKEN:将 TOKEN 视为一个字符串。

基础应用

范例28 判断表达式的逻辑值。

[root@localhost ~]# expr 23‘>=’32  //判断表达式的逻辑值

0

[root@localhost ~]# expr 23‘!=’32

1

[root@localhost ~]#

执行指令“expr 23‘>=’32”和指令“expr 23‘!=’32”判断逻辑表达式的真假,如果表达式的值为真,返回1;反之,则返回0。

范例29 计算表达式的值。

[root@localhost ~]# expr 25 '/' 8  //计算25/8的数值

3

[root@localhost ~]# expr 25 '%' 8  //计算25%8的数值

1

[root@localhost ~]#

执行指令“expr 25 ‘/’ 8”和指令“expr 25 ‘%’8”计算 25 和 8 的商及取余。

范例30 计算字符串的长度。

[root@localhost ~]# expr length “hello everyone”   //计算字符串的长度

14

[root@localhost ~]#

执行指令“expr length“hello everyone””计算指定字符串的长度并输出结果。

范例31 索引字符串。

[root@localhost ~]# expr index “hello everyone”n   //索引字符串

13

[root@localhost ~]#

执行指令“expr index“hello everyone”n”在指定字符串中索引字符 n,并输出该字符在指定字符串中的位置。

实战思考

应用思考

1.用指令“expr length coronabook”计算字符串 coronabook 的长度。

2.通过expr指令判断15和25的大小关系。如果表达式为真,则返回1;如果表达式为假,则返回0。

1.4 Linux系统管理指令

1.4.1 arch指令:输出主机的体系结构

学习目标 运用 arch 指令来了解当前主机的体系结构

语法 arch

功能说明 如果用户想要了解当前主机的硬件架构,可在 Shell 命令行中输入 arch 指令,系统将在标准输出设备上输出本机硬件架构,即CPU类型。【CPU类型】

i386:=Intel 80386,是对 Intel(英特尔)32 位微处理器的统称。

i486:=Intel 80386,是 Intel 公司的一款 CISC 架构的 x86 CPU。

i586:Pentium 2 及其同规格 CPU 的内核。

alpha:HP alpha CPU 架构。

sparc:SUN 和 TI 公司合作开发了 RISC 微处理器。

arm:Advanced RISC Machines 的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的统称,还可以作为一种技术的名称。当前有 5 个产品系列——ARM7、ARM9、ARM9E、ARM10和SecurCore。

m68k:m68k 为摩托罗拉 68 系列的 CPU,包括 680X0,683X0,CPU32 等。

mips:是对 MIPS 公司设计的 RISC 处理器 MIPS 芯片的统称。

ppc:苹果开发的 CPU 架构。

i686:Pentium 3 及其以上的 CPU。

基础应用

范例32 显示当前系统的体系结构。

[root@localhost~]# arch    //显示当前系统的体系结构

i686

[root@localhost~]#

1.4.2 apmd:系统电源管理

学习目标 了解 apmd 指令的工作原理和典型应用

语法 apmd [-可选参数]

功能说明 apmd 指令是进阶电源管理服务程序,主要由电源管理硬件、APM BIOS 和内核中的驱动器组成,负责BIOS进阶电源管理(APM)相关的记录、警告与管理工作。apmd指令还可以检测电池状态,当电池不在充电状态,同时电池电量下降速度超过指定的速度时,产生警告信息。

参数说明 可选参数及其说明如下:

基础应用

范例33 记录所有的电源管理事件,如果电源出现错误则发出警告信息。

[root@localhost~]# apmd -vw   //记录所有的电源管理事件

执行指令“apmd -vw”记录所有的 APM 事件,如果电源出现错误则发出警告信息。

1.4.3 batch指令:执行批处理指令

学习目标 应用 batch 指令来设置一次性任务,它可以是单个任务也可以是多个任务

语法 batch [-可选参数] [任务时间]

功能说明 在 Shell 命令行中输入 batch 指令,将出现 at>提示符,这时用户就可以在提示符后输入要执行的指令,一个命令占一行,这些任务将被加入/var/spool/at中,只有在系统的平均负载低于 0.8 空闲时才被执行,而且只能执行一次,不能循环执行这些指令。如果在关机之前任务还未被执行,在下次开机时,系统将自动读取这些还未被执行的指令,并在空闲时执行。用户利用 batch 指令还能指定指令的运行时间,但如果系统繁忙,任务的执行会被延后,这样用户可以将实时性不高的任务放到空闲时再执行,以减轻系统的负担。如果用户不能运行 batch 指令,可以查看任务调度程序是否被加载,或者查看当前用户名是否未被列入/etc/at.allow文件中。用户系统中没有/etc/at.allow文件,这时所有在/etc/at.deny文件中列出的用户都被禁止使用at和batch命令。

参数说明 可选参数及其说明如下:

基础应用

范例34 从标准输入设备读取批处理的指令。

[root@localhost ~]# batch    //批处理

at> ls /home/tom      //显示目录内容

at> cat /home/tom/11.txt    //文件显示

at> alias p=’passwd’

at>         //以”Ctrl+D”结束输入

job 3 at 2009-01-12 15:53

[root@localhost ~]#

在at>提示符后输入一个命令后按下[Enter]键,继续以前的操作,当指令输入完毕,用户再按下Ctrl+D即可。

范例35 从指定文件读取批处理的指令。

[root@localhost ~]# cat >/home/tom/sua  //从键盘读入数据

ls /home/tom

cat /home/tom/11.txt

alias p=’passwd’

[root@localhost ~]# cat /home/tom/sua  //显示文件内容

ls /home/tom

cat /home/tom/11.txt

alias p=’passwd’

[root@localhost ~]# batch -f /home/tom/sua 12:20  //从指定文件读取批处理的指令,等待执行时间到来

job 3 at 2009-01-12 15:57

[root@localhost ~]#

执行指令“batch -f /home/tom/sua 12:20”系统将在指定的时间点运行指定文件中的批处理指令。

1.4.4 chfn 指令:设置finger信息

学习目标 利用 chfn 指令改变用户的 finger 信息

语法 chfn [-可选参数] [账号名]

功能说明 chfn 指令是用来改变或设置 finger 信息的工具。在 Linux 系统中 finger 信息是保存在文件/etc/passwd中的,当使用finger指令显示时,它会向用户提供以下4种信息,分别为指定用户账号的真实姓名、指定用户账号的办公地址、指定用户账号的办公电话和指定用户账号的家庭电话,可以利用chfn指令更改这些信息。

如果在用户输入的chfn指令中未指定参数,chfn指令将进入交互模式。在交互模式下chfn会在每一栏前列出相应的提示信息,用户根据提示信息可以输入新信息,若用户输入“none”则表示该项为空,若用户不想改变当前信息直接按Enter键就行。

参数说明 可选参数及其说明如下:

基础应用

范例36 进入交互模式,根据提示信息设置finger信息。

[root@localhost ~]# chfn    //设置finger信息

Changing finger information for root.

Name [root]: Anne

Office []: none

Office Phone []: 12345678

Home Phone []: 12345678

Finger information changed.

[root@localhost ~]#

输入指令“chfn”进入交互模式。第一列的 Name、Office、OfficePhone 和 HomePhone是提示信息,依次表示账号名称、工作地址、办公电话和家庭电话。提示信息后面的方括号中是用户的当前设置,如 Name [root]中的 root 是更改前用户的真实姓名,输入的 Anne 是更改后的用户名,而 Office []表示更改前该项设置为空。

范例37 通过指令改变指定用户的finger信息。

[root@localhost ~]# chfn -f mary  //改变指定用户的真实姓名

Changing finger information for root.

Finger information changed.

[root@localhost ~]# chfn -h 12345678  //改变指定用户的家庭电话

Changing finger information for root.

Finger information changed.

[root@localhost~]# chfn -o address //改变指定用户的办公地址

Changing finger information for root.

Finger information changed.

[root@localhost ~]# chfn -p 12345678  //改变指定用户的办公电话

Changing finger information for root.

Finger information changed.

[root@localhost ~]#

1.4.5 chsh 指令:改变登录系统时的 Shell

学习目标 通过 chsh 指令更改用户登录时默认的 Shell 类型

语法 chsh [-可选参数] [用户名]

功能说明 Shell 是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操作系统核心程序(kernel)之间的一个接口。Shell 既是一种命令语言,也是一种程序设计语言,不同的Shell拥有的内部命令不尽相同,占用的资源也大小不等。应用chsh指令可以为指定的用户设置登录时的Shell类型。目前流行的Shell有:ash、bash、ksh、csh等,其中bash是系统默认的Shell。如果指令中未指定任何参数,将进入交互模式。

参数说明 可选参数及其说明如下:

基础应用

范例38 改变用户的Shell。

[root@localhost ~]# chsh -l    //显示所有的Shell

/bin/sh

/bin/bash

/sbin/nologin

/bin/bash2

/bin/ash

/bin/bsh

/bin/tcsh

/bin/csh

[root@localhost ~]#echo $SHELL   //显示用户当前所使用的Shell

/bin/bash

[root@localhost ~]# chsh   //Shell设置

Changing shell for root.

New shell [/bin/bash]: /bin/csh  //输入新的Shell

Shell changed.

[root@localhost ~]#

在上例中我们通过输入chsh指令,进入交互模式,将Shell设置改变为/bin/csh。

范例39 使用参数改变指定用户的登录Shell。

[root@localhost ~]# chsh -s /bin/csh mary //改变用户 mary 的登录 Shell 为/bin/csh

Changing shell for root.

Shell changed.

[root@localhost ~]#

1.4.6 clear 指令:清除屏幕信息

学习目标 对杂乱的屏幕信息进行清理

语法 clear

功能说明 clear 指令可以将杂乱的屏幕信息清理干净。它类似于 DOS 的 CLS 指令,当输入该指令,屏幕将切换到新的一页开始显示。

基础应用

范例40 屏幕清理。

[root@localhost ~]# clear

1.4.7 date 指令:显示或设置系统时间

学习目标 根据指定格式显示或设置当前系统的时间

语法 date [-可选参数][日期和时间格式]

功能说明 date 指令可根据给定的格式显示当前的时间或者设置系统时间。date 指令不仅可以用来显示/设置系统的日期,同时还可以用来显示或设置系统的时间,格式是MMDDhhmm。

参数说明 可选参数及其说明如下:

格式说明如下:

续表

基础应用

范例41 按照不同的格式显示当前时间。

[root@localhost~]# date     //显示当前时间

Sun Jan 16:31:07 CST 2009

[root@localhost~]# date“Date:%Y.%m.%d Time:%H.%M.%S” //显示日期、时间

Date:2009.01.03 Time:16.31.11

[root@localhost~]#

1.4.8 echo 指令:字符串输出

学习目标 应用该指令将指定的字符串的值输出到标准输出

语法 echo [-可选参数]字符串

功能说明 echo 指令会将指定的字符串的值输出到标准的输出设备。

参数说明 可选参数及其说明如下:

基础应用

范例42 输出环境变量。

[root@localhost~]# echo $HOME //输出环境变量HOME

/root

[root@localhost~]# echo $TERM //输出环境变量TERM

Xtermt

[root@localhost~]#

HOME 和 TERM 是 Shell 定义的环境变量,在指令“echo $HOME”和指令“echo $TERM”中,$表示引用变量的内容。

范例43 输出一般字符串。

[root@localhost~]# echo“12345\n123456\123”  //输出内容不作特殊处理

12345\n123456\123

[root@localhost~]# echo -e“12345\n123456\123” //加以特别处理后,输出环境变量

12345

123456\123

[root@localhost~]#

1.4.9 yes指令:持续输出给定的字符串,每行显示一个字符串

学习目标 使用 yes 指令不断地向终端输出指定的字符串

语法 yes[选择性参数][字符串]

功能说明 yes 指令用来回应字符串。

参数说明 选择性参数的具体说明如下:

基础应用

范例44 输出连续字符串。

[root@localhost~]# yes hello world  //输出字符串“hello world”

使用 yes helloworld 指令将连续在终端输出字符串“hello world”直到按下组合键 Ctrl+C为止。

1.4.10 exit指令:退出Shell

学习目标 以命令行的方式退出 Shell

语法 exit

功能说明 exit 指令用来退出当前的 Shell。

基础应用

范例45 退出Shell指令。

[root@localhost~]# exit  //退出Shell

logout

1.4.11 apm指令:高级电源管理

学习目标 掌握 apm 指令的应用

语法 apm[参数]

功能说明 apm 指令用于高级电源管理。不输入参数直接输入 apm 指令时,系统将以用户可读的方式直接输出/proc/apm文件的内容。

参数说明 参数具体说明如下:

基础应用

范例46 显示剩余电量。

[root@localhost~]#apm -m   //显示剩余电量

本例使用指令“apm–m”以分钟数的形式显示剩余的电量。

1.4.12 apmsleep指令:APM进入备用或者休眠状态

学习目标 掌握 apmsleep指令的用法

语法 apmsleep[必要选项][选择性选项][+]时间

功能说明 有些计算机,特别是笔记本电脑,能使用 RTC(实时锁)从低功耗的休眠状态进入DRAM模式。apmsleep指令用于在RTC中设置警告时间,并让计算机进入休眠模式或者备用模式,默认情况

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载