8.1 shell介绍
shell是一个命令解释器,提供用户和机器之间的交互
支持特定语法,比如逻辑判断、循环
每个用户都可以有自己特定的shell
CentOS7默认shell为bash(Bourne Agin Shell)
还有zsh、ksh等
8.2 命令历史
history命令
/root/.bash_history
最大存1000条
/etc/profile中更改变量
source /etc/profile后才能生效
清空内存里面的历史命令
history -c
退出终端历史命令才能保存到.bash_history中
加变量HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S ",history可以显示日期时间
可以将这条变量放到/etc/profile里面永久生效
source /etc/profile后才能生效
永久保存所有命令
如果不正常退出终端命令会记录不全
!!最后一条命令
!n n代表运行history中的第n条命令
!echo 在history中倒序查询以echo开头的命令
8.3 命令补全和别名
tab键
补齐命令或者路径 敲一下
当遇到命令或者路径开头相同多余一个的时候 敲两下
安装下面这个包,可以补齐命令参数,必须重启系统后生效
定义一个alias别名给命令重新起个名字
查看alias
alias在和两个地方定义
每个用户都有自定义的alias
系统自带的alias
取消alias
8.4 通配符
* 匹配 0 或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。
? 匹配任意一个字符 a?b a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] a[0-9]b 0与9之间必须也只能有一个字符 如a0b, a1b... a9b。
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串 a{abc,xyz,123}b a与b之间只能是abc或xyz或123这三个字符串之一。
8.5 输入输出重定向
cat 1.txt> 2.txt 将前面这条命令的输出,直接输入到后面的文件中去 前面文件的内容清空
cat 1.txt>>2.txt 将前面这条命令的输出,直接追加到后面的文件中去,前面文件的内容不清空(追加)
ls aaa.txt 2>err 将前面这条命令的错误输出,直接输入到后面的文件中去
ls aaa.txt 2>>err 将前面这条命令的错误输出,直接追加到后面的文件中去
&> 将正确和错误的结果一同输出
&>> 将正确和错误的结果一同追加
也可以分别输出
输入重定向