shell基础

1. shell介绍

shell是系统与计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西----系统内核。用户直接面对的不是计算机硬件而是shell,用户把命令告诉shell,然后shell再传输给系统内核,接着再去支配计算机硬件去执行各种操作。

默认安装的shell版本是bash(Bourne Again Shell),它是sh(Bourne Shell)的增强版本。

2. 命令历史

执行过的命令Linux都会记录,默认可以记录1000条命令历史,存放在每个用户的家目录的.bash_history文件中,只有当用户正常退出当前shell时,在当前shell中运行的命令才会被保存到.bash_history文件中。

shell基础

使用命令‘vi /etc/profile’修改默认命令历史条数;

shell基础

修改后保存退出,重新查看,发现还是1000条,这时候需要执行命令‘source /etc/profile’,更新一下;

shell基础

执行history命令,

shell基础

在/etc/profile下,添加’HISTTIMEFORMAT="%Y%m%d %H%M%S " ’;

shell基础

可以看到显示日期和时间;

shell基础

!是与命令历史有关的一个特殊字符;

!!:表示执行上一条命令;

!n:表示执行命令历史中的第n条命令;

!字符串:例如‘!ls’表示执行命令历史中最近一次以ls开头的命令。

3. 命令补全和别名

tab键,敲一下,匹配命令和参数,敲两下,显示匹配信息供选择;

alias命令会列出系统上所有别名信息;

shell基础

alias也可以自定义别名;取消自定义别名使用‘unalias’;

alias别名配置文件存放在当前用户的家目录下的.bashrc文件中和/etc/profile.d目录下的相应文件中。

shell基础

shell基础

4. 通配符

在bash下,可以使用*来匹配零个或多个字符,而?则匹配一个字符;

shell基础

用【】筛选满足条件的.txt文件;

shell基础

用{}筛选满足条件的.txt文件;

shell基础

5. 输入/输出重定向

输入重定向用于改变命令的输入,输出重定向用于改变命令的输出。输出重定向更为常用,它经常用于将命令的结果输入到文件中,而不是屏幕上。输入重定向的命令是<,输出重定向的命令是>,追加重定向的命令是>>。

输入重定向一般不使用,右边必须为命令;

shell基础

输出重定向及追加重定向;

shell基础

错误重定向的命令为2>;

shell基础

可将错误和正确的命令同时输出到一个文件,使用&>;

shell基础

也可将错误和正确的命令输出到不同文件。

shell基础