Linux Shell编程与编辑器使用详解

副标题:无

作   者:刘丽霞,杨宇编著

分类号:

ISBN:9787121207174

微信扫一扫,移动浏览光盘

简介

本书由浅入深,全面、系统地介绍了Linux技术,书中提供了大量实例,供读者实战演练。另外,本书有很多关于Linux下的命令操作内容,所以对于每个命令、每个管理设置,作者都实际运行了一遍,供读者参考,在后面的Shell编程中,作者详细介绍了Shell变量、函数、语法、控制结构等重要内容,最后一章中介绍综合实例,使读者对于Shell编程的理解进一步加深。 本书共分5篇。第1篇介绍Shell编程基础、系统管理与设置;第2篇介绍常用的系统管理命令、系统维护命令、正则表达式;第3篇介绍vi编辑器、emacs编辑器;第4篇介绍grep命令、gawk与sed;第5篇介绍其他常用的文本编辑命令、Shell变量及相关操作、条件测试、Shell的控制结构、函数、Shell编程实例。 本书适合Linux初学者、想全面学习Linux开发技术的人员、Linux专业开发人员、利用Linux做开发的工程技术人员、Linux开发爱好者、大中专院校的学生、社会培训班学员等。对于经常使用Linux做开发的人员,更是一本不可多得的案头必备参考书。

目录

第一篇Linux系统学习基础
第1章Shell编程基础1
1.1基本概念1
1.1.1Shell的功能1
1.1.2LinuxShell的常用命令1
1.1.3启动和退出3
1.2常用的Shell类型3
1.2.1Linux默认Shell4
1.2.2BourneShell的扩展版4
1.2.3网关接口shell4
1.2.4早期Shell4
1.2.5支持后台作业Shell4
1.3Shell基本语法5
1.3.1Shell脚本中的注释5
1.3.2Shell通配符的使用5
1.3.3大小写区分6
1.3.4指定使用某个Shell7
1.3.5IO重定向7
1.3.6管道(Pipe)11
1.3.7前台与后台执行任务12
1.3.8命令的执行顺序12
1.3.9Shell中三种引号的用法13
1.3.10运行脚本14
第2章系统管理与设置17
2.1常用的信息显示命令17
2.1.1cal命令:日期显示17
2.1.2cat/proc/meminfo:内存使用情况查询18
2.1.3free命令:内存详细信息查询19
2.1.4arch命令:CPU架构显示20
2.1.5cat/proc/cpuinfo命令:处理器cpu信息显示20
2.1.6cat/proc/modules:查询当前系统被加载模块21
2.2系统信息显示命令22
2.2.1proc文件系统:访问系统内核信息22
2.2.2modinfo命令:内核模块信息24
2.2.3cat/etc/issue命令:系统的当前发行版本24
2.2.4cat/proc/version:查看系统内核当前版本25
2.2.5cat/proc/partitions:查看系统当前分区25
2.2.6cat/proc/interrupts命令:显示中断信息25
2.2.7cat/proc/filesystems命令:常用文件系统信息25
2.2.8dmesg:启动信息查询26
2.3系统常用信息设置27
2.3.1date命令:系统时间显示与设置27
2.3.2hostname命令:当前系统的主机名显示与设置29
2.3.3hwclock命令:硬件时钟显示和设置30
2.3.4hash命令:显示、添加或清除哈希表31
2.3.5sysctl命令:系统核心参数的设置32
2.4文件系统信息显示常用命令33
2.4.1echo命令:文本行输出显示33
2.4.2isosize命令:iso9660文件系统大小的显示34
2.4.3minfo命令:ms—dos文件系统的各项参数的显示35
2.4.4pwd命令:当前工作目录的显示35
2.4.5procinfo命令:系统状态信息的显示35
2.4.6stat命令:文件/文件系统的详细信息的显示38
2.5Linux操作系统信息查询39
2.5.1uname命令:操作系统信息的显示39
2.5.2vmstat命令:虚拟内存的统计信息的显示40
2.5.3uptime命令:系统的运行信息的显示40
2.5.4locale命令:当前系统的语言设置41
2.5.5tload命令:系统负载显示41
2.5.6runlevel命令:系统运行级别显示42
2.5.7modinfo命令:内核模块信息显示43
2.5.8lsmod命令:所有已加载模块的显示43
2.6进程资源44
2.6.1top命令:进程信息显示44
2.6.2ipcs命令:IPC设备信息显示45
2.6.3time命令:进程执行时间显示46
2.6.4pstree命令:以树状图显示程序47
2.6.5ps命令:监测进程48
2.6.6pmap命令:显示程序的占用资源信息50
2.6.7jobs命令:后台作业51
2.6.8mev命令:监视鼠标情况52
2.6.9fuser命令:用套接口或者文件识别进程52
2.7Linux终端命令行操作53
2.7.1fgconsole命令:显示当前虚拟终端数目53
2.7.2history命令:显示历史指令53
2.7.3gdialog命令:Shell脚本创建对话框54
2.7.4yes命令:字符串的连续输出60
第二篇系统维护与管理
第3章常用的系统管理命令63
3.1常用的系统管理任务63
3.1.1apm命令:BIOS电源管理63
3.1.2apmsleep命令:低功耗工作64
3.1.3open命令:开启虚拟终端64
3.1.4vlock命令:锁定终端65
3.1.5sudo命令:用户切换65
3.1.6rsh命令:远程用户设置登录Shell66
3.1.7chsh命令:切换系统登录时Shell67
3.1.8clear命令:清除终端屏幕68
3.1.9rlogin命令:智能化远端登录68
3.2进程任务管理69
3.2.1apmd命令:高级电源管理守护进程69
3.2.2fg命令:后台任务放前台69
3.2.3kill命令:结束进程70
3.2.4killall命令:杀死同名进程72
3.2.5nice命令:进程优先级切换73
3.2.6pgrep命令:查找符合条件的进程73
3.2.7pidof命令:查看正在运行程序的进程ID75
3.2.8renice命令:设定进程优先级75
3.2.9pkill命令:强制杀死进程76
3.3设置系统的各种任务77
3.3.1ntsysv命令:图形化设置系统的各种服务77
3.3.2symlinks命令:管理和维护符号链接工具78
3.3.3mtools:软盘操作工具集79
3.3.4gcov命令:coverage测试工具80
3.3.5screen命令:视窗程序管理工具81
3.3.6logrotate命令:管理log文件83
3.3.7pwck命令:检查密码文件84
3.3.8exec命令:交出控制权85
3.3.9&命令:后台执行任务85
3.3.10init命令:进程的父进程85
3.4后台任务管理86
3.4.1bg命令:后台执行程序86
3.4.2wait命令:等待程序返回状态86
3.4.3depmod命令:显示模块依赖关系86
3.4.4rmmod命令:删除模块87
3.4.5ipcrm命令:进程间机制管理88
3.4.6watch命令:重复执行命令89
3.4.7fc命令:修改执行命令90
3.4.8nohup命令:退出登录执行命令91
3.4.9suspend命令:暂停执行Shell91
3.4.10sleep命令:系统休眠91
第4章系统维护命令93
4.1常用的系统维护命令93
4.1.1bind命令:设置按键组合93
4.1.2enable命令:Shell内置命令94
4.1.3aumix命令:音效装置设置96
4.1.4配置系统的认证资源98
4.1.5export命令:设置环境变量100
4.1.6hostid命令:主机数字标识105
4.1.7alias命令:设置命令的别名105
4.1.8chkconfig命令:管理系统服务106
4.1.9eval命令:多个命令同时执行108
4.1.10dircolors命令:配置ls命令显示颜色108
4.1.11set命令:设置Shell执行方式113
4.1.12telinit命令:设置系统的运行等级115
4.2系统的日常配置115
4.2.1declare命令:Shell变量115
4.2.2fbset命令:帧缓存设备设置117
4.2.3insmod命令:加载模块119
4.2.4lilo命令:安装启动装载程序121
4.2.5modprobe命令:自动安装依赖模块121
4.2.6mkraid命令:raid磁盘阵列122
4.2.7losetup命令:设置和控制循环设备123
4.2.8rpm命令:RPM包管理123
4.2.9ldd命令:共享库文件的相互依赖关系127
4.2.10ldconfig命令:配置动态链接绑定128
4.2.11up2date命令:升级RedHatLinux系统131
4.3其他常用命令133
4.3.1false命令:false返回值133
4.3.2true命令:true返回值134
4.3.3ulimit命令:控制Shell及进程的资源134
4.3.4mouseconfig命令:设置鼠标相关参数136
4.3.5setup命令:系统公用程序设置137
4.3.6swapoff命令:卸载交换区(swaparea)140
4.3.7swapon命令:加载交换区(swaparea)141
4.3.8resize命令:调整终端视窗142
4.3.9setserial命令:串口设备设置142
4.3.10unalias命令:删除指定的别名143
4.3.11unset命令:删除变量或函数143
4.4自动作业处理144
4.4.1anacron命令:调度守护进程任务144
4.4.2at命令:多任务执行排队处理145
4.4.3atd命令:执行已经排队的任务147
4.4.4atq命令:显示排队的任务147
4.4.5atrm命令:删除已经排队的任务148
4.4.6atrun命令:执行排好队的任务148
4.4.7crontab命令:定时执行程序148
4.4.8batch命令:批处理151
4.5系统日志152
4.5.1syslogd命令:启动syslog日志进程152
4.5.2syslog.conf:系统日志配置文件152
4.5.3logger命令:测试syslog.conf155
4.5.4echo清空日志155
第5章正则表达式156
5.1正则表达式介绍156
5.2元字符156
5.2.1元字符的定义156
5.2.2元字符的应用示例157
5.3字符集和类158
5.3.1字符集和类的定义158
5.3.2元字集和类的应用示例159
5.4重复159
5.4.1重复的定义159
5.4.2重复的应用示例160
5.5子表达式160
5.5.1子表达式的定义160
5.5.2子表达式的应用示例161
5.6定位字符串的开始和末尾161
5.6.1开始和末尾的定义161
5.6.2定位字符串的开始和
末尾的应用示例162
5.7分支163
5.7.1分支的定义163
5.7.2分支的应用示例163
5.8匹配特殊字符163
第三篇Vi编辑器与Emacs编辑器
第6章vi(vim)编辑器165
6.1vi(vim)编辑器概述165
6.1.1vi(vim)编辑器的发展史165
6.1.2启动vi(vim)166
6.1.3退出vi(vim)167
6.1.4命令模式168
6.1.5末行模式168
6.1.6插入模式168
6.2vi(vim)中的常用命令169
6.2.1插入文本命令169
6.2.2附加文本命令169
6.2.3光标移动命令169
6.2.4字符与块删除命令170
6.2.5添加新行命令171
6.2.6修改文本命令171
6.2.7行合并命令172
6.2.8文本替换命令172
6.2.9句点命令173
6.2.10撤销修改命令173
6.2.11复制文本命令173
6.2.12粘贴文本命令173
6.2.13重复执行命令174
6.3vi(vim)中的字符与文件操作174
6.3.1查找指定字符命令174
6.3.2普通与增量查找174
6.3.3替换指定字符串174
6.3.4更改大小写命令175
6.3.5文件读入命令176
6.3.6文件写入命令176
6.3.7定位到指定行命令176
6.3.8显示状态信息命令177
6.3.9保存和退出命令177
6.4窗口操作177
6.4.1窗口操作的快捷方式177
6.4.2窗口垂直拆分178
6.4.3窗口水平拆分178
6.4.4关闭窗口179
6.4.5屏幕重绘179
6.4.6屏幕滚动180
6.4.7文本定位180
6.4.8交互式Shell180
6.4.9在vi(vim)中执行Shell181
6.4.10获得帮助181
第7章emacs编辑器183
7.1emacs概述183
7.1.1emacs发展史183
7.1.2启动和退出184
7.1.3新建文本185
7.1.4保存文本186
7.2文本编辑187
7.2.1常用命令键187
7.2.2光标的移动187
7.2.3文本的输入188
7.2.4文本的删除189
7.2.5字符的查找和替换189
7.3缓冲区和窗口190
7.3.1水平与垂直拆分窗口190
7.3.2多个缓冲区同时进行工作191
7.3.3缓冲区中内容的滚动192
7.4emacs的扩展工具192
7.4.1日历显示192
7.4.2执行Shell命令192
7.4.3游戏调用193
第四篇grep命令、gawk与sed,其他常用文本命令
第8章grep命令194
8.1grep介绍194
8.1.1grep的功能介绍194
8.1.2grep的工作原理194
8.2grep与正则表达式195
8.2.1grep正则表达式的元字符集195
8.2.2grep正则实例198
8.2.3grep的常用参数选项200
8.2.4grep与管道的配合使用204
8.2.5grep的退出状态205
8.3egrep与fgrep205
8.3.1egrep处理复杂字符串205
8.3.2fgrep处理简单字符串208
第9章gawk与sed209
9.1过滤器gawk209
9.1.1gawk发展史209
9.1.2awk的程序处理模式211
9.1.3gawk的语法格式211
9.1.4gawk注释213
9.1.5变量赋值213
9.1.6模式的使用214
9.1.7指定动作216
9.1.8使用重定向输出216
9.1.9字段分隔符输出217
9.1.10记录与字段的介绍217
9.2gawk的编程设计218
9.2.1函数218
9.2.2关联数组219
9.2.3格式化输出命令220
9.2.4关系运算符221
9.2.5算术运算符222
9.2.6流程控制语句224
9.2.7getline:控制输入226
9.2.8协进程227
9.2.9网络数据交换228
9.2.10gawk的应用示例229
9.3流编辑器sed230
9.3.1sed编辑器介绍231
9.3.2sed的基本语法231
9.3.3地址的作用232
9.3.4指令的作用233
9.3.5删除指令234
9.3.6追加指令234
9.3.7打印指令235
9.3.8修改指令235
9.3.9替换指令236
9.3.10插入指令238
9.3.11退出指令238
9.3.12下一条指令239
9.3.13文件写入指令239
9.3.14文件读入指令240
9.3.15sed的控制结构240
9.3.16Pattern区和Hold区241
9.3.17sed的应用示例243
第五篇Shell编程及编程实战
第10章其他常用的文本编辑命令245
10.1文本编辑常用命令245
10.1.1cat命令:标准输出设备显示文本内容245
10.1.2ed命令:行文本编辑器247
10.1.3fmt命令:重排文本文件248
10.1.4gedit命令:图形化文本编辑器249
10.1.5ed命令:行文本编辑器250
10.1.6jed命令:jed编辑文本文件251
10.1.7cut命令:文件剪切252
10.1.8colrm命令:删除指定的列254
10.1.9comm命令:对已排序文件逐行进行比较255
10.1.10od命令:格式化输出文件内容256
10.1.11joe命令:ASCII文本编辑器257
10.1.12aspell命令:检查文件的拼写错误260
10.1.13col命令:过滤控制字符262
10.1.14view命令:只读方式查看文件内容262
10.1.15more命令:分屏显示文本内容263
10.1.16head命令:部分显示文本内容264
10.2其他常用的文本命令与技巧266
10.2.1cmp命令:文件属性比较266
10.2.2diff命令:文件内容比较267
10.2.3diffstat命令:diff结果的统计信息270
10.2.4patch命令:文件打补丁271
10.2.5csplit命令:按指定行数分割文件272
10.2.6uniq命令:显示文件中重复出现的行273
10.2.7pr命令:编排文件格式274
10.2.8pico命令:编辑文字文件275
10.2.9tail命令:读取文件的末尾部分277
10.2.10tac命令:反序显示文本内容279
10.2.11less命令:前后翻阅文本内容280
10.2.12sort命令:文件排序281
10.2.13indent命令:调整c代码文件格式283
10.2.14tr命令:转换文本指定字符串287
10.2.15join命令:连接两个相同字段文件288
10.2.16spell命令:检查文本拼写错误289
10.2.17tee命令:读取标准输入到标准输出或文件290
10.2.18wc命令:统计文本信息291
第11章Shell变量及相关操作293
11.1Shell变量类型293
11.1.1Shell环境变量293
11.1.2位置变量295
11.1.3预定义的特殊变量296
11.1.4用户自定义的变量297
11.2变量的操作297
11.2.1创建和设置变量297
11.2.2区分变量名298
11.2.3删除变量298
11.3变量的赋值299
11.3.1直接给变量赋值299
11.3.2使用read命令赋值299
11.3.3命令行参数赋值301
11.3.4命令的输出结果赋值301
11.3.5文件读入数据实现赋值302
11.4变量的输出302
11.4.1printf命令:格式化
输出变量303
11.4.2echo命令:直接
输出变量304
11.5数组变量304
11.5.1数组的定义304
11.5.2数组的复制306
11.5.3数组元素的个数306
11.5.4数组元素的长度307
11.6算术运算308
11.6.1expr命令308
11.6.2let命令308
11.6.3浮点算术运算309
第12章条件测试310
12.1Shell的测试命令310
12.2测试文件属性310
12.2.1测试文件存在310
12.2.2测试文件存在且可执行311
12.2.3测试文件存在且是目录312
12.2.4测试文件存在且是字符设备312
12.2.5测试文件存在且是块设备313
12.3测试数值313
12.3.1相等测试313
12.3.2不相等测试314
12.3.3小于测试315
12.3.4小于等于测试315
12.3.5大于测试316
12.3.6大于等于测试316
12.4测试字符串317
12.4.1相等测试317
12.4.2不相等测试318
12.4.3非空测试319
12.4.4长度为0测试319
12.4.5长度不为0测试320
12.5测试逻辑运算符320
12.5.1逻辑与测试321
12.5.2逻辑或测试322
12.5.3逻辑非测试322
第13章Shell的控制结构324
13.1if结构324
13.1.1if结构的语法格式324
13.1.2if
13.1.3if
13.1.4if
13.1.5if嵌套329
13.2case结构331
13.2.1case结构的语法格式331
13.2.2case结构示例331
13.2.3case嵌套337
13.3select结构338
13.3.1select结构的语法格式338
13.3.2select结构示例338
13.4while循环340
13.4.1while语句的语法格式340
13.4.2while循环示例341
13.4.3while的嵌套342
13.4.4避免死循环343
13.5for循环344
13.5.1for循环语法结构344
13.5.2for循环示例345
13.6until循环347
13.6.1until循环的语法结构347
13.6.2until循环示例348
13.7break和continue语句349
13.7.1break语句349
13.7.2continue语句351
第14章函数355
14.1函数的定义355
14.2函数的调用355
14.2.1执行函数356
14.2.2函数参数传递357
14.2.3函数的返回值359
14.2.4载入函数361
14.2.5删除函数362
14.3函数的作用域363
14.3.1全局作用域363
14.3.2局部作用域364
14.3.3应用示例365
14.4函数的嵌套366
14.5函数的递归367
第15章Shell编程实例370
15.1判断文件类型370
15.1.1系统设计370
15.1.2代码实现370
15.2使用if语句编写选择菜单370
15.2.1系统设计371
15.2.2代码实现371
15.3使用while循环编写选择菜单372
15.3.1系统设计372
15.3.2代码实现372
15.4使用until循环编写选择菜单374
15.4.1系统设计374
15.4.2代码实现374
15.5对指定目录定时备份377
15.5.1系统设计377
15.5.2代码实现377
15.6连续对多个目录逐个备份378
15.6.1系统设计378
15.6.2代码实现378
15.7自动下载指定文档379
15.7.1系统设计379
15.7.2代码实现380
15.8自动上传指定文档380
15.8.1系统设计380
15.8.2代码实现380
15.9通过命令连续创建50个用户账号382
15.9.1系统设计382
15.9.2代码实现382
15.10通过操作文件创建多个用户383
15.10.1系统设计383
15.10.2代码实现384
15.11连续创建多个目录386
15.11.1系统设计386
15.11.2代码实现386
15.12检查系统资源使用情况387
15.12.1系统设计387
15.12.2代码实现388
15.13账户的一致性检查391
15.13.1系统设计391
15.13.2代码实现391
15.14文件类型转换394
15.14.1系统设计395
15.14.2代码实现395
15.15对输入的3个数字进行排序396
15.15.1系统设计396
15.15.2代码实现396
15.16计算奇数之和399
15.17使用select命令生成菜单400
15.17.1系统设计400
15.17.2代码实现400
15.18打印图形401
15.18.1系统设计401
15.18.2代码实现402
15.19处理压缩文件402
15.19.1系统设计402
15.19.2代码实现402
15.20数值进制转换404
15.20.1系统设计404
15.20.2代码实现404
15.21使用sed打印指定行405
15.21.1系统设计405
15.21.2代码实现405
15.22使用sed筛选普通文件405
15.22.1系统设计406
15.22.2代码实现406
15.23使用gawk反序输出各列406
15.23.1系统设计406
15.23.2代码实现406
15.24对文件进行大小写转换407
15.24.1系统设计407
15.24.2代码实现407
15.25统计文件中的文本信息408
15.25.1系统设计408
15.25.2代码实现408

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Linux Shell编程与编辑器使用详解
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon