首页云计算 正文

bash入门

2024-12-18 2 0条评论
  • 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的常用语法包括:命令、选项、参数[必填|可选]

举个例子:

1 [ root @ trustauth.cn  ~ ]  # date -s “Wed Sep 16 00:21:14 PDT 2015”

以上内容是一个完整的命令行输入,接下来会对命令行内容进行完整讲解

root为登录用户

@是分隔符

trustauth.cn为计算机名称

~为当前所处目录

#表示为超级用户(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节选

1 2 3 4 5 6 7 8 9 10 11 [ root @ trustauth.cn  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条历史记录,那么我要输入的就是
1 2 3 [ root @ trustauth.cn  Desktop ] # !2 date Wed  Sep  16  01 : 13 : 43  PDT  2015

如上,我们执行了历史命令中的第二条

2、还有一个方式是用组合键(Ctrl+r)的形式,快速索引历史记录,如果是一条很长的命令加选项及参数的命令行,那么我们只需要输入前面的命令即可,演示如下。

1 2 3 4 5 6 7 8 [ root @ trustauth.cn  ~ ] # 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会出现如下提示符

1 ( reverse i search ) `:

此时我们输入date,会提示最后一条date命令,那么我们要倒数第二条命令就要再按一次Ctrl+r即可,如果要继续寻找上一条再按一次即可,以此类推

1 ( reverse i search ) ` date:  date  s  “Wed Sep 16 16:17:43 PDT 2015”

以上两个小技巧在日常工作中使用频率是非常高的,还希望大家花点时间,多多实践,理解了bash运行的机制,接下来的课程我们讲解的时候就会更容易理解。

文章转载来自:trustauth.cn

文章版权及转载声明

本文作者:admin 网址:http://news.edns.com/post/217601.html 发布于 2024-12-18
文章转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码