bash的基本特性

bash的基本特性:

本文介绍并说明了Linux中bash的基本特性,是linux shell脚本编程的基础

概念

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](https://baike.baidu.com/item/Mac OS X)默认的shell,它能运行于大多数类Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现Windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。

bash的命令语法是Bourne shell命令语法的超集。数量庞大的Bourne shell脚本大多不经修改即可以在bash中执行,只有使用了Bourne的特殊变量或内置命令的脚本才需要修改。 bash的命令语法很多来自Korn shell (ksh) 和 C shell (csh), 例如命令行编辑,命令历史,目录栈,$RANDOM 和 $PPID 变量,以及POSIX的命令置换语法: $(…)。作为一个交互式的shell,按下TAB键即可自动补全已部分输入的程序名、文件名、变量名等等。

命令——历史(history)

作用:查看之前使用的命令

关于历史命令的文件:在每个用户家目录下的 .bash_history中

在关机时,会自动写入一次历史命令,同时还有种手动写入文件的命令

1
history -a

输入后,可去历史文件中查看验证

关于history命令的变量(环境变量)

env //查看环境变量

set //查看更详细的环境变量参数

HISTSIZE=1000 数量

HISTCONTROL=ignoredups
Ignoredups 忽略重复的历史命令 – 连续且相同,才叫重复
Ignorespace 忽略空白开头的历史命令,“键入空格开头则不会被记录”
Ignoreboth 两者都生效
HISTFILE=/root/.bash_history
HISTFILESIZE=1000

常用命令

​ !# #表示数值,执行#行的命令

​ !string 匹配最近一次的字符串

​ !! 执行上一条命令

​ * !$ * 上一条命令的最后一个参数

history的常见操作

​ 查看命令历史

​ 常见的选项:

​ -a #将当前的记录信息,添加到 /root/.bash_history中

​ -d #删除指定行

​ 删除前:

​ 删除第6行后:

​ -c #清除所有记录

​ -# (数字) 显示最近#行的命令

​ ![](day01–bash的基本特性/history #.jpg)

文章目录
  1. 1. 概念
  2. 2. 命令——历史(history)
    1. 2.1. 作用:查看之前使用的命令
    2. 2.2. 常用命令
    3. 2.3. history的常见操作
dn-lbstatics.qbox.me