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文件中。
使用命令‘vi /etc/profile’修改默认命令历史条数;
修改后保存退出,重新查看,发现还是1000条,这时候需要执行命令‘source /etc/profile’,更新一下;
执行history命令,
在/etc/profile下,添加’HISTTIMEFORMAT="%Y%m%d %H%M%S " ’;
可以看到显示日期和时间;
!是与命令历史有关的一个特殊字符;
!!:表示执行上一条命令;
!n:表示执行命令历史中的第n条命令;
!字符串:例如‘!ls’表示执行命令历史中最近一次以ls开头的命令。
3. 命令补全和别名
tab键,敲一下,匹配命令和参数,敲两下,显示匹配信息供选择;
alias命令会列出系统上所有别名信息;
alias也可以自定义别名;取消自定义别名使用‘unalias’;
alias别名配置文件存放在当前用户的家目录下的.bashrc文件中和/etc/profile.d目录下的相应文件中。
4. 通配符
在bash下,可以使用*来匹配零个或多个字符,而?则匹配一个字符;
用【】筛选满足条件的.txt文件;
用{}筛选满足条件的.txt文件;
5. 输入/输出重定向
输入重定向用于改变命令的输入,输出重定向用于改变命令的输出。输出重定向更为常用,它经常用于将命令的结果输入到文件中,而不是屏幕上。输入重定向的命令是<,输出重定向的命令是>,追加重定向的命令是>>。
输入重定向一般不使用,右边必须为命令;
输出重定向及追加重定向;
错误重定向的命令为2>;
可将错误和正确的命令同时输出到一个文件,使用&>;
也可将错误和正确的命令输出到不同文件。