App 下载
注册
登录
|
搜索
正在搜索中...
首页
我的书架
我的主页
我的收藏
我的书评
《Linux命令行大全》主要介绍Linux命令行的使用,循序渐进,深入浅出,引导读者全面掌握命令行的使用方法。 《Linux命令行大全》分为四部分。第一部分开始了对命令行
……
[ 展开全部 ]
基本语言的学习之旅,包括命令结构、文件系统的导引、命令行的编辑以及关于命令的帮助系统和使用手册。第二部分主要讲述配置文件的编辑,用于计算机操作的命令行控制。第三部分讲述了从命令行开始执行的常规任务。类UNIX操作系统,比如Linux,包含了很多“经典的”命令行程序,这些程序可以高效地对数据进行操作。第四部分介绍了shell编程,这是一个公认的初级技术,并且容易学习,它可以使很多常见的系统任务自动运行。通过学习shell编程,读者也可以熟悉其他编程语言的使用。 《Linux命令行大全》适合从其他平台过渡到Linux的新用户和初级Linux服务器管理员阅读。没有任何Linux基础和Linux编程经验的读者,也可以通过本书掌握Linux命令行的使用方法。
[ 收起 ]
作者:绍茨 (William E.Shotts)
出版社:人民邮电出版社
定价:69.00元
ISBN:7115307458
给个评价
做个书摘
书摘 (21 )
评价 (1 )
查看所有书摘
按目录显示书摘
只显示目录
第一部分 学习shell
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第1章 shell是什么 3
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.1 终端仿真器 3
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.2 第一次键盘输入 4
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.2.1 命令历史记录 4
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.2.2 光标移动 4
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.3 几个简单的命令 5
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.4 结束终端会话 6
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第2章 导航 7
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.1 理解文件系统树 7
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.2 当前工作目录 8
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.3 列出目录内容 9
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.4 更改当前工作目录 9
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.4.1 绝对路径名 9
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.4.2 相对路径名 9
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.4.3 一些有用的快捷方式 10
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第3章 linux系统 13
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.1 ls命令的乐趣 13
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.1.1 选项和参数 14
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
.3.1.2 进一步了解长列表格式 15
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.2 使用file命令确定文件类型 16
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3 使用less命令查看文件内容 16
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.4 快速浏览 18
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.5 符号链接 20
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第4章 操作文件与目录 23
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.1 通配符 24
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.2 mkdir——创建目录 26
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.3 cp——复制文件和目录 26
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.4 mv——移除和重命名文件 27
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.5 rm——删除文件和目录 28
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.6 ln——创建链接 29
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.6.1 硬链接 29
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.6.2 符号链接 30
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.7 实战演练 30
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.7.1 创建目录 30
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.7.2 复制文件 31
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.7.3 移动和重命名文件 31
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.7.4 创建硬链接 32
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.7.5 创建符号链接 33
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.7.6 移除文件和目录 34
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.8 本章结尾语 35
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第5章 命令的使用 37
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.1 究竟什么是命令 38
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.2 识别命令 38
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.2.1 type——显示命令的类型 38
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.2.2 which——显示可执行程序的位置 39
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3 获得命令文档 39
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.1 help——获得shell内置命令的帮助文档 39
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.2 help——显示命令的使用信息 40
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.3 man——显示程序的手册页 40
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.4 apropos——显示合适的命令 41
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.5 whatis——显示命令的简要描述 42
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.6 info——显示程序的info条目 42
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3.7 readme和其他程序文档文件 43
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.4 使用别名创建自己的命令 43
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.5 温故以求新 45
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第6章 重定向 47
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.1 标准输入、标准输出和标准错误 48
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.1.1 标准输出重定向 48
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.1.2 标准错误重定向 50
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.1.3 将标准输出和标准错误重定向到同一个文件 50
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.1.4 处理不想要的输出 51
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.1.5 标准输入重定向 51
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2 管道 53
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2.1 过滤器 53
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2.2 uniq——报告或忽略文件中重复的行 54
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2.3 wc——打印行数、字数和字节数 54
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2.4 grep——打印匹配行 54
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2.5 head/tail——输出文件的开头部分/结尾部分 55
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2.6 tee——从stdin读取数据,并同时输出到stdout和文件 56
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.3 本章结尾语 57
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第7章 透过shell看世界 59
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1 扩展 59
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1.1 路径名扩展 60
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1.2 波浪线扩展 61
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1.3 算术扩展 61
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1.4 花括号扩展 62
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1.5 参数扩展 63
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1.6 命令替换 64
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2 引用 65
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2.1 双引号 65
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2.2 单引号 67
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2.3 转义字符 67
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.3 本章结尾语 68
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第8章 高级键盘技巧 69
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1 编辑命令行 69
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1.1 光标移动 70
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1.2 修改文本 70
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1.3 剪切和粘贴(killing and yanking)文本 71
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.2 自动补齐功能 71
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.3 使用历史命令 73
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.3.1 搜索历史命令 73
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.3.2 历史记录扩展 75
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.4 本章结尾语 76
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第9章 权限 77
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.1 所有者、组成员和其他所有用户 78
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2 读取、写入和执行 79
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2.1 chmod——更改文件模式 81
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2.2 采用gui设置文件模式 84
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2.3 umask——设置默认权限 85
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.3 更改身份 87
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.3.1 su——以其他用户和组id的身份来运行shell 88
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.3.2 sudo——以另一个用户的身份执行命令 89
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.3.3 chown——更改文件所有者和所属群组 90
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.3.4 chgrp——更改文件所属群组 91
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.4 权限的使用 91
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.5 更改用户密码 93
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第10章 进程 95
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.1 进程如何工作 96
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.1.1 使用ps命令查看进程信息 96
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.1.2 使用top命令动态查看进程信息 98
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.2 控制进程 100
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.2.1 中断进程 100
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.2.2 使进程在后台运行 101
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.2.3 使进程回到前台运行 101
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.2.4 停止(暂停)进程 102
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.3 信号 102
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.3.1 使用kill命令发送信号到进程 103
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.3.2 使用killall命令发送信号给多个进程 105
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.4 更多与进程相关的命令 105
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第二部分 配置与环境
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第11章 环境 109
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.1 环境中存储的是什么 109
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.1.1 检查环境 110
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.1.2 一些有趣的变量 111
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.2 环境是如何建立的 112
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.2.1 login和non-login shell 112
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.2.2 启动文件中有什么 113
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.3 修改环境 114
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.3.1 用户应当修改哪些文件 114
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.3.2 文本编辑器 115
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.3.3 使用文本编辑器 115
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.3.4 激活我们的修改 117
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.4 本章结尾语 118
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第12章 vi简介 119
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.1 为什么要学习vi 119
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.2 vi背景 120
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.3 启动和退出vi 120
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.4 编辑模式 121
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.4.1 进入插入模式 122
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.4.2 保存工作 122
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.5 移动光标 123
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.6 基本编辑 124
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.6.1 添加文本 124
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.6.2 插入一行 125
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.6.3 删除文本 126
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.6.4 剪切、复制和粘贴文本 127
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.6.5 合并行 128
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.7 查找和替换 128
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.7.1 行内搜索 128
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.7.2 搜索整个文件 129
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.7.3 全局搜索和替换 129
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.8 编辑多个文件 130
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.8.1 切换文件 131
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.8.2 载入更多的文件 132
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.8.3 文件之间的内容复制 132
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.8.4 插入整个文件 133
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.9 保存工作 134
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第13章 定制提示符 135
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.1 提示符的分解 135
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.2 尝试设计提示符 137
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.3 添加颜色 138
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.4 移动光标 140
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.5 保存提示符 141
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.6 本章结尾语 141
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第三部分 常见任务和主要工具
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第14章 软件包管理 145
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.1 软件包系统 146
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.2 软件包系统工作方式 146
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.2.1 软件包文件 146
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.2.2 库 147
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.2.3 依赖关系 147
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.2.4 高级和低级软件包工具 147
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3 常见软件包管理任务 148
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.1 在库里面查找软件包 148
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.2 安装库中的软件包 148
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.3 安装软件包文件中的软件包 149
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.4 删除软件包 149
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.5 更新库中的软件包 150
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.6 更新软件包文件中的软件包 150
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.7 列出已安装的软件包列表 150
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.8 判断软件包是否安装 151
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.9 显示已安装软件包的相关信息 151
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.10 查看某具体文件由哪个软件包安装得到 151
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.4 本章结尾语 152
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第15章 存储介质 155
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.1 挂载、卸载存储设备 156
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.1.1 查看已挂载的文件系统列表 157
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.1.2 确定设备名称 160
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.2 创建新的文件系统 162
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.2.1 用fdisk命令进行磁盘分区 162
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.2.2 用mkfs命令创建新的文件系统 164
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.3 测试、修复文件系统 165
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.4 格式化软盘 166
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.5 直接从/向设备转移数据 166
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.6 创建cd-rom映像 167
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.6.1 创建一个cd-rom文件映像副本 167
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.6.2 从文件集合中创建映像文件 168
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.7 向cd-rom写入映像文件 168
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.7.1 直接挂载iso映像文件 168
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.7.2 擦除可读写cd-rom 169
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.7.3 写入映像文件 169
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.8 附加认证 169
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第16章 网络 171
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.1 检查、监测网络 172
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.1.1 ping——向网络主机发送特殊数据包 172
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.1.2 traceroute——跟踪网络数据包的传输路径 173
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.1.3 netstat——检查网络设置及相关统计数据 174
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.2 通过网络传输文件 175
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.2.1 ftp——采用ftp(文件传输协议)传输文件 175
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.2.2 lftp——更好的ftp(文件传输协议) 177
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.2.3 wget——非交互式网络下载工具 177
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.3 与远程主机的安全通信 178
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.3.1 ssh——安全登录远程计算机 178
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.3.2 scp和sftp——安全传输文件 181
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第17章 文件搜索 183
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.1 locate——较简单的方式查找文件 184
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.2 find——较复杂的方式查找文件 185
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.2.1 test选项 186
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.2.2 action选项 190
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.2.3 返回到playground文件夹 194
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.2.4 option选项 196
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第18章 归档和备份 197
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.1 文件压缩 198
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.1.1 gzip——文件压缩与解压缩 198
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.1.2 bzip2——牺牲速度以换取高质量的数据压缩 200
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.2 文件归档 201
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.2.1 tar——磁带归档工具 201
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.2.2 zip——打包压缩文件 205
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.3 同步文件和目录 207
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.3.1 rsync——远程文件、目录的同步 207
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.3.2 在网络上使用rsync命令 209
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第19章 正则表达式 211
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.1 什么是正则表达式 211
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.2 grep——文本搜索 212
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.3 元字符和文字 213
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.4 任意字符 214
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.5 锚 214
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.6 中括号表达式和字符类 215
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.6.1 否定 216
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.6.2 传统字符范围 216
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.6.3 posix字符类 217
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.7 posix基本正则表达式和扩展正则表达式的比较 220
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.8 或选项 221
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.9 限定符 222
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.9.1 ?——匹配某元素0次或1次 222
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.9.2 *——匹配某元素多次或零次 222
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.9.3 +——匹配某元素一次或多次 223
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.9.4 {}——以指定次数匹配某元素 223
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.10 正则表达式的应用 224
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.10.1 用grep命令验证号码簿 224
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.10.2 用find查找奇怪文件名的文件 225
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.10.3 用locate查找文件 226
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.10.4 利用less和vim命令搜索文本 226
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.11 本章结尾语 227
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第20章 文本处理 229
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.1 文本应用程序 230
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.1.1 文件 230
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.1.2 网页 230
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.1.3 电子邮件 230
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.1.4 打印机输出 231
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.1.5 程序源代码 231
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.2 温故以求新 231
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.2.1 cat——进行文件之间的拼接并且输出到标准输出 231
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.2.2 sort——对文本行进行排序 232
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.2.3 uniq——通知或省略重复的行 238
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.3 切片和切块 239
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.3.1 cut——删除文本行中的部分内容 239
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.3.2 paste——合并文本行 242
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.3.3 join——连接两文件中具有相同字段的行 243
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.4 文本比较 245
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.4.1 comm——逐行比较两个已排序文件 245
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.4.2 diff——逐行比较文件 246
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.4.3 patch——对原文件进行diff操作 248
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5 非交互式文本编辑 249
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5.1 tr——替换或删除字符 249
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5.2 sed——用于文本过滤和转换的流编辑器 251
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5.3 aspell——交互式拼写检查工具 258
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.6 本章结尾语 260
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.7 附加项 261
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第21章 格式化输出 263
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1 简单的格式化工具 264
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1.1 nl——对行进行标号 264
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1.2 fold——将文本中的行长度设定为指定长度 266
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1.3 fmt——简单的文本格式化工具 267
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1.4 pr——格式化打印文本 270
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1.5 printf——格式化并打印数据 270
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.2 文档格式化系统 273
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.2.1 roff和tex家族 274
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.2.2 groff——文档格式化系统 274
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.3 本章结尾语 279
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第22章 打印 281
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.1 打印操作简史 282
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.1.1 灰暗时期的打印 282
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.1.2 基于字符的打印机 282
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.1.3 图形化打印机 283
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.2 linux方式的打印 284
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.3 准备打印文件 284
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.3.1 pr——将文本文件转换为打印文件 285
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.4 向打印机发送打印任务 285
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.4.1 lpr——打印文件(berkeley类型) 286
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.4.2 lp——打印文件(system v类型) 287
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.4.3 另外一个参数选项:a2ps 287
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.5 监测和控制打印任务 290
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.5.1 lpstat——显示打印系统状态 290
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.5.2 lpq——显示打印队列状态 291
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.5.3 lprm与cancel——删除打印任务 291
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第23章 编译程序 293
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.1 什么是编译 294
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.2 是不是所有的程序都需要编译 295
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.3 编译一个c程序 295
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.3.1 获取源代码 296
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.3.2 检查源代码树 297
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.3.3 生成程序 298
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.3.4 安装程序 302
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.4 本章结尾语 302
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第四部分 编写shell脚本
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第24章 编写第一个shell脚本 305
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.1 什么是shell脚本 305
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2 怎样写shell脚本 306
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2.1 脚本文件的格式 306
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2.2 可执行权限 307
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2.3 脚本文件的位置 307
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2.4 脚本的理想位置 308
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.3 更多的格式诀窍 309
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.3.1 长选项名 309
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.3.2 缩进和行连接 309
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.5 本章结尾语 310
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第25章 启动一个项目 311
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.1 第一阶段:最小的文档 311
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.2 第二阶段:加入一点数据 313
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.3 变量和常量 314
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.3.1 创建变量和常量 314
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.3.2 为变量和常量赋值 316
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.4 here文档 317
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.5 本章结尾语 319
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第26章 自顶向下设计 321
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.1 shell函数 322
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.2 局部变量 325
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.3 保持脚本的运行 326
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.4 本章结尾语 328
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第27章 流控制:if分支语句 329
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.1 使用if 330
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.2 退出状态 330
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.3 使用test命令 332
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.3.1 文件表达式 332
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.3.2 字符串表达式 334
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.3.3 整数表达式 335
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.4 更现代的test命令版本 336
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.5 (( ))——为整数设计 338
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.6 组合表达式 339
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.7 控制运算符:另一种方式的分支 341
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.8 本章结尾语 342
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第28章 读取键盘输入 343
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
28.1 read——从标准输入读取输入值 344
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
28.1.1 选项 346
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
28.1.2 使用ifs间隔输入字段 347
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
28.2 验证输入 349
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
28.3 菜单 350
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
28.4 本章结尾语 351
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
28.5 附加项 352
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第29章 流控制:while和until循环 353
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
29.1 循环 353
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
29.2 while 354
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
29.3 跳出循环 356
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
29.4 until 357
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
29.5 使用循环读取文件 358
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
29.6 本章结尾语 358
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第30章 故障诊断 359
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.1 语法错误 359
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.1.1 引号缺失 360
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.1.2 符号缺失冗余 360
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.1.3 非预期的展开 361
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.2 逻辑错误 362
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.2.1 防御编程 363
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.2.2 输入值验证 364
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.3 测试 364
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.3.1 桩 365
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.3.2 测试用例 365
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.4 调试 366
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.4.1 找到问题域 366
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.4.2 追踪 366
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.4.3 运行过程中变量的检验 368
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
30.5 本章结尾语 369
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第31章 流控制:case分支 371
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
31.1 case 371
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
31.1.1 模式 373
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
31.1.2 多个模式的组合 374
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
31.2 本章结尾语 375
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第32章 位置参数 377
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
32.1 访问命令行 377
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
32.1.1 确定实参的数目 378
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
32.1.2 shift——处理大量的实参 379
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
32.1.3 简单的应用程序 380
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
32.1.4 在shell函数中使用位置参数 381
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
32.2 处理多个位置参数 381
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
32.3 更完整的应用程序 383
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
32.4 本章结尾语 386
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第33章 流控制:for循环 389
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
33.1 for:传统shell形式 389
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
33.2 for:c语言形式 392
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
33.3 本章结尾语 393
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第34章 字符串和数字 395
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.1 参数扩展(parameter expansion) 395
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.1.1 基本参数 396
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.1.2 空变量扩展的管理 396
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.1.3 返回变量名的扩展 397
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.1.4 字符串操作 398
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.2 算术计算和扩展 400
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.2.1 数字进制 401
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.2.2 一元运算符 401
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.2.3 简单算术 401
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.2.4 赋值 402
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.2.5 位操作 404
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.2.6 逻辑操作 405
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.3 bc:一种任意精度计算语言 407
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.3.1 bc的使用 407
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.3.2 脚本例子 408
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.4 本章结尾语 409
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
34.5 附加项 409
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第35章 数组 411
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.1 什么是数组 411
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.2 创建一个数组 412
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.3 数组赋值 412
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.4 访问数组元素 413
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.5 数组操作 414
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.5.1 输出数组的所有内容 415
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.5.2 确定数组元素的数目 415
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.5.3 查找数组中使用的下标 416
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.5.4 在数组的结尾增加元素 416
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.5.5 数组排序操作 416
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.5.6 数组的删除 417
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
35.6 本章结尾语 418
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第36章 其他命令 419
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
36.1 组命令和子shell 419
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
36.1.1 执行重定向 420
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
36.1.2 进程替换 420
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
36.2 trap 422
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
36.3 异步执行 425
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
36.4 命名管道 426
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
36.4.1 设置命名管道 427
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
36.4.2 使用命名管道 427
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
36.5 本章结尾语 428
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
导购链接
×
做书摘
文字书摘
读图识字
至少还需要输入
10
字
保存原图片为书摘
上传图片
识别
最多输入
500
个字
上传图片
重新上传
写点笔记吧
至少还需要输入
10
字
章节(选填)
第一部分 学习shell
第1章 shell是什么 3
1.1 终端仿真器 3
1.2 第一次键盘输入 4
1.2.1 命令历史记录 4
1.2.2 光标移动 4
1.3 几个简单的命令 5
1.4 结束终端会话 6
第2章 导航 7
2.1 理解文件系统树 7
2.2 当前工作目录 8
2.3 列出目录内容 9
2.4 更改当前工作目录 9
2.4.1 绝对路径名 9
2.4.2 相对路径名 9
2.4.3 一些有用的快捷方式 10
第3章 linux系统 13
3.1 ls命令的乐趣 13
3.1.1 选项和参数 14
.3.1.2 进一步了解长列表格式 15
3.2 使用file命令确定文件类型 16
3.3 使用less命令查看文件内容 16
3.4 快速浏览 18
3.5 符号链接 20
第4章 操作文件与目录 23
4.1 通配符 24
4.2 mkdir——创建目录 26
4.3 cp——复制文件和目录 26
4.4 mv——移除和重命名文件 27
4.5 rm——删除文件和目录 28
4.6 ln——创建链接 29
4.6.1 硬链接 29
4.6.2 符号链接 30
4.7 实战演练 30
4.7.1 创建目录 30
4.7.2 复制文件 31
4.7.3 移动和重命名文件 31
4.7.4 创建硬链接 32
4.7.5 创建符号链接 33
4.7.6 移除文件和目录 34
4.8 本章结尾语 35
第5章 命令的使用 37
5.1 究竟什么是命令 38
5.2 识别命令 38
5.2.1 type——显示命令的类型 38
5.2.2 which——显示可执行程序的位置 39
5.3 获得命令文档 39
5.3.1 help——获得shell内置命令的帮助文档 39
5.3.2 help——显示命令的使用信息 40
5.3.3 man——显示程序的手册页 40
5.3.4 apropos——显示合适的命令 41
5.3.5 whatis——显示命令的简要描述 42
5.3.6 info——显示程序的info条目 42
5.3.7 readme和其他程序文档文件 43
5.4 使用别名创建自己的命令 43
5.5 温故以求新 45
第6章 重定向 47
6.1 标准输入、标准输出和标准错误 48
6.1.1 标准输出重定向 48
6.1.2 标准错误重定向 50
6.1.3 将标准输出和标准错误重定向到同一个文件 50
6.1.4 处理不想要的输出 51
6.1.5 标准输入重定向 51
6.2 管道 53
6.2.1 过滤器 53
6.2.2 uniq——报告或忽略文件中重复的行 54
6.2.3 wc——打印行数、字数和字节数 54
6.2.4 grep——打印匹配行 54
6.2.5 head/tail——输出文件的开头部分/结尾部分 55
6.2.6 tee——从stdin读取数据,并同时输出到stdout和文件 56
6.3 本章结尾语 57
第7章 透过shell看世界 59
7.1 扩展 59
7.1.1 路径名扩展 60
7.1.2 波浪线扩展 61
7.1.3 算术扩展 61
7.1.4 花括号扩展 62
7.1.5 参数扩展 63
7.1.6 命令替换 64
7.2 引用 65
7.2.1 双引号 65
7.2.2 单引号 67
7.2.3 转义字符 67
7.3 本章结尾语 68
第8章 高级键盘技巧 69
8.1 编辑命令行 69
8.1.1 光标移动 70
8.1.2 修改文本 70
8.1.3 剪切和粘贴(killing and yanking)文本 71
8.2 自动补齐功能 71
8.3 使用历史命令 73
8.3.1 搜索历史命令 73
8.3.2 历史记录扩展 75
8.4 本章结尾语 76
第9章 权限 77
9.1 所有者、组成员和其他所有用户 78
9.2 读取、写入和执行 79
9.2.1 chmod——更改文件模式 81
9.2.2 采用gui设置文件模式 84
9.2.3 umask——设置默认权限 85
9.3 更改身份 87
9.3.1 su——以其他用户和组id的身份来运行shell 88
9.3.2 sudo——以另一个用户的身份执行命令 89
9.3.3 chown——更改文件所有者和所属群组 90
9.3.4 chgrp——更改文件所属群组 91
9.4 权限的使用 91
9.5 更改用户密码 93
第10章 进程 95
10.1 进程如何工作 96
10.1.1 使用ps命令查看进程信息 96
10.1.2 使用top命令动态查看进程信息 98
10.2 控制进程 100
10.2.1 中断进程 100
10.2.2 使进程在后台运行 101
10.2.3 使进程回到前台运行 101
10.2.4 停止(暂停)进程 102
10.3 信号 102
10.3.1 使用kill命令发送信号到进程 103
10.3.2 使用killall命令发送信号给多个进程 105
10.4 更多与进程相关的命令 105
第二部分 配置与环境
第11章 环境 109
11.1 环境中存储的是什么 109
11.1.1 检查环境 110
11.1.2 一些有趣的变量 111
11.2 环境是如何建立的 112
11.2.1 login和non-login shell 112
11.2.2 启动文件中有什么 113
11.3 修改环境 114
11.3.1 用户应当修改哪些文件 114
11.3.2 文本编辑器 115
11.3.3 使用文本编辑器 115
11.3.4 激活我们的修改 117
11.4 本章结尾语 118
第12章 vi简介 119
12.1 为什么要学习vi 119
12.2 vi背景 120
12.3 启动和退出vi 120
12.4 编辑模式 121
12.4.1 进入插入模式 122
12.4.2 保存工作 122
12.5 移动光标 123
12.6 基本编辑 124
12.6.1 添加文本 124
12.6.2 插入一行 125
12.6.3 删除文本 126
12.6.4 剪切、复制和粘贴文本 127
12.6.5 合并行 128
12.7 查找和替换 128
12.7.1 行内搜索 128
12.7.2 搜索整个文件 129
12.7.3 全局搜索和替换 129
12.8 编辑多个文件 130
12.8.1 切换文件 131
12.8.2 载入更多的文件 132
12.8.3 文件之间的内容复制 132
12.8.4 插入整个文件 133
12.9 保存工作 134
第13章 定制提示符 135
13.1 提示符的分解 135
13.2 尝试设计提示符 137
13.3 添加颜色 138
13.4 移动光标 140
13.5 保存提示符 141
13.6 本章结尾语 141
第三部分 常见任务和主要工具
第14章 软件包管理 145
14.1 软件包系统 146
14.2 软件包系统工作方式 146
14.2.1 软件包文件 146
14.2.2 库 147
14.2.3 依赖关系 147
14.2.4 高级和低级软件包工具 147
14.3 常见软件包管理任务 148
14.3.1 在库里面查找软件包 148
14.3.2 安装库中的软件包 148
14.3.3 安装软件包文件中的软件包 149
14.3.4 删除软件包 149
14.3.5 更新库中的软件包 150
14.3.6 更新软件包文件中的软件包 150
14.3.7 列出已安装的软件包列表 150
14.3.8 判断软件包是否安装 151
14.3.9 显示已安装软件包的相关信息 151
14.3.10 查看某具体文件由哪个软件包安装得到 151
14.4 本章结尾语 152
第15章 存储介质 155
15.1 挂载、卸载存储设备 156
15.1.1 查看已挂载的文件系统列表 157
15.1.2 确定设备名称 160
15.2 创建新的文件系统 162
15.2.1 用fdisk命令进行磁盘分区 162
15.2.2 用mkfs命令创建新的文件系统 164
15.3 测试、修复文件系统 165
15.4 格式化软盘 166
15.5 直接从/向设备转移数据 166
15.6 创建cd-rom映像 167
15.6.1 创建一个cd-rom文件映像副本 167
15.6.2 从文件集合中创建映像文件 168
15.7 向cd-rom写入映像文件 168
15.7.1 直接挂载iso映像文件 168
15.7.2 擦除可读写cd-rom 169
15.7.3 写入映像文件 169
15.8 附加认证 169
第16章 网络 171
16.1 检查、监测网络 172
16.1.1 ping——向网络主机发送特殊数据包 172
16.1.2 traceroute——跟踪网络数据包的传输路径 173
16.1.3 netstat——检查网络设置及相关统计数据 174
16.2 通过网络传输文件 175
16.2.1 ftp——采用ftp(文件传输协议)传输文件 175
16.2.2 lftp——更好的ftp(文件传输协议) 177
16.2.3 wget——非交互式网络下载工具 177
16.3 与远程主机的安全通信 178
16.3.1 ssh——安全登录远程计算机 178
16.3.2 scp和sftp——安全传输文件 181
第17章 文件搜索 183
17.1 locate——较简单的方式查找文件 184
17.2 find——较复杂的方式查找文件 185
17.2.1 test选项 186
17.2.2 action选项 190
17.2.3 返回到playground文件夹 194
17.2.4 option选项 196
第18章 归档和备份 197
18.1 文件压缩 198
18.1.1 gzip——文件压缩与解压缩 198
18.1.2 bzip2——牺牲速度以换取高质量的数据压缩 200
18.2 文件归档 201
18.2.1 tar——磁带归档工具 201
18.2.2 zip——打包压缩文件 205
18.3 同步文件和目录 207
18.3.1 rsync——远程文件、目录的同步 207
18.3.2 在网络上使用rsync命令 209
第19章 正则表达式 211
19.1 什么是正则表达式 211
19.2 grep——文本搜索 212
19.3 元字符和文字 213
19.4 任意字符 214
19.5 锚 214
19.6 中括号表达式和字符类 215
19.6.1 否定 216
19.6.2 传统字符范围 216
19.6.3 posix字符类 217
19.7 posix基本正则表达式和扩展正则表达式的比较 220
19.8 或选项 221
19.9 限定符 222
19.9.1 ?——匹配某元素0次或1次 222
19.9.2 *——匹配某元素多次或零次 222
19.9.3 +——匹配某元素一次或多次 223
19.9.4 {}——以指定次数匹配某元素 223
19.10 正则表达式的应用 224
19.10.1 用grep命令验证号码簿 224
19.10.2 用find查找奇怪文件名的文件 225
19.10.3 用locate查找文件 226
19.10.4 利用less和vim命令搜索文本 226
19.11 本章结尾语 227
第20章 文本处理 229
20.1 文本应用程序 230
20.1.1 文件 230
20.1.2 网页 230
20.1.3 电子邮件 230
20.1.4 打印机输出 231
20.1.5 程序源代码 231
20.2 温故以求新 231
20.2.1 cat——进行文件之间的拼接并且输出到标准输出 231
20.2.2 sort——对文本行进行排序 232
20.2.3 uniq——通知或省略重复的行 238
20.3 切片和切块 239
20.3.1 cut——删除文本行中的部分内容 239
20.3.2 paste——合并文本行 242
20.3.3 join——连接两文件中具有相同字段的行 243
20.4 文本比较 245
20.4.1 comm——逐行比较两个已排序文件 245
20.4.2 diff——逐行比较文件 246
20.4.3 patch——对原文件进行diff操作 248
20.5 非交互式文本编辑 249
20.5.1 tr——替换或删除字符 249
20.5.2 sed——用于文本过滤和转换的流编辑器 251
20.5.3 aspell——交互式拼写检查工具 258
20.6 本章结尾语 260
20.7 附加项 261
第21章 格式化输出 263
21.1 简单的格式化工具 264
21.1.1 nl——对行进行标号 264
21.1.2 fold——将文本中的行长度设定为指定长度 266
21.1.3 fmt——简单的文本格式化工具 267
21.1.4 pr——格式化打印文本 270
21.1.5 printf——格式化并打印数据 270
21.2 文档格式化系统 273
21.2.1 roff和tex家族 274
21.2.2 groff——文档格式化系统 274
21.3 本章结尾语 279
第22章 打印 281
22.1 打印操作简史 282
22.1.1 灰暗时期的打印 282
22.1.2 基于字符的打印机 282
22.1.3 图形化打印机 283
22.2 linux方式的打印 284
22.3 准备打印文件 284
22.3.1 pr——将文本文件转换为打印文件 285
22.4 向打印机发送打印任务 285
22.4.1 lpr——打印文件(berkeley类型) 286
22.4.2 lp——打印文件(system v类型) 287
22.4.3 另外一个参数选项:a2ps 287
22.5 监测和控制打印任务 290
22.5.1 lpstat——显示打印系统状态 290
22.5.2 lpq——显示打印队列状态 291
22.5.3 lprm与cancel——删除打印任务 291
第23章 编译程序 293
23.1 什么是编译 294
23.2 是不是所有的程序都需要编译 295
23.3 编译一个c程序 295
23.3.1 获取源代码 296
23.3.2 检查源代码树 297
23.3.3 生成程序 298
23.3.4 安装程序 302
23.4 本章结尾语 302
第四部分 编写shell脚本
第24章 编写第一个shell脚本 305
24.1 什么是shell脚本 305
24.2 怎样写shell脚本 306
24.2.1 脚本文件的格式 306
24.2.2 可执行权限 307
24.2.3 脚本文件的位置 307
24.2.4 脚本的理想位置 308
24.3 更多的格式诀窍 309
24.3.1 长选项名 309
24.3.2 缩进和行连接 309
24.5 本章结尾语 310
第25章 启动一个项目 311
25.1 第一阶段:最小的文档 311
25.2 第二阶段:加入一点数据 313
25.3 变量和常量 314
25.3.1 创建变量和常量 314
25.3.2 为变量和常量赋值 316
25.4 here文档 317
25.5 本章结尾语 319
第26章 自顶向下设计 321
26.1 shell函数 322
26.2 局部变量 325
26.3 保持脚本的运行 326
26.4 本章结尾语 328
第27章 流控制:if分支语句 329
27.1 使用if 330
27.2 退出状态 330
27.3 使用test命令 332
27.3.1 文件表达式 332
27.3.2 字符串表达式 334
27.3.3 整数表达式 335
27.4 更现代的test命令版本 336
27.5 (( ))——为整数设计 338
27.6 组合表达式 339
27.7 控制运算符:另一种方式的分支 341
27.8 本章结尾语 342
第28章 读取键盘输入 343
28.1 read——从标准输入读取输入值 344
28.1.1 选项 346
28.1.2 使用ifs间隔输入字段 347
28.2 验证输入 349
28.3 菜单 350
28.4 本章结尾语 351
28.5 附加项 352
第29章 流控制:while和until循环 353
29.1 循环 353
29.2 while 354
29.3 跳出循环 356
29.4 until 357
29.5 使用循环读取文件 358
29.6 本章结尾语 358
第30章 故障诊断 359
30.1 语法错误 359
30.1.1 引号缺失 360
30.1.2 符号缺失冗余 360
30.1.3 非预期的展开 361
30.2 逻辑错误 362
30.2.1 防御编程 363
30.2.2 输入值验证 364
30.3 测试 364
30.3.1 桩 365
30.3.2 测试用例 365
30.4 调试 366
30.4.1 找到问题域 366
30.4.2 追踪 366
30.4.3 运行过程中变量的检验 368
30.5 本章结尾语 369
第31章 流控制:case分支 371
31.1 case 371
31.1.1 模式 373
31.1.2 多个模式的组合 374
31.2 本章结尾语 375
第32章 位置参数 377
32.1 访问命令行 377
32.1.1 确定实参的数目 378
32.1.2 shift——处理大量的实参 379
32.1.3 简单的应用程序 380
32.1.4 在shell函数中使用位置参数 381
32.2 处理多个位置参数 381
32.3 更完整的应用程序 383
32.4 本章结尾语 386
第33章 流控制:for循环 389
33.1 for:传统shell形式 389
33.2 for:c语言形式 392
33.3 本章结尾语 393
第34章 字符串和数字 395
34.1 参数扩展(parameter expansion) 395
34.1.1 基本参数 396
34.1.2 空变量扩展的管理 396
34.1.3 返回变量名的扩展 397
34.1.4 字符串操作 398
34.2 算术计算和扩展 400
34.2.1 数字进制 401
34.2.2 一元运算符 401
34.2.3 简单算术 401
34.2.4 赋值 402
34.2.5 位操作 404
34.2.6 逻辑操作 405
34.3 bc:一种任意精度计算语言 407
34.3.1 bc的使用 407
34.3.2 脚本例子 408
34.4 本章结尾语 409
34.5 附加项 409
第35章 数组 411
35.1 什么是数组 411
35.2 创建一个数组 412
35.3 数组赋值 412
35.4 访问数组元素 413
35.5 数组操作 414
35.5.1 输出数组的所有内容 415
35.5.2 确定数组元素的数目 415
35.5.3 查找数组中使用的下标 416
35.5.4 在数组的结尾增加元素 416
35.5.5 数组排序操作 416
35.5.6 数组的删除 417
35.6 本章结尾语 418
第36章 其他命令 419
36.1 组命令和子shell 419
36.1.1 执行重定向 420
36.1.2 进程替换 420
36.2 trap 422
36.3 异步执行 425
36.4 命名管道 426
36.4.1 设置命名管道 427
36.4.2 使用命名管道 427
36.5 本章结尾语 428
页码(选填)
这本书已经添加了这些章节,请勾选或者新建你的书摘所属的章节
add
up
down
remove
第一部分 学习shell
第1章 shell是什么 3
1.1 终端仿真器 3
1.2 第一次键盘输入 4
1.2.1 命令历史记录 4
1.2.2 光标移动 4
1.3 几个简单的命令 5
1.4 结束终端会话 6
第2章 导航 7
2.1 理解文件系统树 7
2.2 当前工作目录 8
2.3 列出目录内容 9
2.4 更改当前工作目录 9
2.4.1 绝对路径名 9
2.4.2 相对路径名 9
2.4.3 一些有用的快捷方式 10
第3章 linux系统 13
3.1 ls命令的乐趣 13
3.1.1 选项和参数 14
.3.1.2 进一步了解长列表格式 15
3.2 使用file命令确定文件类型 16
3.3 使用less命令查看文件内容 16
3.4 快速浏览 18
3.5 符号链接 20
第4章 操作文件与目录 23
4.1 通配符 24
4.2 mkdir——创建目录 26
4.3 cp——复制文件和目录 26
4.4 mv——移除和重命名文件 27
4.5 rm——删除文件和目录 28
4.6 ln——创建链接 29
4.6.1 硬链接 29
4.6.2 符号链接 30
4.7 实战演练 30
4.7.1 创建目录 30
4.7.2 复制文件 31
4.7.3 移动和重命名文件 31
4.7.4 创建硬链接 32
4.7.5 创建符号链接 33
4.7.6 移除文件和目录 34
4.8 本章结尾语 35
第5章 命令的使用 37
5.1 究竟什么是命令 38
5.2 识别命令 38
5.2.1 type——显示命令的类型 38
5.2.2 which——显示可执行程序的位置 39
5.3 获得命令文档 39
5.3.1 help——获得shell内置命令的帮助文档 39
5.3.2 help——显示命令的使用信息 40
5.3.3 man——显示程序的手册页 40
5.3.4 apropos——显示合适的命令 41
5.3.5 whatis——显示命令的简要描述 42
5.3.6 info——显示程序的info条目 42
5.3.7 readme和其他程序文档文件 43
5.4 使用别名创建自己的命令 43
5.5 温故以求新 45
第6章 重定向 47
6.1 标准输入、标准输出和标准错误 48
6.1.1 标准输出重定向 48
6.1.2 标准错误重定向 50
6.1.3 将标准输出和标准错误重定向到同一个文件 50
6.1.4 处理不想要的输出 51
6.1.5 标准输入重定向 51
6.2 管道 53
6.2.1 过滤器 53
6.2.2 uniq——报告或忽略文件中重复的行 54
6.2.3 wc——打印行数、字数和字节数 54
6.2.4 grep——打印匹配行 54
6.2.5 head/tail——输出文件的开头部分/结尾部分 55
6.2.6 tee——从stdin读取数据,并同时输出到stdout和文件 56
6.3 本章结尾语 57
第7章 透过shell看世界 59
7.1 扩展 59
7.1.1 路径名扩展 60
7.1.2 波浪线扩展 61
7.1.3 算术扩展 61
7.1.4 花括号扩展 62
7.1.5 参数扩展 63
7.1.6 命令替换 64
7.2 引用 65
7.2.1 双引号 65
7.2.2 单引号 67
7.2.3 转义字符 67
7.3 本章结尾语 68
第8章 高级键盘技巧 69
8.1 编辑命令行 69
8.1.1 光标移动 70
8.1.2 修改文本 70
8.1.3 剪切和粘贴(killing and yanking)文本 71
8.2 自动补齐功能 71
8.3 使用历史命令 73
8.3.1 搜索历史命令 73
8.3.2 历史记录扩展 75
8.4 本章结尾语 76
第9章 权限 77
9.1 所有者、组成员和其他所有用户 78
9.2 读取、写入和执行 79
9.2.1 chmod——更改文件模式 81
9.2.2 采用gui设置文件模式 84
9.2.3 umask——设置默认权限 85
9.3 更改身份 87
9.3.1 su——以其他用户和组id的身份来运行shell 88
9.3.2 sudo——以另一个用户的身份执行命令 89
9.3.3 chown——更改文件所有者和所属群组 90
9.3.4 chgrp——更改文件所属群组 91
9.4 权限的使用 91
9.5 更改用户密码 93
第10章 进程 95
10.1 进程如何工作 96
10.1.1 使用ps命令查看进程信息 96
10.1.2 使用top命令动态查看进程信息 98
10.2 控制进程 100
10.2.1 中断进程 100
10.2.2 使进程在后台运行 101
10.2.3 使进程回到前台运行 101
10.2.4 停止(暂停)进程 102
10.3 信号 102
10.3.1 使用kill命令发送信号到进程 103
10.3.2 使用killall命令发送信号给多个进程 105
10.4 更多与进程相关的命令 105
第二部分 配置与环境
第11章 环境 109
11.1 环境中存储的是什么 109
11.1.1 检查环境 110
11.1.2 一些有趣的变量 111
11.2 环境是如何建立的 112
11.2.1 login和non-login shell 112
11.2.2 启动文件中有什么 113
11.3 修改环境 114
11.3.1 用户应当修改哪些文件 114
11.3.2 文本编辑器 115
11.3.3 使用文本编辑器 115
11.3.4 激活我们的修改 117
11.4 本章结尾语 118
第12章 vi简介 119
12.1 为什么要学习vi 119
12.2 vi背景 120
12.3 启动和退出vi 120
12.4 编辑模式 121
12.4.1 进入插入模式 122
12.4.2 保存工作 122
12.5 移动光标 123
12.6 基本编辑 124
12.6.1 添加文本 124
12.6.2 插入一行 125
12.6.3 删除文本 126
12.6.4 剪切、复制和粘贴文本 127
12.6.5 合并行 128
12.7 查找和替换 128
12.7.1 行内搜索 128
12.7.2 搜索整个文件 129
12.7.3 全局搜索和替换 129
12.8 编辑多个文件 130
12.8.1 切换文件 131
12.8.2 载入更多的文件 132
12.8.3 文件之间的内容复制 132
12.8.4 插入整个文件 133
12.9 保存工作 134
第13章 定制提示符 135
13.1 提示符的分解 135
13.2 尝试设计提示符 137
13.3 添加颜色 138
13.4 移动光标 140
13.5 保存提示符 141
13.6 本章结尾语 141
第三部分 常见任务和主要工具
第14章 软件包管理 145
14.1 软件包系统 146
14.2 软件包系统工作方式 146
14.2.1 软件包文件 146
14.2.2 库 147
14.2.3 依赖关系 147
14.2.4 高级和低级软件包工具 147
14.3 常见软件包管理任务 148
14.3.1 在库里面查找软件包 148
14.3.2 安装库中的软件包 148
14.3.3 安装软件包文件中的软件包 149
14.3.4 删除软件包 149
14.3.5 更新库中的软件包 150
14.3.6 更新软件包文件中的软件包 150
14.3.7 列出已安装的软件包列表 150
14.3.8 判断软件包是否安装 151
14.3.9 显示已安装软件包的相关信息 151
14.3.10 查看某具体文件由哪个软件包安装得到 151
14.4 本章结尾语 152
第15章 存储介质 155
15.1 挂载、卸载存储设备 156
15.1.1 查看已挂载的文件系统列表 157
15.1.2 确定设备名称 160
15.2 创建新的文件系统 162
15.2.1 用fdisk命令进行磁盘分区 162
15.2.2 用mkfs命令创建新的文件系统 164
15.3 测试、修复文件系统 165
15.4 格式化软盘 166
15.5 直接从/向设备转移数据 166
15.6 创建cd-rom映像 167
15.6.1 创建一个cd-rom文件映像副本 167
15.6.2 从文件集合中创建映像文件 168
15.7 向cd-rom写入映像文件 168
15.7.1 直接挂载iso映像文件 168
15.7.2 擦除可读写cd-rom 169
15.7.3 写入映像文件 169
15.8 附加认证 169
第16章 网络 171
16.1 检查、监测网络 172
16.1.1 ping——向网络主机发送特殊数据包 172
16.1.2 traceroute——跟踪网络数据包的传输路径 173
16.1.3 netstat——检查网络设置及相关统计数据 174
16.2 通过网络传输文件 175
16.2.1 ftp——采用ftp(文件传输协议)传输文件 175
16.2.2 lftp——更好的ftp(文件传输协议) 177
16.2.3 wget——非交互式网络下载工具 177
16.3 与远程主机的安全通信 178
16.3.1 ssh——安全登录远程计算机 178
16.3.2 scp和sftp——安全传输文件 181
第17章 文件搜索 183
17.1 locate——较简单的方式查找文件 184
17.2 find——较复杂的方式查找文件 185
17.2.1 test选项 186
17.2.2 action选项 190
17.2.3 返回到playground文件夹 194
17.2.4 option选项 196
第18章 归档和备份 197
18.1 文件压缩 198
18.1.1 gzip——文件压缩与解压缩 198
18.1.2 bzip2——牺牲速度以换取高质量的数据压缩 200
18.2 文件归档 201
18.2.1 tar——磁带归档工具 201
18.2.2 zip——打包压缩文件 205
18.3 同步文件和目录 207
18.3.1 rsync——远程文件、目录的同步 207
18.3.2 在网络上使用rsync命令 209
第19章 正则表达式 211
19.1 什么是正则表达式 211
19.2 grep——文本搜索 212
19.3 元字符和文字 213
19.4 任意字符 214
19.5 锚 214
19.6 中括号表达式和字符类 215
19.6.1 否定 216
19.6.2 传统字符范围 216
19.6.3 posix字符类 217
19.7 posix基本正则表达式和扩展正则表达式的比较 220
19.8 或选项 221
19.9 限定符 222
19.9.1 ?——匹配某元素0次或1次 222
19.9.2 *——匹配某元素多次或零次 222
19.9.3 +——匹配某元素一次或多次 223
19.9.4 {}——以指定次数匹配某元素 223
19.10 正则表达式的应用 224
19.10.1 用grep命令验证号码簿 224
19.10.2 用find查找奇怪文件名的文件 225
19.10.3 用locate查找文件 226
19.10.4 利用less和vim命令搜索文本 226
19.11 本章结尾语 227
第20章 文本处理 229
20.1 文本应用程序 230
20.1.1 文件 230
20.1.2 网页 230
20.1.3 电子邮件 230
20.1.4 打印机输出 231
20.1.5 程序源代码 231
20.2 温故以求新 231
20.2.1 cat——进行文件之间的拼接并且输出到标准输出 231
20.2.2 sort——对文本行进行排序 232
20.2.3 uniq——通知或省略重复的行 238
20.3 切片和切块 239
20.3.1 cut——删除文本行中的部分内容 239
20.3.2 paste——合并文本行 242
20.3.3 join——连接两文件中具有相同字段的行 243
20.4 文本比较 245
20.4.1 comm——逐行比较两个已排序文件 245
20.4.2 diff——逐行比较文件 246
20.4.3 patch——对原文件进行diff操作 248
20.5 非交互式文本编辑 249
20.5.1 tr——替换或删除字符 249
20.5.2 sed——用于文本过滤和转换的流编辑器 251
20.5.3 aspell——交互式拼写检查工具 258
20.6 本章结尾语 260
20.7 附加项 261
第21章 格式化输出 263
21.1 简单的格式化工具 264
21.1.1 nl——对行进行标号 264
21.1.2 fold——将文本中的行长度设定为指定长度 266
21.1.3 fmt——简单的文本格式化工具 267
21.1.4 pr——格式化打印文本 270
21.1.5 printf——格式化并打印数据 270
21.2 文档格式化系统 273
21.2.1 roff和tex家族 274
21.2.2 groff——文档格式化系统 274
21.3 本章结尾语 279
第22章 打印 281
22.1 打印操作简史 282
22.1.1 灰暗时期的打印 282
22.1.2 基于字符的打印机 282
22.1.3 图形化打印机 283
22.2 linux方式的打印 284
22.3 准备打印文件 284
22.3.1 pr——将文本文件转换为打印文件 285
22.4 向打印机发送打印任务 285
22.4.1 lpr——打印文件(berkeley类型) 286
22.4.2 lp——打印文件(system v类型) 287
22.4.3 另外一个参数选项:a2ps 287
22.5 监测和控制打印任务 290
22.5.1 lpstat——显示打印系统状态 290
22.5.2 lpq——显示打印队列状态 291
22.5.3 lprm与cancel——删除打印任务 291
第23章 编译程序 293
23.1 什么是编译 294
23.2 是不是所有的程序都需要编译 295
23.3 编译一个c程序 295
23.3.1 获取源代码 296
23.3.2 检查源代码树 297
23.3.3 生成程序 298
23.3.4 安装程序 302
23.4 本章结尾语 302
第四部分 编写shell脚本
第24章 编写第一个shell脚本 305
24.1 什么是shell脚本 305
24.2 怎样写shell脚本 306
24.2.1 脚本文件的格式 306
24.2.2 可执行权限 307
24.2.3 脚本文件的位置 307
24.2.4 脚本的理想位置 308
24.3 更多的格式诀窍 309
24.3.1 长选项名 309
24.3.2 缩进和行连接 309
24.5 本章结尾语 310
第25章 启动一个项目 311
25.1 第一阶段:最小的文档 311
25.2 第二阶段:加入一点数据 313
25.3 变量和常量 314
25.3.1 创建变量和常量 314
25.3.2 为变量和常量赋值 316
25.4 here文档 317
25.5 本章结尾语 319
第26章 自顶向下设计 321
26.1 shell函数 322
26.2 局部变量 325
26.3 保持脚本的运行 326
26.4 本章结尾语 328
第27章 流控制:if分支语句 329
27.1 使用if 330
27.2 退出状态 330
27.3 使用test命令 332
27.3.1 文件表达式 332
27.3.2 字符串表达式 334
27.3.3 整数表达式 335
27.4 更现代的test命令版本 336
27.5 (( ))——为整数设计 338
27.6 组合表达式 339
27.7 控制运算符:另一种方式的分支 341
27.8 本章结尾语 342
第28章 读取键盘输入 343
28.1 read——从标准输入读取输入值 344
28.1.1 选项 346
28.1.2 使用ifs间隔输入字段 347
28.2 验证输入 349
28.3 菜单 350
28.4 本章结尾语 351
28.5 附加项 352
第29章 流控制:while和until循环 353
29.1 循环 353
29.2 while 354
29.3 跳出循环 356
29.4 until 357
29.5 使用循环读取文件 358
29.6 本章结尾语 358
第30章 故障诊断 359
30.1 语法错误 359
30.1.1 引号缺失 360
30.1.2 符号缺失冗余 360
30.1.3 非预期的展开 361
30.2 逻辑错误 362
30.2.1 防御编程 363
30.2.2 输入值验证 364
30.3 测试 364
30.3.1 桩 365
30.3.2 测试用例 365
30.4 调试 366
30.4.1 找到问题域 366
30.4.2 追踪 366
30.4.3 运行过程中变量的检验 368
30.5 本章结尾语 369
第31章 流控制:case分支 371
31.1 case 371
31.1.1 模式 373
31.1.2 多个模式的组合 374
31.2 本章结尾语 375
第32章 位置参数 377
32.1 访问命令行 377
32.1.1 确定实参的数目 378
32.1.2 shift——处理大量的实参 379
32.1.3 简单的应用程序 380
32.1.4 在shell函数中使用位置参数 381
32.2 处理多个位置参数 381
32.3 更完整的应用程序 383
32.4 本章结尾语 386
第33章 流控制:for循环 389
33.1 for:传统shell形式 389
33.2 for:c语言形式 392
33.3 本章结尾语 393
第34章 字符串和数字 395
34.1 参数扩展(parameter expansion) 395
34.1.1 基本参数 396
34.1.2 空变量扩展的管理 396
34.1.3 返回变量名的扩展 397
34.1.4 字符串操作 398
34.2 算术计算和扩展 400
34.2.1 数字进制 401
34.2.2 一元运算符 401
34.2.3 简单算术 401
34.2.4 赋值 402
34.2.5 位操作 404
34.2.6 逻辑操作 405
34.3 bc:一种任意精度计算语言 407
34.3.1 bc的使用 407
34.3.2 脚本例子 408
34.4 本章结尾语 409
34.5 附加项 409
第35章 数组 411
35.1 什么是数组 411
35.2 创建一个数组 412
35.3 数组赋值 412
35.4 访问数组元素 413
35.5 数组操作 414
35.5.1 输出数组的所有内容 415
35.5.2 确定数组元素的数目 415
35.5.3 查找数组中使用的下标 416
35.5.4 在数组的结尾增加元素 416
35.5.5 数组排序操作 416
35.5.6 数组的删除 417
35.6 本章结尾语 418
第36章 其他命令 419
36.1 组命令和子shell 419
36.1.1 执行重定向 420
36.1.2 进程替换 420
36.2 trap 422
36.3 异步执行 425
36.4 命名管道 426
36.4.1 设置命名管道 427
36.4.2 使用命名管道 427
36.5 本章结尾语 428
×
添加一个书摘本
搜索创建书摘本
搜索
正在搜索...
不对,换一下
书名
作者
出版社
备注
ISBN
*
*
第一部分 学习shell
第1章 shell是什么 3
1.1 终端仿真器 3
1.2 第一次键盘输入 4
1.2.1 命令历史记录 4
1.2.2 光标移动 4
1.3 几个简单的命令 5
1.4 结束终端会话 6
第2章 导航 7
2.1 理解文件系统树 7
2.2 当前工作目录 8
2.3 列出目录内容 9
2.4 更改当前工作目录 9
2.4.1 绝对路径名 9
2.4.2 相对路径名 9
2.4.3 一些有用的快捷方式 10
第3章 linux系统 13
3.1 ls命令的乐趣 13
3.1.1 选项和参数 14
.3.1.2 进一步了解长列表格式 15
3.2 使用file命令确定文件类型 16
3.3 使用less命令查看文件内容 16
3.4 快速浏览 18
3.5 符号链接 20
第4章 操作文件与目录 23
4.1 通配符 24
4.2 mkdir——创建目录 26
4.3 cp——复制文件和目录 26
4.4 mv——移除和重命名文件 27
4.5 rm——删除文件和目录 28
4.6 ln——创建链接 29
4.6.1 硬链接 29
4.6.2 符号链接 30
4.7 实战演练 30
4.7.1 创建目录 30
4.7.2 复制文件 31
4.7.3 移动和重命名文件 31
4.7.4 创建硬链接 32
4.7.5 创建符号链接 33
4.7.6 移除文件和目录 34
4.8 本章结尾语 35
第5章 命令的使用 37
5.1 究竟什么是命令 38
5.2 识别命令 38
5.2.1 type——显示命令的类型 38
5.2.2 which——显示可执行程序的位置 39
5.3 获得命令文档 39
5.3.1 help——获得shell内置命令的帮助文档 39
5.3.2 help——显示命令的使用信息 40
5.3.3 man——显示程序的手册页 40
5.3.4 apropos——显示合适的命令 41
5.3.5 whatis——显示命令的简要描述 42
5.3.6 info——显示程序的info条目 42
5.3.7 readme和其他程序文档文件 43
5.4 使用别名创建自己的命令 43
5.5 温故以求新 45
第6章 重定向 47
6.1 标准输入、标准输出和标准错误 48
6.1.1 标准输出重定向 48
6.1.2 标准错误重定向 50
6.1.3 将标准输出和标准错误重定向到同一个文件 50
6.1.4 处理不想要的输出 51
6.1.5 标准输入重定向 51
6.2 管道 53
6.2.1 过滤器 53
6.2.2 uniq——报告或忽略文件中重复的行 54
6.2.3 wc——打印行数、字数和字节数 54
6.2.4 grep——打印匹配行 54
6.2.5 head/tail——输出文件的开头部分/结尾部分 55
6.2.6 tee——从stdin读取数据,并同时输出到stdout和文件 56
6.3 本章结尾语 57
第7章 透过shell看世界 59
7.1 扩展 59
7.1.1 路径名扩展 60
7.1.2 波浪线扩展 61
7.1.3 算术扩展 61
7.1.4 花括号扩展 62
7.1.5 参数扩展 63
7.1.6 命令替换 64
7.2 引用 65
7.2.1 双引号 65
7.2.2 单引号 67
7.2.3 转义字符 67
7.3 本章结尾语 68
第8章 高级键盘技巧 69
8.1 编辑命令行 69
8.1.1 光标移动 70
8.1.2 修改文本 70
8.1.3 剪切和粘贴(killing and yanking)文本 71
8.2 自动补齐功能 71
8.3 使用历史命令 73
8.3.1 搜索历史命令 73
8.3.2 历史记录扩展 75
8.4 本章结尾语 76
第9章 权限 77
9.1 所有者、组成员和其他所有用户 78
9.2 读取、写入和执行 79
9.2.1 chmod——更改文件模式 81
9.2.2 采用gui设置文件模式 84
9.2.3 umask——设置默认权限 85
9.3 更改身份 87
9.3.1 su——以其他用户和组id的身份来运行shell 88
9.3.2 sudo——以另一个用户的身份执行命令 89
9.3.3 chown——更改文件所有者和所属群组 90
9.3.4 chgrp——更改文件所属群组 91
9.4 权限的使用 91
9.5 更改用户密码 93
第10章 进程 95
10.1 进程如何工作 96
10.1.1 使用ps命令查看进程信息 96
10.1.2 使用top命令动态查看进程信息 98
10.2 控制进程 100
10.2.1 中断进程 100
10.2.2 使进程在后台运行 101
10.2.3 使进程回到前台运行 101
10.2.4 停止(暂停)进程 102
10.3 信号 102
10.3.1 使用kill命令发送信号到进程 103
10.3.2 使用killall命令发送信号给多个进程 105
10.4 更多与进程相关的命令 105
第二部分 配置与环境
第11章 环境 109
11.1 环境中存储的是什么 109
11.1.1 检查环境 110
11.1.2 一些有趣的变量 111
11.2 环境是如何建立的 112
11.2.1 login和non-login shell 112
11.2.2 启动文件中有什么 113
11.3 修改环境 114
11.3.1 用户应当修改哪些文件 114
11.3.2 文本编辑器 115
11.3.3 使用文本编辑器 115
11.3.4 激活我们的修改 117
11.4 本章结尾语 118
第12章 vi简介 119
12.1 为什么要学习vi 119
12.2 vi背景 120
12.3 启动和退出vi 120
12.4 编辑模式 121
12.4.1 进入插入模式 122
12.4.2 保存工作 122
12.5 移动光标 123
12.6 基本编辑 124
12.6.1 添加文本 124
12.6.2 插入一行 125
12.6.3 删除文本 126
12.6.4 剪切、复制和粘贴文本 127
12.6.5 合并行 128
12.7 查找和替换 128
12.7.1 行内搜索 128
12.7.2 搜索整个文件 129
12.7.3 全局搜索和替换 129
12.8 编辑多个文件 130
12.8.1 切换文件 131
12.8.2 载入更多的文件 132
12.8.3 文件之间的内容复制 132
12.8.4 插入整个文件 133
12.9 保存工作 134
第13章 定制提示符 135
13.1 提示符的分解 135
13.2 尝试设计提示符 137
13.3 添加颜色 138
13.4 移动光标 140
13.5 保存提示符 141
13.6 本章结尾语 141
第三部分 常见任务和主要工具
第14章 软件包管理 145
14.1 软件包系统 146
14.2 软件包系统工作方式 146
14.2.1 软件包文件 146
14.2.2 库 147
14.2.3 依赖关系 147
14.2.4 高级和低级软件包工具 147
14.3 常见软件包管理任务 148
14.3.1 在库里面查找软件包 148
14.3.2 安装库中的软件包 148
14.3.3 安装软件包文件中的软件包 149
14.3.4 删除软件包 149
14.3.5 更新库中的软件包 150
14.3.6 更新软件包文件中的软件包 150
14.3.7 列出已安装的软件包列表 150
14.3.8 判断软件包是否安装 151
14.3.9 显示已安装软件包的相关信息 151
14.3.10 查看某具体文件由哪个软件包安装得到 151
14.4 本章结尾语 152
第15章 存储介质 155
15.1 挂载、卸载存储设备 156
15.1.1 查看已挂载的文件系统列表 157
15.1.2 确定设备名称 160
15.2 创建新的文件系统 162
15.2.1 用fdisk命令进行磁盘分区 162
15.2.2 用mkfs命令创建新的文件系统 164
15.3 测试、修复文件系统 165
15.4 格式化软盘 166
15.5 直接从/向设备转移数据 166
15.6 创建cd-rom映像 167
15.6.1 创建一个cd-rom文件映像副本 167
15.6.2 从文件集合中创建映像文件 168
15.7 向cd-rom写入映像文件 168
15.7.1 直接挂载iso映像文件 168
15.7.2 擦除可读写cd-rom 169
15.7.3 写入映像文件 169
15.8 附加认证 169
第16章 网络 171
16.1 检查、监测网络 172
16.1.1 ping——向网络主机发送特殊数据包 172
16.1.2 traceroute——跟踪网络数据包的传输路径 173
16.1.3 netstat——检查网络设置及相关统计数据 174
16.2 通过网络传输文件 175
16.2.1 ftp——采用ftp(文件传输协议)传输文件 175
16.2.2 lftp——更好的ftp(文件传输协议) 177
16.2.3 wget——非交互式网络下载工具 177
16.3 与远程主机的安全通信 178
16.3.1 ssh——安全登录远程计算机 178
16.3.2 scp和sftp——安全传输文件 181
第17章 文件搜索 183
17.1 locate——较简单的方式查找文件 184
17.2 find——较复杂的方式查找文件 185
17.2.1 test选项 186
17.2.2 action选项 190
17.2.3 返回到playground文件夹 194
17.2.4 option选项 196
第18章 归档和备份 197
18.1 文件压缩 198
18.1.1 gzip——文件压缩与解压缩 198
18.1.2 bzip2——牺牲速度以换取高质量的数据压缩 200
18.2 文件归档 201
18.2.1 tar——磁带归档工具 201
18.2.2 zip——打包压缩文件 205
18.3 同步文件和目录 207
18.3.1 rsync——远程文件、目录的同步 207
18.3.2 在网络上使用rsync命令 209
第19章 正则表达式 211
19.1 什么是正则表达式 211
19.2 grep——文本搜索 212
19.3 元字符和文字 213
19.4 任意字符 214
19.5 锚 214
19.6 中括号表达式和字符类 215
19.6.1 否定 216
19.6.2 传统字符范围 216
19.6.3 posix字符类 217
19.7 posix基本正则表达式和扩展正则表达式的比较 220
19.8 或选项 221
19.9 限定符 222
19.9.1 ?——匹配某元素0次或1次 222
19.9.2 *——匹配某元素多次或零次 222
19.9.3 +——匹配某元素一次或多次 223
19.9.4 {}——以指定次数匹配某元素 223
19.10 正则表达式的应用 224
19.10.1 用grep命令验证号码簿 224
19.10.2 用find查找奇怪文件名的文件 225
19.10.3 用locate查找文件 226
19.10.4 利用less和vim命令搜索文本 226
19.11 本章结尾语 227
第20章 文本处理 229
20.1 文本应用程序 230
20.1.1 文件 230
20.1.2 网页 230
20.1.3 电子邮件 230
20.1.4 打印机输出 231
20.1.5 程序源代码 231
20.2 温故以求新 231
20.2.1 cat——进行文件之间的拼接并且输出到标准输出 231
20.2.2 sort——对文本行进行排序 232
20.2.3 uniq——通知或省略重复的行 238
20.3 切片和切块 239
20.3.1 cut——删除文本行中的部分内容 239
20.3.2 paste——合并文本行 242
20.3.3 join——连接两文件中具有相同字段的行 243
20.4 文本比较 245
20.4.1 comm——逐行比较两个已排序文件 245
20.4.2 diff——逐行比较文件 246
20.4.3 patch——对原文件进行diff操作 248
20.5 非交互式文本编辑 249
20.5.1 tr——替换或删除字符 249
20.5.2 sed——用于文本过滤和转换的流编辑器 251
20.5.3 aspell——交互式拼写检查工具 258
20.6 本章结尾语 260
20.7 附加项 261
第21章 格式化输出 263
21.1 简单的格式化工具 264
21.1.1 nl——对行进行标号 264
21.1.2 fold——将文本中的行长度设定为指定长度 266
21.1.3 fmt——简单的文本格式化工具 267
21.1.4 pr——格式化打印文本 270
21.1.5 printf——格式化并打印数据 270
21.2 文档格式化系统 273
21.2.1 roff和tex家族 274
21.2.2 groff——文档格式化系统 274
21.3 本章结尾语 279
第22章 打印 281
22.1 打印操作简史 282
22.1.1 灰暗时期的打印 282
22.1.2 基于字符的打印机 282
22.1.3 图形化打印机 283
22.2 linux方式的打印 284
22.3 准备打印文件 284
22.3.1 pr——将文本文件转换为打印文件 285
22.4 向打印机发送打印任务 285
22.4.1 lpr——打印文件(berkeley类型) 286
22.4.2 lp——打印文件(system v类型) 287
22.4.3 另外一个参数选项:a2ps 287
22.5 监测和控制打印任务 290
22.5.1 lpstat——显示打印系统状态 290
22.5.2 lpq——显示打印队列状态 291
22.5.3 lprm与cancel——删除打印任务 291
第23章 编译程序 293
23.1 什么是编译 294
23.2 是不是所有的程序都需要编译 295
23.3 编译一个c程序 295
23.3.1 获取源代码 296
23.3.2 检查源代码树 297
23.3.3 生成程序 298
23.3.4 安装程序 302
23.4 本章结尾语 302
第四部分 编写shell脚本
第24章 编写第一个shell脚本 305
24.1 什么是shell脚本 305
24.2 怎样写shell脚本 306
24.2.1 脚本文件的格式 306
24.2.2 可执行权限 307
24.2.3 脚本文件的位置 307
24.2.4 脚本的理想位置 308
24.3 更多的格式诀窍 309
24.3.1 长选项名 309
24.3.2 缩进和行连接 309
24.5 本章结尾语 310
第25章 启动一个项目 311
25.1 第一阶段:最小的文档 311
25.2 第二阶段:加入一点数据 313
25.3 变量和常量 314
25.3.1 创建变量和常量 314
25.3.2 为变量和常量赋值 316
25.4 here文档 317
25.5 本章结尾语 319
第26章 自顶向下设计 321
26.1 shell函数 322
26.2 局部变量 325
26.3 保持脚本的运行 326
26.4 本章结尾语 328
第27章 流控制:if分支语句 329
27.1 使用if 330
27.2 退出状态 330
27.3 使用test命令 332
27.3.1 文件表达式 332
27.3.2 字符串表达式 334
27.3.3 整数表达式 335
27.4 更现代的test命令版本 336
27.5 (( ))——为整数设计 338
27.6 组合表达式 339
27.7 控制运算符:另一种方式的分支 341
27.8 本章结尾语 342
第28章 读取键盘输入 343
28.1 read——从标准输入读取输入值 344
28.1.1 选项 346
28.1.2 使用ifs间隔输入字段 347
28.2 验证输入 349
28.3 菜单 350
28.4 本章结尾语 351
28.5 附加项 352
第29章 流控制:while和until循环 353
29.1 循环 353
29.2 while 354
29.3 跳出循环 356
29.4 until 357
29.5 使用循环读取文件 358
29.6 本章结尾语 358
第30章 故障诊断 359
30.1 语法错误 359
30.1.1 引号缺失 360
30.1.2 符号缺失冗余 360
30.1.3 非预期的展开 361
30.2 逻辑错误 362
30.2.1 防御编程 363
30.2.2 输入值验证 364
30.3 测试 364
30.3.1 桩 365
30.3.2 测试用例 365
30.4 调试 366
30.4.1 找到问题域 366
30.4.2 追踪 366
30.4.3 运行过程中变量的检验 368
30.5 本章结尾语 369
第31章 流控制:case分支 371
31.1 case 371
31.1.1 模式 373
31.1.2 多个模式的组合 374
31.2 本章结尾语 375
第32章 位置参数 377
32.1 访问命令行 377
32.1.1 确定实参的数目 378
32.1.2 shift——处理大量的实参 379
32.1.3 简单的应用程序 380
32.1.4 在shell函数中使用位置参数 381
32.2 处理多个位置参数 381
32.3 更完整的应用程序 383
32.4 本章结尾语 386
第33章 流控制:for循环 389
33.1 for:传统shell形式 389
33.2 for:c语言形式 392
33.3 本章结尾语 393
第34章 字符串和数字 395
34.1 参数扩展(parameter expansion) 395
34.1.1 基本参数 396
34.1.2 空变量扩展的管理 396
34.1.3 返回变量名的扩展 397
34.1.4 字符串操作 398
34.2 算术计算和扩展 400
34.2.1 数字进制 401
34.2.2 一元运算符 401
34.2.3 简单算术 401
34.2.4 赋值 402
34.2.5 位操作 404
34.2.6 逻辑操作 405
34.3 bc:一种任意精度计算语言 407
34.3.1 bc的使用 407
34.3.2 脚本例子 408
34.4 本章结尾语 409
34.5 附加项 409
第35章 数组 411
35.1 什么是数组 411
35.2 创建一个数组 412
35.3 数组赋值 412
35.4 访问数组元素 413
35.5 数组操作 414
35.5.1 输出数组的所有内容 415
35.5.2 确定数组元素的数目 415
35.5.3 查找数组中使用的下标 416
35.5.4 在数组的结尾增加元素 416
35.5.5 数组排序操作 416
35.5.6 数组的删除 417
35.6 本章结尾语 418
第36章 其他命令 419
36.1 组命令和子shell 419
36.1.1 执行重定向 420
36.1.2 进程替换 420
36.2 trap 422
36.3 异步执行 425
36.4 命名管道 426
36.4.1 设置命名管道 427
36.4.2 使用命名管道 427
36.5 本章结尾语 428