"Linux下shell编程入门教程,详细例子,最佳学习选择"

需积分: 9 19 下载量 63 浏览量 更新于2023-12-15 2 收藏 125KB DOCX 举报
Shell编程是一种在Linux系统下的编程语言,用于解释和执行用户的命令。用户输入一条命令,Shell就会解释并执行这条命令,这种方式被称为交互式。除此之外,Shell还可用于批处理,即用户事先编写好一段Shell脚本,其中包含多条命令,让Shell一次性执行完这些命令,而不需要逐条敲命令。 Shell脚本与其他编程语言相似,具备变量和流程控制语句的功能。然而,Shell脚本不需要编译,而是通过解释执行来运行,Shell从脚本中逐行读取并执行命令,就好像用户将脚本中的命令逐行敲入Shell提示符下执行一样。 由于历史原因,UNIX系统上存在着多种不同的Shell。其中,最常见的几种是: 1. sh(Bourne Shell):由Steve Bourne开发,几乎所有的UNIX系统都默认配备sh。 2. csh(C Shell):由Bill Joy开发,并随BSD UNIX一同发布。它的流程控制语句与C语言非常相似,同时支持Bourne Shell所不支持的一些功能,如作业控制、命令历史和命令行编辑。 3. ksh(Korn Shell):由David Korn开发的Shell,它在Bourne Shell的基础上进行了扩展,添加了一些新的功能。Korn Shell是Unix系统中功能最丰富的Shell之一。 除了以上提到的几种Shell,还有其他一些变种和衍生版本如Bash、Zsh等,它们在特定的应用场景下也被广泛使用。 对于初学者而言,选择学习Shell编程是一个很好的入门选择。Shell编程易于上手,语法相对简单,可以通过编写一些简单的脚本来自动化执行一些重复性的任务,提高工作效率。 在学习Shell编程时,最好从一些基础知识开始,如变量的定义和使用、流程控制语句(如if、for、while等)、输入输出重定向、管道等。同时,通过阅读一些详细的例子来加深理解,并通过实际编写和执行一些小的脚本来巩固知识。 在实际的使用中,Shell编程可以用于很多方面,如系统管理和配置、日志分析、数据处理等。通过学习Shell编程,可以让我们更好地利用系统资源,提高工作效率,简化操作流程。 总之,Shell编程是一种在Linux系统下解释执行用户命令的编程语言,具备变量和流程控制语句的功能。选择学习Shell编程是入门学习的最佳选择之一,通过编写脚本可以实现自动化执行任务,提高工作效率。无论是系统管理、日志分析还是数据处理,Shell编程都能发挥重要作用。
2009-07-28 上传
linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用suid/guid 8 1.6.2 设置suid/guid的例子 8 1.7 chown和chgrp 9 1.7.1 chown举例 9 1.7.2 chgrp举例 9 1.7.3 找出你所属于的用户组 9 1.7.4 找出其他用户所属于的组 10 1.8 umask 10 1.8.1 如何计算umask值 10 1.8.2 常用的umask值 11 1.9 符号链接 12 1.9.1 使用软链接来保存文件的多个映像 12 1.9.2 符号链接举例 12 1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 17 2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find命令的例子 20 2.2 xargs 20 2.3 小结 21 第3章 后台执行命令 22 3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 &命令 27 3.3.1 向后台提交命令 28 3.3.2 用ps命令查看进程 28 3.3.3 杀死后台进程 28 3.4 nohup命令 29 3.4.1 使用nohup命令提交作业 29 3.4.2 一次提交几个作业 29 3.5 小结 30 第4章 文件名置换 31 4.1 使用* 31 4.2 使用? 32 4.3 使用[...]和[!...] 32 4.4 小结 33 第5章 shell输入与输出 34 5.1 echo 34 5.2 read 35 5.3 cat 37 5.4 管道 38 5.5 tee 39 5.6 标准输入、输出和错误 40 5.6.1 标准输入 40 5.6.2 标准输出 40 5.6.3 标准错误 40 5.7 文件重定向 40 5.7.1 重定向标准输出 41 5.7.2 重定向标准输入 42 5.7.3 重定向标准错误 42 5.8 结合使用标准输出和标准错误 43 5.9 合并标准输出和标准错误 43 5.10 exec 44 5.11 使用文件描述符 44 5.12 小结 45 第6章 命令执行顺序 46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将命令结合在一起 47 6.4 小结 48 第二部分 文本过滤 第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52 7.6 使用[]匹配一个范围或集合