1.什么是shell
shell是命令解释器
支持特定语法,例如逻辑判断,循环
centos7默认使用的是bash(Bourne Agin Shell)
此外还有zsh、ksh等
2.查看命令历史
history命令
查看使用过的命令(当前终端和原先正常退出的终端时保存的历史记录)
history -c 清空内存中使用过的命令历史
~/.bash_history (终端正常退出时,会将使用过的命令从内存写入该文件)
默认情况下保存1000条
若想改变保存数量,则需要修改/etc/profile变量HISTSIZE
若想同时保留敲入的命令时间,则需配置/etc/profile变量HISTTIMEFORMAT
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
若不写入/etc/profile,只是在当前终端输入的话,只会在当前终端生效
修改完后source生效(或重启终端)
source /etc/profile
使命令记录永久保存chattr +a ~/.bash_history (使其只能追加)
!!使用上一条命令
!n使用history中的第n条命令
!xxx 会从最近使用过的命令向上找第一个匹配到命令是xxx开头的命令
3.命令不全
tab键 敲一下是命令不全 敲两下是路径补全
参数补全:(centos6不支持,centos7支持)
需要安装支持包 bash-completion
yum install -y bash-completion
需重启生效
alias 用来给命令取别名
例如:
我们平常使用的ll 是系统默认帮我们取的别名
存放在/etc/profile.d/colorls.sh
系统默认别名存放在
/etc/profile.d/
用户自定义别名存放在
~/.bashrc
若想取消自定义别名,则使用
unalias xxx(别名命令)
4.通配符
3.1通配符:
* :任意长度字符匹配
?:任意1长度的字符匹配
[0-9]: 在该范围内任意1长度的字符匹配 额外例子:[0-9a-zA-z]
{0,5,9}:在这几个选项内任意1长度的字符匹配
5.重定向输出
>: 将前面的输出作为后面的输入(后面的原内容被删除,覆盖)
>>: 将前面的输出作为后面的输入(后面的原内容保留,只是追加新内容)
2>: 将前面的错误信息作为后面的输入(后面的原内容被删除,覆盖)
2>>: 将前面的错误信息作为后面的输入(后面的原内容保留,只是追加新内容)
&>:例如command &>1.txt 等价于>1.txt 2>1.txt 不管command是否有错误,都将结果输出到1.txt
&>>: 和上一条差异在于是追加
<: 输入重定向 例如:wc-l <1.txt 将右边的内容输入到左边的命令里。