bash入门 – RHCE 3-1 – 《TTLSA出品》
- Bash简介
bash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again SHell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again)。Bourne shell是一个早期的重要shell,由史蒂夫·伯恩在1978年前后编写,并同Version 7 Unix一起发布。bash则在1987年由布莱恩·福克斯创造。
Bash (GNU Bourne-Again Shell) 是许多Linux发行版的默认Shell。事实上,还有许多传统UNIX上用的Shell,例如tcsh、csh、ash、bsh、ksh等等,Shell Script大致都类同,当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个Shell Script通常可以在很多种Shell上使用。
bash是大多数Linux系统以及Mac OS X默认的shell,它能运行于大多数类Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现Windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。
bash的命令语法是Bourne shell命令语法的超集。数量庞大的Bourne shell脚本大多不经修改即可以在bash中执行,只用了Bourne特殊变量或使用了Bourne的内置命令的脚本才需要修改。 bash的命令语法很多来自Korn shell (ksh) 和 C shell (csh), 例如命令行编辑,命令历史,目录栈,$RANDOM 和 $PPID 变量,以及POSIX的命令置换语法: $(...)。作为一个交互式的shell,按下TAB键即可自动补全已部分输入的程序名,文件名,变量名等等。
- Bash语法
注:这里所说的Bash是指bash环境,而非shell编程,所以本章重点讲的是Bash在linux中是如何运行的。
Bash的常用语法包括:命令、选项、参数[必填|可选]
举个例子:
[root@localhost ~] # date -s “Wed Sep 16 00:21:14 PDT 2015”
以上内容是一个完整的命令行输入,接下来会对命令行内容进行完整讲解
root为登录用户
@是分隔符
localhost为计算机名称
~为当前所处目录
#表示为超级用户(root)身份运行,如果非超级用户运行会显示’$’符号
date是当前执行命令
-s是date选项,表示按照特定格式来定义时间
“Wed Sep 16 00:21:14 PDT 2015”表示时间显示为当前格式,可以理解为一个赋值操作
- Bash使用技巧
在开始使用bash之前,我们要去记住这么多命令以及其对应的选项和参数,肯定是不切实际的,那么我们要怎样快速寻找到对应的选项及参数呢?
这里就要介绍三个方法,同时这也是Linux中获取命令详解,很重要的命令及参数
- man
在绝大多数情况下,我们使用man都能找到我们想要的答案,man其实是manual的缩写,故名思意,这就是一部手册。所以它里面的内容会讲的很详细,想要学习命令的具体用法,且英文水平能够看懂的人,这其实不失为学习linux命令的一个很好的途径。
2、--help
实用派的首选,因为它的说明比man要少很多,但是只要你有一定的Linux基础,你可以很直观地看到所有命令的选项及参数简介。
所以说掌握了上面两个命令,基本上所有的Linux命令我们都能轻松掌握。
除了帮助选项以外,Linux还提供了强大的历史命令检索功能
最常见的就是history,顾名思义,它的主要作用就是列出最近1000条历史记录(包括远程执行的命令)。
以下是一段history节选
[root@localhost Desktop]# history 1 date --help 2 date 3 history 4 ls 5 id 6 date 7 history 8 su - root 9 ls 10 history
从上述节选中我们可以看出history给我们列出了最近执行的命令,如果是一些比较复杂的命令,那么此时history就派上了大用场。
那么如果我们没有鼠标可以选择复制,那么该如何来重复执行历史命令呢?
这里给大家介绍两个方法
- 用’!’带历史序号,如我要重复执行第2条历史记录,那么我要输入的就是
[root@localhost Desktop]# !2 date Wed Sep 16 01:13:43 PDT 2015
如上,我们执行了历史命令中的第二条
2、还有一个方式是用组合键(Ctrl+r)的形式,快速索引历史记录,如果是一条很长的命令加选项及参数的命令行,那么我们只需要输入前面的命令即可,演示如下。
[root@localhost ~]# history 1 history 2 exit 3 date -s "Wed Sep 16 16:17:43 CST 2015" 4 date 5 date -s "Wed Sep 16 16:17:43 PDT 2015" 6 date 7 history
接下来我们按Ctrl+r会出现如下提示符
(reverse-i-search)`':
此时我们输入date,会提示最后一条date命令,那么我们要倒数第二条命令就要再按一次Ctrl+r即可,如果要继续寻找上一条再按一次即可,以此类推
(reverse-i-search)`date': date -s "Wed Sep 16 16:17:43 PDT 2015"
以上两个小技巧在日常工作中使用频率是非常高的,还希望大家花点时间,多多实践,理解了bash运行的机制,接下来的课程我们讲解的时候就会更容易理解。
本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/yunwei/8106.html