编辑推荐
                                    linux国际部执行总监作序推荐,解读98个核心实用程序列举了数百个紧贴实用的优质示例 Linux专家Mark G. Sobell撰写,经典名著升级版                 
内容简介
     最实用的Linux教程和参考书,包含数百个可用于所有Linux主流版本的优质示例
  《Linux命令、编辑器与shell编程(第3版)》的特色内容:
  带您初步领略广泛应用的关系型数据库管理系统MySQL
  精辟讲解Python,为系统管理员和高级用户提供指导
  新增内容包括单独的二进制实用程序集合busybox、终端会话管理器/复用器screen、文本文件管理器mc以及关于使用ssh实现安全通信的新章节深入讲解bash和tcsh,全面讨论环境、继承和进程本地性,介绍基础和高级shell编程知识解读98个核心实用程序,如aspell、xargs、pntf和sshfs/curlftpfs;还讨论Mac OS X特有的实用程序,如ditto和SetFife等
  关于使用rsync自动完成远程备份的专业指导
  数十个系统安全提示,包括使用ssh和scp实现安全通信的详细步骤
  关于定制shell的提示和技巧,包括步长值、序列表达式、eval内置命令和隐式命令行延续等
  使用vim和emacs的高效编辑技术
  使用apt-get和yum升级系统
  还包括BitTorrent、gawk、sed、find、sort、bzip2和正则表达式等内容
  新增了介绍Python和MySQL的章节,同时涵盖Perl!
  从数百个优质的实际范例中汲取知识,蜕变为一名真正的Linux命令行专家!
  新增busybox、Midnight Commander、screen和sshfs/curlftpf等主题。
  介绍Mac OS X命令行及其独特工具。
  “命令参考”部分涵盖98个实用程序,包括Mac OS X命令!     
作者简介
     Linux是当今的主要Internet服务器平台。系统管理员和Web开发者需要熟谙Linux,深入掌握shell和命
  令行知识:由著名Linux专家Mark G.Sobell撰写的卓越经典书籍《Linux命令、编辑器与shell编程(第3版)》涵盖Linux的方方面面,将帮助您精通Linux。《Linux命令、编辑器与shell编程(第3版)》将全面深入地介绍系统管理员、开发者以及高级用户最需要的工具,并涵盖了日常工作中最常用的参考资源。
  《Linux命令、编辑器与shell编程(第3版)》适用于所有Linux版本,列举了数百个紧贴实用的优质示例,从基础知识讲起,极其清晰地介绍了文件系统、shell、编辑器、实用程序、编程工具和正则表达式等最有用的Linux知识。
  《Linux命令、编辑器与shell编程(第3版)》还向Mac用户介绍Mac OS×命令行的相关内容,包括仅Mac OS×可用而其他Linux/U NIX未含的工具和实用程序。Sobell撰写了专门介绍MySQL的新章节,还对当今自动完成复杂耗时的管理任务的最有价值工具Python做了专业讲解。     
内页插图
          精彩书评
     Mark G.Sobell是Sobell联合公司总裁,该咨询公司致力于UNIX/Linux培训、支持和定制软件开发。Sobell拥有逾30年的UNIX和Linux系统的使用经验,已撰写了多本畅销书,包括Prentice Hall出版的A Practica/ Guide to Fedora and Red Hat EnterpriseLinux, Sixth Edition和A Practica/ Guide to Ubuntu Linux,Third Edition。     
目录
   第1章 欢迎进入Linux和MacOS X世界
1.1 UNIX和GNU-Linux的发展史
1.1.1 Linux的起源:UNⅨ
1.1.2 回顾1983年
1.1.3 下一场景,1991年
1.1.4 自由代码
1.1.5 享受乐趣
1.2 Linux的优点
1.2.1 Linux在硬件公司和开发人员中流行的原因
1.2.2 Linux的可移植性
1.2.3 C编程语言
1.3 Linux概述
1.3.1 Linux具有内核编程接口
1.3.2 Linux支持多用户
1.3.3 Linux支持多任务
1.3.4 Linux支持安全的分层文件系统
1.3.5 shell:命令解释器和编程语言
1.3.6 大量有用的实用程序
1.3.7 进程间的通信
1.3.8 系统管理
1.4 Linux的其他特性
1.4.1 GUI:图形用户界面
1.4.2 (互联的)网络实用程序
1.4.3 软件开发
1.5 本章小结
练习
第1部分 Linux和Mac OS X操作系统
第2章 入门
2.1 本书约定
2.2 从终端或终端模拟器登录
2.3 在命令行中工作
2.3.1 识别当前运行的是哪种shell
2.3.2 校正错误
2.3.3 重复/编辑命令行
2.4 su/sudo:慎用root权限
2.5 如何查找相关文档
2.5.1 man:显示系统手册页
2.5.2 apropos:搜索关键字
2.5.3 info:显示实用程序的相关信息
2.5.4 ——help选项
2.5.5 bashhelp命令
2.5.6 获取帮助
2.6 关于登录和密码的更多方面
2.6.1 如何处理登录失败
2.6.2 远程登录:终端模拟器、ssh和拨号连接
2.6.3 使用虚拟控制台
2.6.4 退出
2.6.5 更改密码
2.7 本章小结
练习
高级练习
第3章 实用程序
3.1 特殊字符
3.2 基本工具
3.2.1 1s:显示文件名
3.2.2 cat:显示文本文件内容
3.2.3 rm:删除文件
3.2.4 少即多:分屏显示文本文件
3.2.5 hostname:显示系统名
3.3 文件操作
3.3.1 cp:复制文件
3.3.2 mv.更改文件名
3.3.3 lpr:打印文件
3.3.4 grep:查找字符串
3.3.5 head:显示文件头部
3.3.6 tail:显示文件尾部
3.3.7 sort:按顺序显示文件内容
3.3.8 uniq:忽略文件中重复的行
3.3.9 diff:比较两个文件
3.3.10 file:识别文件内容
3.4 (管道):实现进程间的通信
3.5 4个有用的实用程序
3.5.1 echo:显示文本
3.5.2 date:显示日期和时间
3.5.3 script:记录shell会话信息
3.5.4 unix2dos:将Linux文件转换为Windows和Macintosh OSX格式
3.6 压缩和归档文件
3.6.1 bzip2:压缩文件
3.6.2 bzcat和bunzip2:解压缩文件
3.6.3 gzip:压缩文件
3.6.4 tar:打包和解包文件
3.7 定位实用程序
3.7.1 which和whereis:定位实用程序
3.7.2 locate:搜索文件
3.8 显示用户和系统信息
3.8.1 who:列出系统上的用户
3.8.2 finger:列出系统上的用户
3.8.3 uptime:显示系统负载和持续运行时间信息
3.8.4 w:列出系统上的用户
3.8.5 free:显示内存使用信息
3.9 与其他用户通信
3.9.1 write:发送消息
3.9.2 mesg:拒绝或接受消息
3.10 电子邮件
3.11 本章小结
练习
高级练习
第4章 Linux文件系统
4.1 分层文件系统
4.2 目录文件和普通文件
4.2.1 文件名
4.2.2 工作目录
4.2.3 主目录
4.3 路径名
4.3.1 绝对路径名
4.3.2 相对路径名
4.4 目录操作
4.4.1 mkdir:创建目录
4.4.2 cd:更改工作目录
4.4.3 rmdir:删除目录
4.4.4 使用路径名
4.4.5 mv/cp:移动/复制文件
4.4.6 mv:移动目录
4.4.7 重要的标准目录和文件
4.5 访问权限
4.5.1 Is.1:显示访问权限
4.5.2 chmod:改变访问权限
4.5.3 setuid和setgid权限
……
第II部分 编辑器
第Ⅲ部分 shell
第Ⅳ部分 编程工具
第V部分 安全的网络实用程序
第Ⅵ部分 命令参考
第Ⅶ部分 附录      
前言/序言
     Linux本书阐述了如何通过命令行方式使用Linux操作系统。本书前几章面向没有计算机使用经验的读者,阅读这部分内容将能够帮助这些读者快速上手。剩余部分则主要针对经验丰富的计算机用户。本书并不针对特定的Linux版本或者某个发布版,而是适用于所有近期发布的Linux版本。
  MacOSX本书还解释了如何使用MacOSX的UNIX/Linux基本功能。这部分内容“直奔主题”,跳过了大多数人以为是Macintosh的传统图形用户界面(GUD,讨论了如何使用与MacOSX直接相连的强大命令行界面(CLI)。在本书中提到Linux之处,也隐含了MacOSX,并指出了这两种操作系统之间的区别。
  命令行界面在计算机诞生之初,只有命令行(文本)界面(Command Line Interface,CLI),可以通过命令行向Linux输入命令。那时还没有鼠标和图标,也就不能通过拖放方式进行操作。某些程序(如emacs)使用ASCII字符集中非常有限的图形字符实现了基本的窗口。反白显示技术可将计算机屏幕分成几个区域。Linux就是在这样的环境中诞生和发展起来的。很自然地,早期的所有Linux实用程序都通过命令行方式调用。Linux的真正功能还体现在这样的环境中,这也是很多Linux专家非命令行不用的原因。本书通过清晰的阐述和详明的示例,向读者展示了如何通过命令行方式最有效地使用Linux系统。Linux发布版Linux发布版包括了Linux内核、实用程序以及应用程序。目前已有多个发布版,包括Ubuntu、Fedora、openSUSE、RedHat、Debian、Mageia、Arch、CentOS和Mint等。尽管这些发布版之间有着各种差别,但它们都依赖于Linux内核、实用程序和应用程序。本书阐述的内容将基于那些在绝大多数发布版上通用的代码。因此,无论使用的Linux发布版是什么,读者都可以使用这些程序。    
				
 
				
				
					《Linux命令、编辑器与shell编程(第3版)》是一本面向初学者和进阶者的权威指南,旨在帮助读者全面掌握Linux操作系统的核心技能。本书内容涵盖了Linux系统中最常用、最实用的命令,深入浅出地讲解了vi/vim、nano等主流编辑器的使用技巧,并提供了丰富的shell脚本编程实例,帮助读者高效地自动化日常任务,解决复杂问题。  第一部分:Linux命令基础  本部分将带领读者从零开始,逐步熟悉Linux命令行的强大功能。我们将从最基本的概念讲起,例如如何进入和退出shell,如何查看当前目录以及如何进行文件和目录导航。     文件与目录操作: 详细介绍`ls`命令的不同选项,用于查看文件和目录的详细信息,包括文件权限、所有者、大小和修改时间。我们将学习如何使用`cd`命令在文件系统中自由切换,如何创建、复制、移动和删除文件与目录,分别通过`mkdir`、`touch`、`cp`、`mv`和`rm`等命令。特别会讲解`rm -r`的慎用,以及如何通过`-i`选项进行安全确认。    文本处理与查看: `cat`命令将用于连接和显示文件内容。`more`和`less`命令将作为分页工具,帮助用户浏览大型文件。`head`和`tail`命令将展示文件开头和结尾的内容,这在查看日志文件时尤为有用。还将深入讲解`grep`命令,这是Linux中最强大的文本搜索工具之一,我们将学习如何使用正则表达式进行模式匹配,以及各种选项(如`-i`、`-v`、`-n`、`-r`)如何帮助我们更精确地定位所需信息。    文件内容编辑与管道: 除了文本查看,我们还将引入简单的文本编辑命令,如`sed`,用于流式文本编辑器,可以实现文本替换、删除等操作。同时,我们将详细介绍Linux的“管道”概念,即通过`|`符号将一个命令的输出作为另一个命令的输入,这是Linux命令行强大之处的体现。我们将演示如何结合使用`ls`、`grep`、`wc`等命令,例如统计某个目录下特定类型文件的数量。    权限管理: 理解Linux的文件权限系统至关重要。我们将讲解`chmod`命令,学习如何使用数字模式(如`755`)和符号模式(如`u+x`)来修改文件和目录的读、写、执行权限,以及`chown`和`chgrp`命令,用于更改文件和目录的所有者和所属组。    进程管理: 了解如何在Linux系统中管理正在运行的进程。我们将学习`ps`命令,用于查看当前运行的进程,并介绍常用选项如`aux`。`kill`命令将用于终止进程,我们将演示如何通过进程ID(PID)来精确操作。`top`命令将提供一个动态的系统监视界面,帮助用户实时了解CPU、内存等资源的使用情况。    系统信息与网络: 掌握获取系统基本信息的方法,例如`uname`用于查看内核信息,`df`和`du`用于查看磁盘空间使用情况。我们将介绍常用的网络命令,如`ping`用于测试网络连通性,`ifconfig`(或`ip addr`)用于查看网络接口配置,以及`ssh`用于安全地远程登录到其他Linux服务器。  第二部分:Linux编辑器精通  本书将重点介绍两种最常用的Linux文本编辑器:vi/vim和nano。     vi/vim: vi是Linux系统中最基本也是最强大的文本编辑器之一,vim作为其增强版,拥有更丰富的功能和更友好的用户界面。本部分将从vi的基础模式(命令模式、插入模式、可视模式)入手,详细讲解如何在这些模式之间切换,以及各种常用的编辑命令,例如光标移动、文本插入、删除、复制、粘贴(yank and put)。我们将深入学习vim的窗口管理,多文件编辑,宏录制(macros),以及如何自定义vim的配置,例如设置行号、语法高亮等。还会介绍一些vim的高级搜索和替换功能,以及如何使用插件来扩展vim的功能。    nano: nano是一款用户友好、易于上手的文本编辑器,特别适合初学者。我们将讲解nano的基本操作,包括打开、保存文件,以及快捷键的使用。虽然nano的功能不如vim强大,但在快速编辑小型配置文件或脚本时,其简洁性显得尤为可贵。  第三部分:Shell脚本编程入门与进阶  Shell脚本是自动化Linux任务的强大工具,本部分将带领读者掌握shell脚本编程的精髓。     Shell基础: 我们将从shell的角色和类型(如bash、sh)讲起,解释shell脚本是如何被执行的。学习如何编写第一个简单的shell脚本,包括shebang行(`!/bin/bash`)的作用,以及如何给脚本添加执行权限。    变量与数据类型: 掌握shell脚本中变量的声明、赋值和使用。我们将讲解环境变量和用户自定义变量的区别,以及如何使用`export`命令。    流程控制: 这是shell脚本的核心部分。我们将详细介绍条件判断语句,如`if-then-else`、`case`语句,并演示如何使用各种比较运算符(数值比较、字符串比较)。同时,我们将学习循环结构,包括`for`循环(基于列表、文件、序列)、`while`循环和`until`循环,以及如何使用`break`和`continue`来控制循环流程。    函数: 学习如何定义和调用shell函数,这有助于组织代码,提高脚本的可重用性。    输入与输出: 讲解如何获取用户输入(`read`命令),以及如何将脚本的输出重定向到文件(`>`、`>>`)或丢弃(`/dev/null`)。    常用命令在脚本中的应用: 将前面学到的Linux命令融入脚本编写中,例如使用`grep`、`sed`、`awk`(简介)在脚本中进行复杂的文本处理和数据提取。`awk`作为一种强大的文本分析工具,虽然不是本部分的核心,但会提供一些基础应用示例,展示其在数据处理方面的强大能力。    脚本调试: 介绍一些基本的脚本调试技巧,例如使用`set -x`来跟踪脚本的执行过程,以及如何通过`echo`命令输出中间变量的值来定位问题。    实际应用案例: 通过大量的实际案例,巩固所学知识。这些案例将涵盖自动化文件备份、日志分析、系统监控、用户管理等常见场景,让读者能够将shell脚本应用于解决实际问题。例如,编写一个脚本来自动压缩旧日志文件,或者一个脚本来定期检查服务器的磁盘空间并发送警报。  本书特色:     循序渐进: 内容从基础命令到高级脚本编程,结构清晰,逻辑严谨,适合不同层次的读者。    实践导向: 大量提供实际操作和脚本示例,让读者在动手实践中学习。    权威准确: 内容经过严格考证,确保信息的准确性和实用性。    全面深入: 覆盖Linux命令、编辑器和shell编程的方方面面,是掌握Linux技能的宝贵资源。  无论您是初次接触Linux的新手,还是希望提升Linux技能的专业人士,《Linux命令、编辑器与shell编程(第3版)》都将是您不可或缺的学习伴侣。通过本书的学习,您将能够熟练运用Linux命令行,高效地使用文本编辑器,并编写出强大的shell脚本,从而成为一名更加出色的Linux用户和系统管理员。