《Linux命令行大全》关键详细介绍Linux命令行的应用,由浅入深,从入门到精通,正确引导读者全方位把握命令行的使用说明。 《Linux命令行全集》分成四一部分。第一一部分刚开始了对命令行基础言语的学习之路,包含指令构造、系统文件的导向、命令行的编写及其有关指令的协助系统软件和操作手册。第二一部分关键叙述配置文件的编写,用以计算机操作的命令行操纵。第三一部分叙述了从命令行刚开始实行的基本每日任务。类UNIX电脑操作系统,例如Linux,包括了许多“经典的”命令行程序流程,这种程序流程能够高效率地对统计数据开展实际操作。第四一部分详细介绍了shell编程,它是一个认可的初中级技术性,而且非常容易学习,它能够使许多常用的系统软件每日任务自启动。根据学习shell编程,读者也可以了解别的程序语言的应用。 《Linux命令行全集》合适从别的服务平台衔接到Linux的新客户和初中级Linux网络服务器管理人员阅读文章。没有Linux基本和Linux编程经历的读者,也可以根据这书把握Linux命令行的使用说明。
目录
- 第一部分 学习shell
- 第1章 shell是什么
- 1.1 终端仿真器
- 1.2 第一次键盘输入
- 1.2.1 命令历史记录
- 1.2.2 光标移动
- 1.3 几个简单的命令
- 1.4 结束终端会话
- 第2章 导航
- 2.1 理解文件系统树
- 2.2 当前工作目录
- 2.3 列出目录内容
- 2.4 更改当前工作目录
- 2.4.1 绝对路径名
- 2.4.2 相对路径名
- 2.4.3 一些有用的快捷方式
- 第3章 Linux系统
- 3.1 ls命令的乐趣
- 3.1.1 选项和参数
- 3.1.2 进一步了解长列表格式
- 3.2 使用file命令确定文件类型
- 3.3 使用less命令查看文件内容
- 3.4 快速浏览
- 3.5 符号链接
- 第4章 操作文件与目录
- 4.1 通配符
- 4.2 mkdir——创建目录
- 4.3 cp——复制文件和目录
- 4.4 mv——移除和重命名文件
- 4.5 rm——删除文件和目录
- 4.6 ln——创建链接
- 4.6.1 硬链接
- 4.6.2 符号链接
- 4.7 实战演练
- 4.7.1 创建目录
- 4.7.2 复制文件
- 4.7.3 移动和重命名文件
- 4.7.4 创建硬链接
- 4.7.5 创建符号链接
- 4.7.6 移除文件和目录
- 4.8 本章结尾语
- 第5章 命令的使用
- 5.1 究竟什么是命令
- 5.2 识别命令
- 5.2.1 type——显示命令的类型
- 5.2.2 which——显示可执行程序的位置
- 5.3 获得命令文档
- 5.3.1 help——获得shell内置命令的帮助文档
- 5.3.2 help——显示命令的使用信息
- 5.3.3 man——显示程序的手册页
- 5.3.4 apropos——显示合适的命令
- 5.3.5 whatis——显示命令的简要描述
- 5.3.6 info——显示程序的info条目
- 5.3.7 README和其他程序文档文件
- 5.4 使用别名创建自己的命令
- 5.5 温故以求新
- 第6章 重定向
- 6.1 标准输入、标准输出和标准错误
- 6.1.1 标准输出重定向
- 6.1.2 标准错误重定向
- 6.1.3 将标准输出和标准错误重定向到同一个文件
- 6.1.4 处理不想要的输出
- 6.1.5 标准输入重定向
- 6.2 管道
- 6.2.1 过滤器
- 6.2.2 uniq——报告或忽略文件中重复的行
- 6.2.3 wc——打印行数、字数和字节数
- 6.2.4 grep——打印匹配行
- 6.2.5 head/tail——输出文件的开头部分/结尾部分
- 6.2.6 tee——从stdin读取数据,并同时输出到stdout和文件
- 6.3 本章结尾语
- 第7章 透过shell看世界
- 7.1 扩展
- 7.1.1 路径名扩展
- 7.1.2 波浪线扩展
- 7.1.3 算术扩展
- 7.1.4 花括号扩展
- 7.1.5 参数扩展
- 7.1.6 命令替换
- 7.2 引用
- 7.2.1 双引号
- 7.2.2 单引号
- 7.2.3 转义字符
- 7.3 本章结尾语
- 第8章 高级键盘技巧
- 8.1 编辑命令行
- 8.1.1 光标移动
- 8.1.2 修改文本
- 8.1.3 剪切和粘贴(Killing and Yanking)文本
- 8.2 自动补齐功能
- 8.3 使用历史命令
- 8.3.1 搜索历史命令
- 8.3.2 历史记录扩展
- 8.4 本章结尾语
- 第9章 权限
- 9.1 所有者、组成员和其他所有用户
- 9.2 读取、写入和执行
- 9.2.1 chmod——更改文件模式
- 9.2.2 采用GUI设置文件模式
- 9.2.3 umask——设置默认权限
- 9.3 更改身份
- 9.3.1 su——以其他用户和组ID的身份来运行shell
- 9.3.2 sudo——以另一个用户的身份执行命令
- 9.3.3 chown——更改文件所有者和所属群组
- 9.3.4 chgrp——更改文件所属群组
- 9.4 权限的使用
- 9.5 更改用户密码
- 第10章 进程
- 10.1 进程如何工作
- 10.1.1 使用ps命令查看进程信息
- 10.1.2 使用top命令动态查看进程信息
- 10.2 控制进程
- 10.2.1 中断进程
- 10.2.2 使进程在后台运行
- 10.2.3 使进程回到前台运行
- 10.2.4 停止(暂停)进程
- 10.3 信号
- 10.3.1 使用kill命令发送信号到进程
- 10.3.2 使用killall命令发送信号给多个进程
- 10.4 更多与进程相关的命令
- 第二部分 配置与环境
- 第11章 环境
- 11.1 环境中存储的是什么
- 11.1.1 检查环境
- 11.1.2 一些有趣的变量
- 11.2 环境是如何建立的
- 11.2.1 login和non-login shell
- 11.2.2 启动文件中有什么
- 11.3 修改环境
- 11.3.1 用户应当修改哪些文件
- 11.3.2 文本编辑器
- 11.3.3 使用文本编辑器
- 11.3.4 激活我们的修改
- 11.4 本章结尾语
- 第12章 VI简介
- 12.1 为什么要学习vi
- 12.2 VI背景
- 12.3 启动和退出vi
- 12.4 编辑模式
- 12.4.1 进入插入模式
- 12.4.2 保存工作
- 12.5 移动光标
- 12.6 基本编辑
- 12.6.1 添加文本
- 12.6.2 插入一行
- 12.6.3 删除文本
- 12.6.4 剪切、复制和粘贴文本
- 12.6.5 合并行
- 12.7 查找和替换
- 12.7.1 行内搜索
- 12.7.2 搜索整个文件
- 12.7.3 全局搜索和替换
- 12.8 编辑多个文件
- 12.8.1 切换文件
- 12.8.2 载入更多的文件
- 12.8.3 文件之间的内容复制
- 12.8.4 插入整个文件
- 12.9 保存工作
- 第13章 定制提示符
- 13.1 提示符的分解
- 13.2 尝试设计提示符
- 13.3 添加颜色
- 13.4 移动光标
- 13.5 保存提示符
- 13.6 本章结尾语
- 第三部分 常见任务和主要工具
- 第14章 软件包管理
- 14.1 软件包系统
- 14.2 软件包系统工作方式
- 14.2.1 软件包文件
- 14.2.2 库
- 14.2.3 依赖关系
- 14.2.4 高级和低级软件包工具
- 14.3 常见软件包管理任务
- 14.3.1 在库里面查找软件包
- 14.3.2 安装库中的软件包
- 14.3.3 安装软件包文件中的软件包
- 14.3.4 删除软件包
- 14.3.5 更新库中的软件包
- 14.3.6 更新软件包文件中的软件包
- 14.3.7 列出已安装的软件包列表
- 14.3.8 判断软件包是否安装
- 14.3.9 显示已安装软件包的相关信息
- 14.3.10 查看某具体文件由哪个软件包安装得到
- 14.4 本章结尾语
- 第15章 存储介质
- 15.1 挂载、卸载存储设备
- 15.1.1 查看已挂载的文件系统列表
- 15.1.2 确定设备名称
- 15.2 创建新的文件系统
- 15.2.1 用fdisk命令进行磁盘分区
- 15.2.2 用mkfs命令创建新的文件系统
- 15.3 测试、修复文件系统
- 15.4 格式化软盘
- 15.5 直接从/向设备转移数据
- 15.6 创建CD-ROM映像
- 15.6.1 创建一个CD-ROM文件映像副本
- 15.6.2 从文件集合中创建映像文件
- 15.7 向CD-ROM写入映像文件
- 15.7.1 直接挂载ISO映像文件
- 15.7.2 擦除可读写CD-ROM
- 15.7.3 写入映像文件
- 15.8 附加认证
- 第16章 网络
- 16.1 检查、监测网络
- 16.1.1 ping——向网络主机发送特殊数据包
- 16.1.2 traceroute——跟踪网络数据包的传输路径
- 16.1.3 netstat——检查网络设置及相关统计数据
- 16.2 通过网络传输文件
- 16.2.1 ftp——采用FTP(文件传输协议)传输文件
- 16.2.2 lftp——更好的ftp(文件传输协议)
- 16.2.3 wget——非交互式网络下载工具
- 16.3 与远程主机的安全通信
- 16.3.1 ssh——安全登录远程计算机
- 16.3.2 scp和sftp——安全传输文件
- 第17章 文件搜索
- 17.1 locate——较简单的方式查找文件
- 17.2 find——较复杂的方式查找文件
- 17.2.1 test选项
- 17.2.2 action选项
- 17.2.3 返回到playground文件夹
- 17.2.4 option选项
- 第18章 归档和备份
- 18.1 文件压缩
- 18.1.1 gzip——文件压缩与解压缩
- 18.1.2 bzip2——牺牲速度以换取高质量的数据压缩
- 18.2 文件归档
- 18.2.1 tar——磁带归档工具
- 18.2.2 zip——打包压缩文件
- 18.3 同步文件和目录
- 18.3.1 rsync——远程文件、目录的同步
- 18.3.2 在网络上使用rsync命令
- 第19章 正则表达式
- 19.1 什么是正则表达式
- 19.2 grep——文本搜索
- 19.3 元字符和文字
- 19.4 任意字符
- 19.5 锚
- 19.6 中括号表达式和字符类
- 19.6.1 否定
- 19.6.2 传统字符范围
- 19.6.3 POSIX字符类
- 19.7 POSIX基本正则表达式和扩展正则表达式的比较
- 19.8 或选项
- 19.9 限定符
- 19.9.1 ?——匹配某元素0次或1次
- 19.9.2 *——匹配某元素多次或零次
- 19.9.3 +——匹配某元素一次或多次
- 19.9.4 {}——以指定次数匹配某元素
- 19.10 正则表达式的应用
- 19.10.1 用grep命令验证号码簿
- 19.10.2 用find查找奇怪文件名的文件
- 19.10.3 用locate查找文件
- 19.10.4 利用less和vim命令搜索文本
- 19.11 本章结尾语
- 第20章 文本处理
- 20.1 文本应用程序
- 20.1.1 文件
- 20.1.2 网页
- 20.1.3 电子邮件
- 20.1.4 打印机输出
- 20.1.5 程序源代码
- 20.2 温故以求新
- 20.2.1 cat——进行文件之间的拼接并且输出到标准输出
- 20.2.2 sort——对文本行进行排序
- 20.2.3 uniq——通知或省略重复的行
- 20.3 切片和切块
- 20.3.1 cut——删除文本行中的部分内容
- 20.3.2 paste——合并文本行
- 20.3.3 join——连接两文件中具有相同字段的行
- 20.4 文本比较
- 20.4.1 comm——逐行比较两个已排序文件
- 20.4.2 diff——逐行比较文件
- 20.4.3 patch——对原文件进行diff操作
- 20.5 非交互式文本编辑
- 20.5.1 tr——替换或删除字符
- 20.5.2 sed——用于文本过滤和转换的流编辑器
- 20.5.3 aspell——交互式拼写检查工具
- 20.6 本章结尾语
- 20.7 附加项
- 第21章 格式化输出
- 21.1 简单的格式化工具
- 21.1.1 nl——对行进行标号
- 21.1.2 fold——将文本中的行长度设定为指定长度
- 21.1.3 fmt——简单的文本格式化工具
- 21.1.4 pr——格式化打印文本
- 21.1.5 printf——格式化并打印数据
- 21.2 文档格式化系统
- 21.2.1 roff和TEX家族
- 21.2.2 groff——文档格式化系统
- 21.3 本章结尾语
- 第22章 打印
- 22.1 打印操作简史
- 22.1.1 灰暗时期的打印
- 22.1.2 基于字符的打印机
- 22.1.3 图形化打印机
- 22.2 Linux方式的打印
- 22.3 准备打印文件
- 22.3.1 pr——将文本文件转换为打印文件
- 22.4 向打印机发送打印任务
- 22.4.1 lpr——打印文件(Berkeley类型)
- 22.4.2 lp——打印文件(System V类型)
- 22.4.3 另外一个参数选项:a2ps
- 22.5 监测和控制打印任务
- 22.5.1 lpstat——显示打印系统状态
- 22.5.2 lpq——显示打印队列状态
- 22.5.3 lprm与cancel——删除打印任务
- 第23章 编译程序
- 23.1 什么是编译
- 23.2 是不是所有的程序都需要编译
- 23.3 编译一个C程序
- 23.3.1 获取源代码
- 23.3.2 检查源代码树
- 23.3.3 生成程序
- 23.3.4 安装程序
- 23.4 本章结尾语
- 第四部分 编写shell脚本
- 第24章 编写第一个shell脚本
- 24.1 什么是shell脚本
- 24.2 怎样写shell脚本
- 24.2.1 脚本文件的格式
- 24.2.2 可执行权限
- 24.2.3 脚本文件的位置
- 24.2.4 脚本的理想位置
- 24.3 更多的格式诀窍
- 24.3.1 长选项名
- 24.3.2 缩进和行连接
- 24.5 本章结尾语
- 第25章 启动一个项目
- 25.1 第一阶段:最小的文档
- 25.2 第二阶段:加入一点数据
- 25.3 变量和常量
- 25.3.1 创建变量和常量
- 25.3.2 为变量和常量赋值
- 25.4 here文档
- 25.5 本章结尾语
- 第26章 自顶向下设计
- 26.1 shell函数
- 26.2 局部变量
- 26.3 保持脚本的运行
- 26.4 本章结尾语
- 第27章 流控制:IF分支语句
- 27.1 使用if
- 27.2 退出状态
- 27.3 使用test命令
- 27.3.1 文件表达式
- 27.3.2 字符串表达式
- 27.3.3 整数表达式
- 27.4 更现代的test命令版本
- 27.5 (( ))——为整数设计
- 27.6 组合表达式
- 27.7 控制运算符:另一种方式的分支
- 27.8 本章结尾语
- 第28章 读取键盘输入
- 28.1 read——从标准输入读取输入值
- 28.1.1 选项
- 28.1.2 使用IFS间隔输入字段
- 28.2 验证输入
- 28.3 菜单
- 28.4 本章结尾语
- 28.5 附加项
- 第29章 流控制:WHILE和UNTIL循环
- 29.1 循环
- 29.2 while
- 29.3 跳出循环
- 29.4 until
- 29.5 使用循环读取文件
- 29.6 本章结尾语
- 第30章 故障诊断
- 30.1 语法错误
- 30.1.1 引号缺失
- 30.1.2 符号缺失冗余
- 30.1.3 非预期的展开
- 30.2 逻辑错误
- 30.2.1 防御编程
- 30.2.2 输入值验证
- 30.3 测试
- 30.3.1 桩
- 30.3.2 测试用例
- 30.4 调试
- 30.4.1 找到问题域
- 30.4.2 追踪
- 30.4.3 运行过程中变量的检验
- 30.5 本章结尾语
- 第31章 流控制:case分支
- 31.1 case
- 31.1.1 模式
- 31.1.2 多个模式的组合
- 31.2 本章结尾语
- 第32章 位置参数
- 32.1 访问命令行
- 32.1.1 确定实参的数目
- 32.1.2 shift——处理大量的实参
- 32.1.3 简单的应用程序
- 32.1.4 在shell函数中使用位置参数
- 32.2 处理多个位置参数
- 32.3 更完整的应用程序
- 32.4 本章结尾语
- 第33章 流控制:for循环
- 33.1 for:传统shell形式
- 33.2 for:C语言形式
- 33.3 本章结尾语
- 第34章 字符串和数字
- 34.1 参数扩展(Parameter Expansion)
- 34.1.1 基本参数
- 34.1.2 空变量扩展的管理
- 34.1.3 返回变量名的扩展
- 34.1.4 字符串操作
- 34.2 算术计算和扩展
- 34.2.1 数字进制
- 34.2.2 一元运算符
- 34.2.3 简单算术
- 34.2.4 赋值
- 34.2.5 位操作
- 34.2.6 逻辑操作
- 34.3 bc:一种任意精度计算语言
- 34.3.1 bc的使用
- 34.3.2 脚本例子
- 34.4 本章结尾语
- 34.5 附加项
- 第35章 数组
- 35.1 什么是数组
- 35.2 创建一个数组
- 35.3 数组赋值
- 35.4 访问数组元素
- 35.5 数组操作
- 35.5.1 输出数组的所有内容
- 35.5.2 确定数组元素的数目
- 35.5.3 查找数组中使用的下标
- 35.5.4 在数组的结尾增加元素
- 35.5.5 数组排序操作
- 35.5.6 数组的删除
- 35.6 本章结尾语
- 第36章 其他命令
- 36.1 组命令和子shell
- 36.1.1 执行重定向
- 36.1.2 进程替换
- 36.2 trap
- 36.3 异步执行
- 36.4 命名管道
- 36.4.1 设置命名管道
- 36.4.2 使用命名管道
- 36.5 本章结尾语