欢迎来到天天文库
浏览记录
ID:46403749
大小:809.38 KB
页数:16页
时间:2019-11-23
《学习shell脚本前基础知识》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十二章学习shell脚本之前的基础知识日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员。目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目。有的单位甚至用shell脚本的编写能力来衡量这个linux系统管理员的经验是否丰富。笔者讲这些的目的只有一个,那就是让你认真对待shell脚本,从一开始就要把基础知识掌握牢固,然后要不断的练习,只要你shell脚本写的好,相信你的linux求职路就会轻松的多。笔者在这一章中并不会多么详细的介绍shell脚本,而只是带你进入shell脚本的世界,如果你
2、很感兴趣那么请到网上下载相关的资料或者到书店购买相关书籍吧。在学习shell脚本之前,需要你了解很多关于shell的知识,这些知识是编写shell脚本的基础,所以希望你能够熟练的掌握。【什么是shell】简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于shell,把它比作人的五官似乎更加贴切些。回到计算机上来,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着
3、内核再去支配计算机硬件去执行各种操作。笔者接触的linux发布版本(Redhat/CentOS)系统默认安装的shell叫做bash,即BourneAgainShell,它是sh(BourneShell)的增强版本。BournShell是最早行起来的一个shell,创始人叫StevenBourne,为了纪念他所以叫做BournShell,检称sh。那么这个bash有什么特点呢?1)记录命令历史我们敲过的命令,linux是会有记录的,预设可以记录1000条历史命令。这些命令保存在用户的家目录中的.bash_history文件中。有一点需要你知道的是,只有当用户正常退出当前shel
4、l时,在当前shell中运行的命令才会保存至.bash_history文件中。与命令历史有关的有一个有意思的字符那就是”!”了。常用的有这么几个应用:(1)!!(连续两个”!”),表示执行上一条指令;(2)!n(这里的n是数字),表示执行命令历史中第n条指令,例如”!100”表示执行命令历史中第100个命令;(3)!字符串(字符串大于等于1),例如!ta,表示执行命令历史中最近一次以ta为开头的指令。2)指令和文件名补全在本教程最开始笔者就介绍过这个功能了,记得吗?对了就是按tab键,它可以帮你补全一个指令,也可以帮你补全一个路径或者一个文件名。连续按两次tab键,系统则会把所
5、有的指令或者文件名都列出来。3)别名前面也出现过alias的介绍,这个就是bash所特有的功能之一了。我们可以通过alias把一个常用的并且很长的指令别名一个简洁易记的指令。如果不想用了,还可以用unalias解除别名功能。直接敲alias会看到目前系统预设的alias:看到了吧,系统预设的alias指令也就这几个而已,你也可以自定义你想要的指令别名。alias语法很简单,alias[命令别名]=[’具体的命令’]。(单引号)4)通配符在bash下,可以使用*来匹配零个或多个字符,而用?匹配一个字符。5)输入输出从定向输入重定向用于改变命令的输入,输出重定向用于改变命令的输出。
6、输出重定向更为常用,它经常用于将命令的结果输入到文件中,而不是屏幕上。输入重定向的命令是<,输出重定向的命令是>,另外还有错误重定向2>,以及追加重定向>>,稍后会详细介绍。6)管道符前面已经提过过管道符”
7、”,就是把前面的命令运行的结果丢给后面的命令。7)作业控制。当运行一个进程时,你可以使它暂停(按Ctrl+z),然后使用fg命令恢复它,利用bg命令使他到后台运行,你也可以使它终止(按Ctrl+c)。【变量】前面章节中笔者曾经介绍过环境变量PATH,这个环境变量就是shell预设的一个变量,通常shell预设的变量都是大写的。变量,说简单点就是使用一个较简单的字符串来替代某
8、些具有特殊意义的设定以及数据。就拿PATH来讲,这个PATH就代替了所有常用命令的绝对路径的设定。因为有了PATH这个变量,所以我们运行某个命令时不再去输入全局路径,直接敲命令名即可。你可以使用echo命令显示变量的值。除了PATH,HOME,LOGNAME外,系统预设的环境变量还有哪些呢?使用env命令即可全部列出系统预设的全部系统变量了。不过登录的用户不一样这些环境变量的值也不一样。当前显示的就是root这个账户的环境变量了。下面笔者简单介绍一下常见的环境变量:PATH决定了shell将
此文档下载收益归作者所有