LinuxOS在服务器以及近来引发热议的嵌入式系统中都得到广泛应用,《Linuxshell脚本编程入门》介绍的就是该程序必备的shell编程要素。尤其还收录了现在门户网站、企业等使用的主流套件CentOS(CommunityENTerpriseOperatingSystem)为基础的各种Linux命令,并以此为基础编写了Linuxshell脚本编程示例,使读者可以亲自测试。
通过《Linuxshell脚本编程入门》,读者可以了解到Linux学习中必知的shell(Bourneshell、Bashshell)指令,学习Linux整体系统要素,熟悉Linux服务器和嵌入式Linux的基础知识。另外,通过对Linux服务器运行中的必要因素——shell脚本编程的理解和示例,读者可以成长为善于思考的管理员、程序员,提高自己的知识水平。
金泰龙
韩国庆北大学计算机工程硕士,以LG电子监控事业部研究员身份开始职业生涯。从“千里眼”(韩国国内最早提供PC通讯网上服务的门户网站)时期起,在Linux俱乐部活动中表现活跃,并成立了目前韩国国内影响力最大的Linux俱乐部——韩国Linux用户集团(1998年,http://www.lug.or.kr)。曾以韩国Linux协会运营委员、技术委员的身份在KT、LG电子、韩国调配厅、釜山工商会议所、延世大学、釜山大学等20多处企业、机关、高校进行Linux学术会议及演讲,并与韩国软件振兴院(KIPA)、大邱数码产业振兴院(DIP)、韩国电子通讯研究院(ETRI)共同参与开源软件项目。
现任韩国Linux用户集团会长,并在永进专科学院定期举办Linux演讲。为推动以Linux为核心的开源软件行业,不断努力提升工学和技术专家的地位,并致力于建设以工学和技术为核心的Tech-nationKorea,努力实现工学政治。
著作
《CentOSLinux构建管理实务》(2007)
《金泰龙C++基础入门:利用gcc学习C++和wxWidgetsGUI》(2009)
《金泰龙JSPWeb编程入门》(2011)
《金泰龙C语言编程入门》(2012)
第1章 Linux shell和基本指令
1.1 Linux和shell
1.2 Linux环境
1.2.1 Linux诞生
1.2.2 Linux的特征
1.2.3 vi(m)编辑器
1.2.4 Linux中的文件和文件系统
1.3 shell脚本编程基础知识
1.3.1 简介
1.3.2 帮助页面
1.3.3 Linux默认指令格式
1.3.4 shell的编辑模式
1.3.5 指定变量和消息输出(printf、echo)
1.3.6 使用多重指令(;、&&、||)
1.3.7 历史命令(.history、↓、↑、!)
1.4 Linux目录操作
1.4.1 pwd:显示当前工作目录位置
1.4.2 ls:显示当前文件和目录内容
1.4.3 cd:切换工作目录
1.4.4 less、more、cat:浏览文本文件
1.4.5 file:显示文件类型
1.4.6 Linux的默认目录结构
1.4.7 文件和目录操作
1.5 I/O重定向和管道
1.5.1 标准输出
1.5.2 标准输入
1.5.3 管道
1.5.4 过滤器
1.6 文件访问权限
1.6.1 文件/目录许可
1.6.2 chmod
1.6.3 chown、chgrp
1.6.4 lsattr、chattr
1.7 作业控制
1.7.1 bg
1.7.2 jobs、ps、kill
1.8 系统管理员指令总结
1.8.1 用户和组
1.8.2 终端
1.8.3 信息与统计
1.8.4 系统日志
1.8.5 作业控制
1.8.6 进程管理和启动
1.8.7 网络
1.8.8 文件系统
1.8.9 备份
1.8.10 系统资源
1.8.11 模块
1.8.12 其他指令
第2章 shell脚本示例解析
2.1 Linux启动过程和登录shell
2.1.1 Linux启动、终止与重启
2.1.2 shell初始化文件
2.2 命令行解析
2.3 指令类型
2.4 进程与shell
2.4.1 运行中的进程类型
2.4.2 系统调用
2.4.3 进程创建和系统调用
2.5 变量(Bourne shell)
2.5.1 变量类型
2.5.2 生成变量
2.5.3 局部变量转为环境变量
2.5.4 预定义变量
2.5.5 特殊参数变量
2.6 Bourne shell
2.6.1 shbang行
2.6.2 注释
2.6.3 通配符
2.6.4 显示器显示
2.6.5 局部变量
2.6.6 全局变量
2.6.7 从变量读取值
2.6.8 读取用户输入信息
2.6.9 参数
2.6.10 数组
2.6.11 替换命令
2.6.12 算术运算
2.6.13 运算符
2.6.14 条件语句
2.6.15 循环语句
2.6.16 文件测试
2.6.17 函数
2.7 Bash shell语法和结构
2.7.1 Bash shell介绍
2.7.2 Bash shell环境及初始化文件
2.7.3 Bash shell选项设置命令set、shopt
2.7.4 shell提示符
2.7.5 搜索路径
2.7.6 hash命令
2.7.7 source或dot(.)命令
2.8 命令行
2.8.1 命令处理顺序
2.8.2 内置命令和help命令
2.8.3 改变命令行处理顺序
2.8.4 终止状态
2.8.5 命令行中的多个指令
2.8.6 命令整合
2.8.7 执行命令条件
2.8.8 通过后台执行命令
2.9 作业控制
2.10 命令行快捷方式
2.10.1 完成命令和文件名
2.10.2 历史
2.10.3 访问历史文件的命令
2.10.4 命令行的编辑
2.11 别名
2.11.1 别名目录
2.11.2 创建别名
2.11.3 删除别名
2.12 操作目录栈
2.12.1 dirs命令
2.12.2 pushd和popd命令
2.13 元字符集
2.14 替换文件名
2.14.1 星号(*)
2.14.2 问号(?)
2.14.3 方括号([ ])
2.14.4 花括号扩展({ })
2.14.5 转义元字符()
2.14.6 波浪线(~)和连字符(-)扩展
2.14.7 通配符管理
2.14.8 扩展文件名通配
2.15 变量(Bash shell)
2.15.1 变量类型
2.15.2 变量名
2.15.3 declare命令
2.15.4 局部变量和使用范围
2.15.5 环境变量
2.15.6 清除变量设置
2.15.7 显示变量值
2.15.8 变量扩展修饰符
2.15.9 截取字符串的变量扩展名
2.15.10 位置参数
2.15.11 其他特殊变量
2.16 引用符号
2.16.1 反斜杠()
2.16.2 单引号(' ')
2.16.3 双引号(" ")
2.17 替换命令
2.18 算数扩展
2.19 shell扩展顺序
2.20 数组
2.21 函数
2.21.1 函数定义
2.21.2 清除函数目录和设置
2.22 标准I/O和重定向
2.23 管道
2.24 shell调用选项
第3章 正则表达式和模式检索
3.1 正则表达式
3.2 正则表达式的元字符集
第4章 grep模式检索
4.1 grep
4.2 egrep
4.3 fgrep
第5章 sed实用工具
5.1 sed
5.2 sed版本和帮助页面
5.3 sed工作原理
5.4 正则表达式的使用
第6章 awk编程
6.1 awk
6.2 awk编程格式
6.2.1 从文件输入
6.2.2 从指令输入
6.2.3 awk工作原理
6.2.4 print函数
6.2.5 OFMT变量
6.2.6 printf函数
6.2.7 awk -f选项
6.2.8 记录和字段
6.2.9 模式和动作
6.3 awk和正则表达式
6.4 脚本文件中的awk
6.5 比较表达式
6.5.1 条件表达式
6.5.2 算术运算符
6.5.3 逻辑运算符和混合模式
6.6 awk变量
6.6.1 数值与字符串常数
6.6.2 用户自定义变量
6.6.3 BEGIN模式
6.6.4 END模式
6.7 awk重定向
6.7.1 输出重定向
6.7.2 输入重定向
6.8 awk管道
6.9 条件语句
6.9.1 if条件语句
6.9.2 if/else 条件语句
6.9.3 if/else if/else条件语句
6.10 loop循环语句
6.10.1 while循环语句
6.10.2 for循环语句
6.10.3 管理循环语句
6.11 程序管理语句
6.11.1 next语句
6.11.2 exit函数
6.12 数组
6.12.1 针对关联数组的子脚本
6.12.2 命令处理参数
6.13 awk内置函数(1)
6.14 awk内置数学函数
6.14.1 整数型函数
6.14.2 生成随机数
6.15 用户自定义函数
6.16 其他
6.16.1 固定宽度字段
6.16.2 多行记录
6.17 awk内置函数(2)
6.17.1 字符串函数
6.17.2 时间函数
6.17.3 命令行参数
6.17.4 读取输入值
6.17.5 控制函数
6.17.6 用户自定义函数
6.17.7 awk命令行选项
第7章 Bash shell编程
7.1 简介
7.2 读取用户输入
7.2.1 变量
7.2.2 read命令
7.3 算数运算
7.3.1 整数算数运算
7.3.2 实数型算数运算
7.4 位置参数和命令行参数
7.4.1 位置参数
7.4.2 set命令和位置参数
7.5 条件语句和分支语句
7.5.1 终止状态
7.5.2 test命令和let命令
7.5.3 if/then/else命令
7.5.4 if/then/elif/then/else命令
7.5.5 文件测试
7.5.6 null命令
7.5.7 case命令
7.6 循环语句命令
7.6.1 for循环语句命令
7.6.2 $*和$@
7.6.3 while循环语句命令
7.6.4 until循环语句命令
7.6.5 select命令和菜单
7.6.6 循环语句管理命令
7.6.7 I/O重定向和子shell
7.6.8 在后台使用循环语句
7.6.9 IFS和循环语句
7.7 函数
7.7.1 解除函数设置
7.7.2 导出函数
7.7.3 函数参数和返回值
7.7.4 函数和source命令
7.8 捕获信号
7.8.1 信号重置
7.8.2 忽略信号
7.8.3 trap目录
7.8.4 trap和函数
7.9 调试Bash脚本
7.10 命令行
7.10.1 使用getops的命令行处理
7.10.2 特殊的getopts变量
7.10.3 eval命令和命令行解析
7.11 Bash选项
7.11.1 shell调用选项
7.11.2 set命令和选项
7.12 shell内置命令
7.13 shell对照表
7.14 Linux启动脚本分析
7.15 利用Bash脚本创建Text GUI
7.15.1 安装dialog实用工具
7.15.2 dialog用法
7.15.3 消息框(MsgBox)
7.15.4 yes/no消息框
7.15.5 输入框
7.15.6 单选列表
7.15.7 编写dialog示例
第8章 vi(m)编辑器和有用的实用工具
8.1 vi(m)编辑器:vi improved
8.1.1 vi(m)
8.1.2 vi(m)启动
8.1.3 常用编辑命令
8.1.4 高级编辑命令
8.1.5 使用多个编辑窗口
8.2 vi(m)教程
8.3 有用的实用工具
8.3.1 cut
8.3.2 paste
8.3.3 join
8.3.4 tr
8.3.5 uniq
8.3.6 split
8.3.7 col
8.3.8 xarg
8.3.9 find
8.3.10 tee
索引
各位读者、工学同仁,大家好!
非常荣幸能够通过此书与各位相识。
我于1996年在韩国LG电子监控事业部(3D CAD、UG、Pro/Engnieer)担任研究员。由于工作中经常使用Unix(SGI、HP UNIX),也就自然而然地接触到了Linux。在韩国信息通信部存续期间,我作为韩国Linux协会技术委员开展了许多相关活动,1998年创立了韩国Linux用户集团()社区,现在仍有许多Linux爱好者访问主页。为了促进彼此间的沟通、分享知识与经验,我每年都会举办LUG公开研讨会,到目前已坚持了12年。
开放源Linux OS由能够灵活组合并配置指令的shell脚本和各种环境设置文件组成。所有组成文件的源代码都是开放的,所以无论是理论学习还是实际操作,毫无疑问,它都是最优秀的操作系统。各位在学习Linux OS的过程中就会意识到,其内容与人类社会的组织形态(体系)非常类似。
我曾出版过有关Linux服务器操作的图书《CentOS Linux构建管理实务》,由于本书过于庞杂,未能涉及shell脚本编程相关内容,所以才决定编写各位现在看到的这本关于Bourne shell(/bin/sh)和Bash shell(/bin/bash)的shell脚本编程入门书。
要想学好shell脚本编程,首先要熟悉Linux操作系统的启动原理和顺序,书中也对此进行了整理。本书通过简单的shell脚本示例,告诉各位如何灵活运用Linux系统中默认的各种内置命令(Built-In)和命令行中使用的应用软件。
希望本书能够帮助Linux与用户和管理员之间进行有效沟通,能够为各位的shell脚本编程学习助一臂之力。
最后,感谢为本书诞生而不辞辛劳的Jpub出版社张圣斗室长和相关团队。希望世界上每个人都使用Linux的那一天尽快到来。
祝各位工学同仁永远健康、幸福!
金泰龙
我是一名Python开发者,平时工作主要是在Windows环境下进行,但最近公司业务需要接触Linux服务器,并且要求能够编写一些简单的shell脚本来自动化部署和管理。我之前对Linux的了解仅限于一些基本的命令操作,比如ssh登录、文件拷贝等,对于脚本编写更是完全摸不着头脑。我尝试过网上找一些零散的教程,但总是觉得不成体系,很难把知识串联起来。这本书的出现,就像在黑暗中点亮了一盏灯。它深入浅出地讲解了shell脚本的核心概念,比如变量的定义和使用、条件判断、循环结构、函数等等,这些都是编写任何脚本都必不可少的基石。书中大量的实例演示让我印象深刻,它不会仅仅停留在理论层面,而是会结合实际的工作场景,给出具体的解决方案。比如,在讲解文件处理时,它会给出如何用shell脚本批量重命名文件、查找特定文件内容、或者监控日志文件变化的例子,这些都非常贴近我的实际需求。更让我惊喜的是,这本书还涉及了一些更高级的主题,比如如何利用grep、sed、awk等工具进行文本处理,以及如何编写更健壮的脚本来处理错误和异常。这本书让我感觉,Linux shell脚本编程不再是遥不可及的技能,而是我能够掌握并且能够应用于工作中的强大工具。
评分我是一名对技术充满好奇心的爱好者,一直想深入了解Linux的底层运行机制,特别是命令行操作和脚本编程。网上关于Linux的资料很多,但要么太理论化,要么太零散,很难形成完整的知识体系。这本书的到来,就像我一直在寻找的答案。它从最基础的概念讲起,比如shell是什么,为什么我们需要它,然后逐步深入到shell脚本的编写。书中讲解的内容非常全面,涵盖了从变量、数据类型、运算符到条件判断、循环、函数等几乎所有shell脚本编程的核心要素。我特别喜欢书中在讲解一些复杂概念时,会采用图文并茂的方式,比如用流程图来解释控制流程,用表格来对比不同命令的选项,这极大地降低了我的学习难度。而且,这本书的案例非常丰富,从简单的文件操作到复杂的系统管理任务,都能找到对应的脚本范例,让我能够学以致用,并且触类旁通。让我惊喜的是,书中还涉及了一些关于网络编程和系统监控的脚本编写技巧,这些是我之前从未想过可以通过shell脚本来实现的功能。总而言之,这本书是一本非常值得推荐的Linux shell脚本编程入门书籍,它能够帮助你快速掌握这项重要的技能,并且为深入学习Linux打下坚实的基础。
评分工作以来,接触过各种各样的技术书籍,很多写得晦涩难懂,读起来像在啃硬骨头。而这本书,给我的感觉完全不同,就像是在享受一场思维的盛宴。它的结构设计非常合理,从最基本的shell环境介绍,到变量、运算符、流程控制,再到函数、文件操作、进程管理,每一步都循序渐进,逻辑清晰。作者的写作风格非常幽默风趣,不会让读者感到枯燥乏味。我特别欣赏书中的一些类比和比喻,把抽象的概念变得形象生动,很容易理解。例如,在讲解变量的时候,作者把它比作一个可以存放不同东西的盒子,形象地说明了变量的赋值和使用。而且,书中不仅仅是教你如何使用命令,更注重培养你的编程思维。它会引导你去思考如何解决问题,如何用脚本来简化重复性的工作。我印象最深刻的是关于管道符`|`的讲解,作者用了一个非常形象的例子,把管道比作一个流水线,不同的命令就像流水线上的工人,数据从一个工人传递给下一个工人,最终完成复杂的任务。这本书让我觉得,学习shell脚本编程不仅仅是为了掌握一门技术,更是在锻炼一种解决问题的能力,一种逻辑思维的能力。
评分作为一名资深Linux用户,我一直以来都习惯于通过图形界面来完成大部分操作,虽然偶尔也会在终端输入一些命令,但总觉得对shell脚本编程有一种隔阂感,总觉得门槛很高。这本书的出现,彻底打破了我的这种刻板印象。它以一种非常亲切的姿态,把我领进了shell脚本的世界。首先,它非常细致地讲解了shell的基本概念,比如shell的作用、不同的shell类型(bash, zsh等)以及它们的特点,这让我对shell有了更深层次的认识。然后,它非常系统地介绍了shell脚本的语法,包括如何定义和使用变量、如何进行算术运算和逻辑判断、如何使用条件语句(if-else)和循环语句(for, while),这些都是编写脚本的基础。书中大量的代码示例都是可以直接复制粘贴运行的,而且作者会详细解释每一行代码的作用,这对于我这种喜欢动手实践的人来说,简直是福音。我尤其喜欢书中关于错误处理和调试的章节,这部分内容往往在入门书籍中被忽略,但它对于编写健壮的脚本至关重要。这本书不仅教会了我“怎么做”,更让我明白了“为什么这么做”,让我能够写出更专业、更可靠的shell脚本。
评分一直对Linux的命令和操作感到好奇,但又不知道从何下手,很多时候看到别人在终端里敲敲打打,感觉像是在施展魔法一样,而我只能在一旁干瞪眼。偶然间看到了这本书,名字听起来就很实在,"入门"两个字给了我很大的信心。拆开快递的那一刻,纸质的触感和印刷的清晰度就让我觉得这钱花得值。翻开第一页,作者用一种非常接地气的方式开始了讲解,不像某些技术书籍上来就讲深奥的概念,而是从最基础的shell是什么、为什么要有shell讲起,就像一个经验丰富的老朋友在拉家常,一点点把你带入Linux的世界。我尤其喜欢它在讲解每一个命令的时候,都会给出清晰的示例,并且会解释这个命令背后的逻辑,让你知其然也知其所以然。比如,在介绍`ls`命令的时候,它不仅告诉你怎么列出文件,还会讲到`ls -l`的长格式输出中每一列代表什么意思,连文件权限的rwx又是怎么解读的,这些细节对于新手来说太重要了。而且,书中还专门辟了一个章节讲解如何查找和阅读帮助文档,这简直是锦囊妙计,让我以后遇到不认识的命令,不再像无头苍蝇一样乱撞。我感觉这本书不是那种一次性读完就丢的书,更像是一本可以放在手边,随时翻阅的工具书,每一次阅读都会有新的体会和收获。
评分书还不错,挺喜欢的
评分工具书,好好学习中!
评分韩国人的,还没看,据说还不错
评分京东的服务很好,但是书中好多错误的地方,前后不一致,很坑爹!建议不要买!!!看看我发的两张图,很明显的错误,这本书的翻译感觉不是很专业,也不知道书的修订勘误工作有没有做,太坑了
评分挺好的,参考书籍。
评分网上一共买了3本有关讲解LINUX SHELL方面的书籍,本来没有想过本书,但阅读后发现绝对是学习linux shell入门到高手的好书,韩国人写的人.非常不错
评分京东快递就是速度,书本质量非常好,很不错,推荐大家买!
评分很给力,不过有掉页现象没几张,书是正品
评分55555555552222255856855555
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有