内容简介
上篇 Linux命令
第1章 Linux简介
1.1 Linux起源及特点
1.1.1 Linux起源
1.1.2 Linux特点及主要优势
1.2 Linux版本发展
1.2.1 Linux内核版本
1.2.2 Linux发行版本
1.3 Linux与自由软件
1.3.1 GNU与FSF
1.3.2 GPL与Copyright
第2章 初识Linux
2.1 Red Hat Linux的发展历史
2.2 RedHatLinux的安装
2.2.1 硬件需求
2.2.2 安装方式
2.2.3 安装过程
2.3 登录Linux
2.3.1 Linux的启动过程
2.3.2 以图形方式登录Linux
2.3.3 设置文本登录模式
2.3.4 以文本方式登录Linux
2.3.5 login命令:登录系统
2.3.6 startx命令:启动图形界面
2.3.7 xset命令:设置X-windows
2.4 Linux的终端命令窗口
2.4.1 在桌面系统中使用虚拟终端
2.4.2 终端窗口的常规操作
2.5 命令行自动补全
2.5.1 环境变量名补全
2.5.2 用户名补全
2.5.3 命令、别名或函数的名字补全
2.5.4 主机名补全
2.6 退出Linux
2.6.1 shutdown命令:关机或重新启动
2.6.2 halt命令:关闭系统
2.6.3 reboot命令:重新启动系统
2.6.4 exit命令:重新登录
2.6.5 logout命令:注销用户
2.7 联机帮助命令man
2.7.1 命令格式
2.7.2 常规操作
2.7.3 按章节查询
2.7.4 man文件的输出
2.8 其他联机帮助命令
2.8.1 apropos命令:基于字符串查找whatis数据库
2.8.2 help命令:显示内建命令的帮助信息
2.8.3 info命令:查看info格式帮助信息
2.8.4 whereis命令:查询文件存储位置
2.8.5 whatis命令:查找简洁的帮助信息
第3章 系统管理与设置
3.1 常用的信息显示命令
3.1.1 arch命令:显示主机的体系结构
3.1.2 cal命令:显示日历
3.1.3 cat/proc/meminfo:查看内存使用情况
3.1.4 cat/proc/modules:查看当前系统模块
3.1.5 cat/proc/version:查看当前系统版本
3.1.6 cat/proc/partitions:查看当前系统分区
3.1.7 cat/etc/issue命令:显示当前系统的发行版本
3.1.8 cat/proc/cpuinfo命令:显示CPU信息
3.1.9 cat/proc/interrupts命令:显示中断信息
3.1.10 cat/proc/filesystems命令:显示文件系统信息
3.2.11 date命令:显示或设置系统时间
3.1.12 dmesg:显示启动信息
3.1.13 echo命令:显示文本行
3.1.14 free命令:显示内存信息
3.1.15 fgconsole命令:显示活动的虚拟终端数目
3.1.16 fuser命令:用文件或套接口识别进程
3.1.17 gdialog命令:从Shell创建对话框
3.1.18 history命令:显示历史指令
3.1.19 hostname命令:显示或设置当前系统的主机名
3.1.20 hash命令:显示、添加或清除哈希表
3.1.21 hwclock命令:显示和设置硬件时钟
3.1.22 ipcs命令:显示IPC设备信息
3.1.23 isosize命令:显示iso9660文件系统大小
3.1.24 jobs命令:显示工作清单
3.1.25 lsmod命令:显示所有已加载的模块
3.1.26 locale命令:显示当前系统的语言设置
3.1.27 mesg命令:显示信息
3.1.28 minfo命令:显示ms-dos文件系统的各项参数
3.1.29 modinfo命令:显示内核模块信息
3.1.30 mev命令:监视鼠标情况
3.1.31 pstree命令:以树状图显示程序
3.1.32 pwd命令:显示当前目录
3.1.33 proc文件系统:查看系统内核信息
3.1.34 ps命令:报告程序状况
3.1.35 pmap命令:显示程序的内存信息
3.1.36 procinfo命令:显示系统状态信息
3.1.37 pwd命令:显示当前目录
3.1.38 rulevel命令:显示系统运行级别
3.1.39 sysctl命令:设置系统核心参数
3.1.40 stat命令:显示文件/文件系统的详细信息
3.1.41 top命令:显示进程信息
3.1.42 time命令:显示进程执行时间
3.1.43 tload命令:显示系统负载
3.1.44 uptime命令:显示系统的运行信息
3.1.45 uname命令:显示操作系统信息
3.1.46 vmstat命令:显示虚拟内存的统计信息
3.1.47 yes命令:连续输出给定的字符串
3.2 常用的系统管理命令
3.2.1 apm命令:高级电源管理
3.2.2 apmd命令:高级电源管理守护进程
3.2.3 apmsleep命令:设置挂起、待机及唤醒
3.2.4 bg命令:将程序放在后台执行
3.2.5 clsh命令:改变登录系统时的Shell
3.2.6 clear命令:清除终端屏幕
3 2.7 depmod命令:检查模块依赖关系
3.2.8 exec命令:执行完命令后,交出控制权
3.2.9 fc命令:修改并执行命令
3.2.10 fg命令:将后台任务放到前台
3.2.11 gcov命令:coverage测试工具
3.2.12 init命令:所有进程的父进程
3.2.13 ipcrm命令:删除消息队列、信号量或共享内存的ID
3.2.14 kill命令:杀死进程
3.2.15 killall命令:杀死同名的所有进程
3.2.16 logrotate命令:处理log文件
3.2.17 mtools:软盘操作命令集
3.2.18 nice命令:设定进程优先级
3.2.19 nohup命令:退出系统继续执行命令
3.2.20 ntsysv命令:设置系统的各种服务
3.2.21 open命令:开启虚拟终端
3.2.22 pgrep命令:查找符合条件的进程
3.2.23 pidof命令:显示当前正在运行程序的进程ID
3.2.24 pkill命令:杀死进程
3.2.25 pwck命令:检查密码文件
3.2.26 rlogin命令:远端登录
3.2.27 renice命令:对进程优先级进行调整
3.2.28 rmmod命令:删除模块
3.2.29 rsh命令:远端登录的Shell
3.2.30 screen命令:多重视窗管理程序
3.2.31 sleep命令:休眠
3.2.32 sudo命令:以其他身份来执行命令
3.2.33 suspend命令:暂停执行Shell
3.2.34 symlinks命令:管理和维护符号链接
3.2.35 vlock命令:锁定终端
3.2.36 wait命令:等待程序返回状态
3.2.37 watch命令:重复执行命令并将结果输出
3.2.38 &命令:将任务放到后台执行
3.3 常用的系统维护命令
3.3.1 alias命令:设置命令的别名
3.3.2 aumix命令:设置音效装置
3.3.3 authconfig命令:配置系统的认证资源
3.3.4 bind命令:显示或设置按键组合
3.3.5 chkconfig命令:设置和检查系统的服务设置
3.3.6 declare命令:显示或设置Shell变量
3.3.7 dircolors命令:设置ls命令显示的颜色
3.3.8 enable命令:开动或关闭Shell内置命令
3.3.9 eval命令:连续执行多个命令
3.3.10 export命令:设置或显示环境变量
3.3.11 false命令:返回值为失败
3.3.12 fbset命令:显示或设置帧缓存
3.3.13 hostid命令:显示出当前主机的数字标识
3.3.14 insmod命令:载入模块
3.3.15 ldconfig命令:配置动态链接绑定
3.3.16 ldd命令:显示共享库文件的相互依赖关系
3.3.17 lilo命令:安装启动装载程序
3.3.18 losetup命令:设置和控制循环设备
3.3.19 mkraid命令:初始化或升级raid
3.3.20 modprobe命令:自动处理可载入模块
3.3.21 mouseconfig命令:设置鼠标相关参数
3.3.22 resize命令:设置终端视窗的大小
3.3.23 rpm命令:管理RPM包
3.3.24 setserial命令:设置或显示串口的信息
3.3.25 setup命令:设置公用程序
3.3.26 swapoff命令:卸载交换区(swap area)
3.3.27 swapon命令:加载交换区(swap area)
3.3.28 set命令:设置Shell执行方式
3.3.29 telinit命令:设置系统的运行等级
3.3.30 true命令:返回值为成功
3.3.31 ulimit命令:控制Shell及进程的资源
3.3.32 unalias命令:取消指定的别名
3.3.33 unset命令:删除变量或函数
3.3.34 up2date命令:升级Red HatLinux系统
3.4 自动作业处理
3.4.1 crontab命令:设置定时执行
3.4.2 anacron命令:任务调度守护进程
3.4.3 at命令:系统将执行的任务排队
3.4.4 atd命令:执行已经排队的任务
3.4.5 atq命令:检查排队的任务
3.4.6 atrm命令:删除已经排队的任务
3.4.7 atrun命令:执行已排队的任务
3.4.8 batch命令:批处理
3.5 系统日志
3.5.1 syslogd命令:启动syslog日志进程
3.5.2 syslog.conf:系统日志配置文件
3.5.3 logger命令:测试syslog.conf
3.5.4 使用echo命令清空日志
第4章 用户和用户组管理
4.1 普通用户的管理
4.1.1 解析/etc/passwd文件
4.1.2 解析/etc/shadow文件
4.1.3 pwconv命令:创建影子文件
4.1.4 pwunconv命令:从影子文件恢复密文
4.1.5 useradd命令:添加新用户
4.1.6 usermod命令:修改用户的账号
4.1.7 userdel命令:删除用户
4.1.8 passwd命令:修改用户密码
4.1.9 newusers命令:批量创建用户
4.1.10 chpasswd命令:批量创建用户密码
4.1.11 chage命令:查看账户密码的有效期
4.2 根用户的管理
4.2.1 su命令:变更用户身份
4.2.2 以单用户模式解决root密码丢失问题
4.2.3 以救援模式解决root密码丢失问题
4.2.4 chroot命令:改变根目录
4.3 用户组的管理
4.3.1 解析/etc/group与/etc/gshadow文件
4.3.2 groupadd命令:添加新用户组
4.3.3 groupmod命令:修改用户组属性
4.3.4 groupdel命令:删除用户组
4.3.5 newgrp命令:切换所属用户组
4.4 用户和用户组管理的安全防范措施
4.4.1 ac命令:统计用户连接时间
4.4.2 last命令:查询最近的使用者登录时间
4.4.3 lastb命令:显示最近登录系统失败的用户信息
4.4.4 who命令:查询当前系统中登录的用户
4.4.5 w命令:查看登录用户及其进行的操作
4.4.6 使用userdel和groupdel命令删除不需要的用户和用户组
4.5 其他用户和用户组管理的常用命令
4.5.1 finger命令:查找并显示用户信息
4.5.2 groups命令:显示指定用户所属的用户组
4.5.3 id命令:显示用户的UID、GID
4.5.4 logname命令:显示登录用户的用户名
4.5.5 newgrp命令:修改用户的用户组
4.5.6 rwho命令:查看登录本地的用户信息
4.5.7 users命令:显示当前登录的用户
4.5.8 write命令:将信息实时传递给登录的用户或终端
4.5.9 whoami命令:显示当前用户的信息
4.6 用户及用户组管理命令的综合应用
4.6.1 解决/etc/nologin文件引起的普通用户无法登录问题
4.6.2 创建用户共享目录
4.6.3 对/etc/shadow文件的编辑导致用户密码丢失
第5章 磁盘管理
5.1 Linux磁盘分区工具
5.1.1 Linux磁盘分区简介
5.1.2 fdisk命令:磁盘分区工具
5.1.3 fdisk命令交互模式
5.1.4 使用fdisk划分磁盘分区实例
5.1.5 parted命令:磁盘分区工具
5.1.6 parted命令交互模式
5.1.7 sfdisk命令:Linux分区工具
5.2 常用的磁盘管理命令
5.2.1 badblocks命令:检查设备坏块
5.2.2 du命令:统计文件和目录占用的磁盘空间
5.2.3 df命令:显示文件系统磁盘空间使用情况
5.2.4 fdformat命令:格式化磁盘
5.2.5 hdparm命令:显示和设定硬盘参数
5.2.6 mkswap命令:设置交换分区(swap area)
5.2.7 mkisofs命令:建立ISO9660/JOLIET/HFS文件系统
5.2.8 mkinitrd命令:创建ramdisk的镜像文件
5.2.9 mt命令:磁带驱动操作
5.2.10 mzip命令:弹出zip/jaz设备中的磁盘
5.2.11 sync命令:将缓冲区内的数据写入磁盘
5.2.12 rsync命令:远程同步
5.3 磁盘配额管理
5.3.1 磁盘配额的系统配置
5.3.2 edquota命令:对用户或用户组设置磁盘配额
5.3.3 quota命令:显示磁盘已使用的空间与配额限制
5.3.4 quotacheck命令:检查磁盘的使用空间与限制
5.3.5 quotaoff命令:关闭磁盘空间限制
5.3.6 quotaon命令:启动磁盘空间配额限制
5.3.7 quotastats命令:显示磁盘空间的限制
5.3.8 repquota命令:对文件系统的磁盘配额情况进行统计
5.4 逻辑卷管理(LVM)
5.4.1 pvdisplay命令:查看组成LVM卷的物理卷
5.4.2 pvcreate命令:创建物理卷
5.4.3 vgcreate命令:创建卷组
5.4.4 vgextend命令:在卷组里添加一个新的物理卷
5.4.5 lvcreate命令:创建一个逻辑卷
5.5 磁盘管理命令的综合应用
5.5.1 添加新磁盘
5.5.2 无法使用全部硬盘空间
第6章 文件和目录管理
6.1 文件系统的概念
6.2 文件系统的组织方式
6.3 系统的默认安装目录
6.4 文件系统的类型
6.5 文件系统的组成
6.6 文件的类型
6.7 创建Linux文件系统
6.7.1 mkfs命令:创建文件系统
6.7.2 mkbootdisk命令:建立目前系统的启动盘
6.8 文件和目录的权限
6.8.1 权限的常规表示
6.8.2 chmod命令:权限设置与修改
6.8.3 使用chomd命令设置特殊权限
6.8.4 umask命令:设置文件或目录的默认权限
6.8.5 setfacl命令:设置访问控制列表ACL
6.9 修复受损的文件系统
6.9.1 fsck命令:检测文件系统并尝试修复错误
6.9.2 e2fsck命令:检查ex2文件系统
6.10 mount与umount命令
6.10.1 mount命令格式
6.10.2 umount命令格式
6.10.3 软盘的挂载与卸载
6.10.4 CDROM的挂载与卸载
6.10.5 USB存储设备的挂载与卸载
6.1l 其他文件和目录管理常用命令
6.11.1 文件和目录操作中常用的通配符
6.11.2 attr命令:XFS文件系统对象的扩展属性
6.11.3 basename命令:显示文件或目录的基本名称
6.11.4 cd命令:改变目录
6.11.5 cp命令:复制文件
6.11.6 chattr命令:改变文件的属性
6.11.7 cksum命令:文件的CRC校验
6.11.8 chown命令:改变所有者
6.11.9 chgrp命令:更换用户组
6.11.10 dirname命令:显示文件的除名字外的路径
6.11.11 fold命令:自动换行以适应指定列宽
6.11.12 find命令:查找目录或文件
6.11.13 file命令:显示文件类型
6.11.14 filterdiff命令:从diff文件中提取或去除差异
6.11.15 findfs命令:通过卷标或UUID查找文件系统
6.11.16 locate命令:定位文件或目录
6.11.17 ls或dir命令:列目录
6.11.18 ln命令:链接文件或目录
6.11.19 lndir命令:建立到目录的符号链接
6.11.20 lsattr命令:显示文件属性
6.11.21 mkfontdir命令:创建x字体文件目录
6.11.22 msgcat命令:合并消息
6.11.23 msgcomm命令:匹配消息
6.11.24 msgen命令:创建英语消息目录
6.11.25 msginit命令:初始化消息目录
6.11.26 mkdir命令:创建目录
6.11.27 mv命令:移动或更名现有的文件或目录
6.11.28 mattrib命令:修改或显示MS-DOS文件的属性
6.11.29 mc命令:可视化文件管理程序
6.11.30 mcopy命令:复制MS-DOS文件到UNIX或从UNIX复制MS-DOS文件
6.11.31 md5sum命令:计算和检测MD5信息摘要
6.11.32 mdel命令:MS-DOS文件删除
6.11.33 mdir命令:显示MS-DOS目录
6.11.34 mktemp命令:建立暂存文件
6.11.35 mmove命令:移动MS-DOS文件
6.11.36 mren命令:更改MS-DOS文件名称
6.11.37 mshowfat命令:显示分配给文件的FAT簇信息
6.11.38 mtools命令:显示mtools支持的命令
6.11.39 mtoolstest命令:测试并显示mtools的相关设置
6.11.40 paste命令:对文件进行纵向合并
6.11.41 rcp命令:远端复制文件或目录
6.11.42 rm命令:删除文件或目录
6.11.43 rmdir命令:删除目录
6.11.44 slocate命令:安全查找文件或目录
6.11.45 split命令:切割文件
6.11.46 stat命令:显示inode内容
6.11.47 scp命令:远程复制文件
6.11.48 sum命令:计算文件的校验码
6.11.49 tmpwatch命令:删除临时文件
6.11.50 touch命令:更新文件或目录时间
6.11.51 tree命令:以树状图显示目录内容
6.11.52 which命令:查找文件
6.12 文件和目录管理命令的综合应用
6.12.1 无法卸载已挂载的文件系统
6.12.2 查询设备上采用的未知文件系统
6.12.3 恢复已删除的文件
6.12.4 无法引导文件系统
第7章 备份与压缩
7.1 Linux备份与压缩的策略
7.2 tar命令
7.2.1 打包和解包的常规操作
7.2.2 查看tar包中的内容
7.2.3 打包链接文件
7.2.4 向包中添加新文件
7.2.5 生成.tar.gz压缩包
7.3 gzip与gunzip命令
7.3.1 常规压缩与解压缩操作
7.3.2 查看.gz压缩包中的内容
7.3.3 自定义压缩包后缀
7.3.4 zcat命令:显示压缩文件内容
7.4 zip与unzip命令
7.4.1 使用zip生成压缩包
7.4.2 使用unzip进行解压缩
7.4.3 zipinfo命令:显示压缩文件信息
7.5 bzip2与bunzip2命令
7.5.1 使用bzip2生成压缩包
7.5.2 使用bunzip2进行解压缩
7.5.3 bzip2recover命令:恢复损坏的bzip2文件
7.6 dump与restore命令
7.6.1 使用dump制作备份
7.6.2 使用restore恢复备份
7.7 compress与uncompress命令
7.7.1 使用compress生成压缩文件
7.7.2 使用uncompress进行解压缩
7.8 其他常用备份与压缩命令
7.8.1 ar命令:从归档文件中建立、修改或提取文件
7.8.2 cpio命令:备份文件
7.8.3 dd命令:磁盘复制命令
7.8.4 使用cp命令制作软盘镜像
7.8.5 使用cp命令制作光盘镜像
7.8.6 lha命令:压缩或解压缩lhz文件
7.8.7 unarj命令:解压文件
第8章 网络管理与相关应用
8.1 计算机网络的发展
8.2 网络基本类型
8.2.1 按地理覆盖范围
8.2.2 按拓扑结构
8.3 网络体系结构
8.3.1 OSI/RM参考模型
8.3.2 TCP/IP参考模型
8.4 网络配置基本内容
8.4.1 主机名
8.4.2 IP地址
8.4.3 子网与子网掩码(subnet mask)
8.4.4 广播地址(broadcast address)
8.4.5 网关地址(gateway)
8.4.6 域名服务器地址(DNS)
8.4.7 DHCP服务器
8.5 网络管理常用命令
8.5.1 apachectl命令:apache HTTP服务器控制接口
8.5.2 arp命令:控制系统ARP缓存
8.5.3 arpwatch命令:监听ARP记录
8.5.4 arping命令:向邻居主机发送ARP请求
8.5.5 cu命令:调用其他主机系统
8.5.6 gaim命令:即时信息传输客户端
8.5.7 hostname命令
8.5.8 host命令:dns查询
8.5.9 httpd命令:apache http服务器程序
8.5.10 ifup命令
8.5.11 ifdown命令
8.5.12 ifconfig命令:显示或配置网络设备
8.5.13 iptables命令:ipv4的包过滤和nat的管理
8.5.14 iptables-save命令:保存ip表
8.5.15 iwconfig命令:配置无线网络设备
8.5.16 mesg命令:控制终端的写入操作
8.5.17 mingetty命令:精简版的agetty
8.5.18 minicom命令:串口通信程序
8.5.19 mkfifo命令:创建管道
8.5.20 mtr命令:网络诊断工具
8.5.21 nc命令:TCP/UDP连接与侦听
8.5.22 netconfig命令:设置各项网络功能
8.5.23 netstat命令:显示网络状态
8.5.24 nslookup命令:查询DNS
8.5.25 route命令:显示并设置路由
8.5.26 ping命令:检测主机(ipv4)
8.5.27 ping6命令:检测主机(ipv6)
8.5.28 pppd命令:点对点连接的守护进程
8.5.29 pppstats命令:显示PPP统计信息
8.5.30 rdate命令:通过网络获取时间
8.5.31 smbd命令:Samba服务端
8.5.32 ssh命令:远程登录程序(ssh客户端)
8.5.33 statserial命令:显示串口连接状态
8.5.34 slm命令:新闻阅读程序
8.5.35 talk命令:与其他用户交谈
8.5.36 tcpdump命令:显示网络中的TCP数据包
8.5.37 telnet命令:使用telnet进行远程登录
8.5.38 testparm命令:测试samba配置文件
8.5.39 tracepath命令:追踪路径
8.5.40 traceroute命令:显示到达目标网络主机的路由包
8.5.41 tty命令:显示标准输入设备名称
8.5.42 wall命令:发送信息
8.5.43 wget命令:从互联网上下载资源
8.5.44 ytalk命令:多用户聊天程序
8.6 FTP常用命令
8.6.1 ftp命令:文件传输协议
8.6.2 ncftp命令:传输文件
8.6.3 ncftpget命令:下载文件
8.6.4 ncftpls命令:显示文件目录
8.6.5 ncftpput命令:上传文件
8.6.6 tftp命令:传输文件
8.7 UUCP常用命令
8.7.1 uucico命令:UUCP文件传输守护进程
8.7.2 uucp命令:在UNIX系统间传送文件
8.7.3 uupick命令:处理UUCP文件
8.7.4 uuto命令:文件传送到远端主机
8.7.5 uulog命令:显示uucp日志信息
8.7.6 uuname命令:显示uucp远端主机
8.7.7 uustat命令:显示UUCP状态
8.7.8 uux命令:通过UUCP在远端主机上执行命令
8.8 电子邮件
8.8.1 fetchmail命令:收取邮件
8.8.2 mail命令:收发邮件
8.8.3 mailq命令:显示发件箱的邮件
8.8.4 mutt命令:Mutt用户邮件代理
8.8.5 pine命令:收发邮件
8.9 利用常用命令分析局域网连通故障
中篇 编辑器
第9章 正则表达式
9.1 正则表达式介绍
9.2 元字符
9.2.1 元字符的定义
9.2.2 元字符的应用示例
9.3 字符集和类
9.3.1 字符集和类的定义
9.3.2 元字集和类的应用示例
9.4 重复
9.4.1 重复的定义
9.4.2 重复的应用示例
9.5 子表达式
9.5.1 子表达式的定义
9.5.2 子表达式的应用示例
9.6 定位字符串的开始和末尾
9.6.1 开始和末尾的定义
9.6.2 开始和末尾的应用示例
9.7 分支
9.7.1 分支的定义
9.7.2 分支的应用示例
9.8 匹配特殊字符
第10章 vi(vim)编辑器
10.1 vi(vim)编辑器的历史
10.2 启动与退出vi(vim)
10.2.1 启动vi(vim)
10.2.2 退出vi(vim)
10.3 vi(vim)的运行模式
10.3.1 命令模式
10.3.2 插入模式
10.3.3 末行模式
10.4 vi(vim)中的常用命令
10.4.1 插入文本命令
10.4.2 附加文本命令
10.4.3 添加新行命令
10.4.4 光标移动命令
10.4.5 删除命令
10.4.6 修改命令
10.4.7 更改大小写命令
10.4.8 替换命令
10.4.9 合并命令
10.4.10 句点命令
10.4.11 撤销命令
10.4.12 查找字符命令
10.4.13 读入文件命令
10.4.14 写入文件命令
10.4.15 定位到指定行命令
10.4.16 复制命令
10.4.17 粘贴命令
10.4.18 重复命令
10.4.19 显示状态信息命令
10.4.20 保存和退出命令
10.5 查找与替换字符串
10.5.1 普通查找与增量查找
10.5.2 替换字符串
10.6 窗口操作
10.6.1 窗口操作的快捷方式
10.6.2 窗口水平拆分
10.6.3 窗口垂直拆分
10.6.4 关闭窗口
10.7 使用Shell命令
10.7.1 启动一个新Shell
10.7.2 在vi(vim)中执行Shell
10.8 其他常用操作
10.8.1 屏幕重绘
10.8.2 滚动屏幕
10.8.3 建立和使用标记
10.9 获得帮助
第11章 emacs编辑器
11.1 emacs概述
11.1.1 emacs简介
11.1.2 启动和退出
11.1.3 新建一个文件
11.1.4 保存文件
11.2 文件编辑
11.2.1 按键的表示与使用
11.2.2 光标的移动
11.2.3 输入文本
11.2.4 文本的删除
11.2.5 查找和替换
11.3 缓冲区和窗口
11.3.1 拆分窗口
11.3.2 同时使用多个缓冲区进行工作
11.3.3 在缓冲区中滚动
11.4 emacs的扩展工具
11.4.1 显示日历
11.4.2 执行Shell命令
11.4.3 调用游戏
第12章 grep命令
12.1 grep介绍
12.1.1 grep的含义
12.1.2 grep的工作原理
12.2 grep与正则表达式
12.2.1 grep的正则表达式元字符
12.2.2 grep正则实例
12.3 grep的选项
12.4 使用管道的grep
12.5 grep的退出状态
12.6 egrep与fgrep
12.6.1 egrep
12.6.2 fgrep
第13章 gawk与sed
13.1 过滤器gawk
13.1.1 gawk概述
13.1.2 gawk的语法
13.1.3 awk的语言基础
13.1.4 模式
13.1.5 动作
13.1.6 注释
13.1.7 变量
13.1.8 记录和字段
13.1.9 输出字段分隔符
13.1.10 重定向输出
13.1.11 函数
13.1.12 关联数组
13.1.13 printf命令:格式化输出
13.1.14 关系运算符
13.1.15 算术运算符
13.1.16 gawk的流程控制
13.1.17 getline:控制输入
13.1.18 协进程
13.1.19 从网络获取数据
13.1.20 gawk的应用示例
13.2 流编辑器sed
13.2.1 sed的基本语法
13.2.2 sed编辑器基础
13.2.3 地址
13.2.4 指令
13.2.5 打印:P指令
13.2.6 删除:d指令
13.2.7 追加:a指令
13.2.8 插入:i指令
13.2.9 修改:c指令
13.2.10 退出:q指令
13.2.11 替换:s指令
13.2.12 下一条:n指令
13.2.13 从文件读入:r指令
13.2.14 写入文件:w指令
13.2.15 sed的控制结构
13.2.16 Pattern区和Hold区
13.2.17 sed的应用示例
第14章 其他常用的文本编辑命令
14.1 aspell命令:检查文件的拼写错误
14.2 cat命令:显示文本内容
14.3 cmp命令:比较文件差异
14.4 csplit命令:按指定行数分割文件
14.5 cut命令:文件剪切
14.6 col命令:过滤控制字符
14.7 colrm命令:删除指定的列
14.8 comm命令:对已排序文件逐行进行比较
14.9 diff命令:文件比较
14.10 diffstat命令:diff结果的统计信息
14.11 ed命令:行文本编辑器
14.12 fmt命令:编排文本文件
14.13 gedit命令:gnome的文本编辑器
14.14 head命令:从开始显示指定行
14.15 indent命令:调整c原始代码文件的格式
14.16 jed命令:编辑文本文件
14.17 joe命令:编辑文本文件
14.18 join命令:基于相同字段连接两个文件
14.19 less命令:前后翻阅文本内容
14.20 more命令:分屏显示文本内容
14.21 od命令:输出文件内容
14.22 pr命令:编排文件格式
14.23 patch命令:修补文件
14.24 pico命令:编辑文字文件
14.25 sort命令:文件排序
14.26 spell命令:简单的拼写检查程序
14.27 tail命令:显示文件的末尾部分
14.28 tac命令:反序输出文件
14.29 tee命令:读取标准输入到标准输出或文件
14.30 tr命令:转换文件中的字符
14.31 uniq命令:检查文件中重复出现的行
14.32 view命令:查看文件内容
14.33 wc命令:计算文件的字数、字节数、行数
下篇 Shell编程
第15章 Shell编程基础
15.1 Shell概述
15.1.1 Shell的功能与定义
15.1.2 Shell的启动和退出
15.1.3 Shell脚本介绍
15.2 Shell分类
15.2.1 Bourne Shell
15.2.2 BourneAgain Shell
15.2.3 C Shell
15.2.4 Korn Shell
15.2.5 Perl Shell
15.3 Shell基础知识
15.3.1 区分大小写
15.3.2 Shell脚本中的注释
15.3.3 I/O重定向
15.3.4 管道(Pipe)
15.3.5 前台与后台
15.3.6 命令执行顺序
15.3.7 Shell通配符
15.3.8 单引号、双引号及反引号
15.3.9 指定使用的Shell
15.3.10 运行脚本
第16章 Shell变量及相关操作
16.1 Shell变量类型
16.1.1 环境变量
16.1.2 位置变量
16.1.3 预定义的特殊变量
16.1.4 用户自定义的变量
16.2 变量的操作
16.2.1 创建变量
16.2.2 区分变量名
16.2.3 删除变量
16.3 变量的赋值
16.3.1 使用read命令赋值
16.3.2 直接给变量赋值
16.3.3 使用命令行参数赋值
16.3.4 利用命令的输出结果赋值
16.3.5 从文件读入数据实现赋值
16.4 变量的输出
16.4.1 echo命令:直接输出变量的值
16.4.2 printf命令:格式化输出变量
16.5 数组变量
16.5.1 数组的定义
16.5.2 数组的复制
16.5.3 数组元素的个数
16.5.4 数组元素的长度
16.6 算术运算
16.6.1 expr命令
16.6.2 let命令
16.6.3 浮点算术运算
第17章 条件测试
17.1 Shell的测试命令
17.2 测试文件属性
17.2.1 测试文件存在并且是块设备
17.2.2 测试文件存在并且是字符设备
17.2.3 测试文件存在并且是目录
17.2.4 测试文件存在
17.2.5 测试文件存在并且可执行
17.3 测试数值
17.3.1 相等测试
17.3.2 不相等测试
17.3.3 大于测试
17.3.4 大于等于测试
17.3.5 小于测试
17.3.6 小于等于测试
17.4 测试字符串
17.4.1 相等测试
17.4.2 不相等测试
17.4.3 长度为零测试
17.4.4 长度不为零测试
17.4.5 非空测试
17.5 测试逻辑运算符
17.5.1 逻辑与测试
17.5.2 逻辑或测试
17.5.3 逻辑非测试
第18章 Shell的控制结构
18.1 if结构
18.1.1 if结构的语法格式
18.1.2 if...then...fi示例
18.1.3 if...then...else...fi示例
18.1.4 if...then...elif...示例
18.1.5 if嵌套
18.2 case结构
18.2.1 case结构的语法格式
18.2.2 case结构示例
18.2.3 case嵌套
18.3 select结构
18.3.1 select结构的语法格式
18.3.2 select结构示例
18.4 while循环
18.4.1 while语句的语法格式
18.4.2 while循环示例
18.4.3 while的嵌套
18.4.4 避免死循环
18.5 for循环
18.5.1 for循环语法结构
18.5.2 for循环示例
18.6 until循环
18.6.1 until循环的语法结构
18.6.2 until循环示例
18.7 break和continue语句
18.7.1 break语句
18.7.2 continue语句
第19章 函数
19.1 函数的定义
19.2 函数的调用
19.2.1 执行函数
19.2.2 函数参数传递
19.2.3 函数的返回值
19.2.4 载入函数
19.2.5 删除函数
19.3 函数的作用域
19.3.1 全局作用域
19.3.2 局部作用域
19.3.3 应用示例
19.4 函数的嵌套
19.5 函数的递归
第20章 Shell编程实例
20.1 判断文件类型
20.1.1 系统设计
20.1.2 代码实现
20.2 使用if语句编写选择菜单
20.2.1 系统设计
20.2.2 代码实现
20.3 使用while循环编写选择菜单
20.3.1 系统设计
20.3.2 代码实现
20.4 使用until循环编写选择菜单
20.4.1 系统设计
20.4.2 代码实现
20.5 对指定目录定时备份
20.5.1 系统设计
20.5.2 代码实现
20.6 连续对多个目录逐个备份
20.6.1 系统设计
20.6.2 代码实现
20.7 自动下载指定文档
20.7.1 系统设计
20.7.2 代码实现
20.8 自动上传指定文档
20.8.1 系统设计
20.8.2 代码实现
20.9 通过命令连续创建50个用户账号
20.9.1 系统设计
20.9.2 代码实现
20.10 通过操作文件创建多个用户
20.10.1 系统设计
20.10.2 代码实现
20.11 连续创建多个目录
20.11.1 系统设计
20.11.2 代码实现
20.12 检查系统资源使用情况
20.12.1 系统设计
20.12.2 代码实现
20.13 账户的一致性检查
20.13.1 系统设计
20.13.2 代码实现
20.14 文件类型转换
20.14.1 系统设计
20.14.2 代码实现
20.15 对输入的3个数字进行排序
20.15.1 系统设计
20.15.2 代码实现
20.16 计算奇数之和
20.16.1 系统设计
20.16.2 代码实现
20.17 使用select命令生成菜单
20.17.1 系统设计
20.17.2 代码实现
20.18 打印图形
20.18.1 系统设计
20.18.2 代码实现
20.19 处理压缩文件
20.19.1 系统设计
20.19.2 代码实现
20.20 数值进制转换
20.20.1 系统设计
20.20.2 代码实现
20.21 使用sed打印指定行
20.21.1 系统设计
20.21.2 代码实现
20.22 使用sed筛选普通文件
20.22.1 系统设计
20.22.2 代码实现
20.23 使用gawk反序输出各列
20.23.1 系统设计
20.23.2 代码实现
20.24 对文件进行大小写转换
20.24.1 系统设计
20.24.2 代码实现
20.25 统计文件中的文本信息
20.25.1 系统设计
20.25.2 代码实现