shell介绍
shell是一个命令解释器,提供用户和机器之间的交互
支持特定语法,比如逻辑判断、循环
每个用户都可以有自己特定的shell
CentOS7默认shell为bash(Bourne Agin Shell)
还有zsh、ksh等
命令历史
# history 查看命令历史
用户的history命令历史存放地址 cat /root/.bash_history
最大可以存放1000条
他是有# echo $HISTSIZE这个定义的
# history -c 当面命令历史清空,不能清空配置文件
只有退出终端的时候,他才会写入.bash_history 否则他在系统内存中
更改大一点的命令历史存放条数
/etc/profile 修改这个配置文件
HISTSIZE=1000 吧这个参数改大一点
最后刷新下变量# source /etc/profile(立即刷新)
让他在当前终端显示命令历史详细操作时间
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

可以加入系统变量里面
永久保存命令历史
chattr +a ~/.bash_history 加上只能追加不能删除
如果不正常退出那么他保存的命令记录就不全
!! 执行上一条命令(执行history中的最后一条命令)
!n 执行history里面第n条命令
!echo 在history里面倒数网上找,离有带echo命令最近的命令
命令补全和别名
tab键,敲一下,敲两下
centos7支持参数补全 6不支持,默认系统不支持需要安装一个包
yum install -y bash-completion
安装完成后需要重启下系统他才会生效
# alias ah='systemctl restart network.service' 设置命令历史
alias存在家目录下的.bashrc
其他还有一些的定义命令在
ls /etc/profile.d/这个目录下
unalias ah 取消别名
通配符
# ls *.txt * 不分什么字符和几个
# ls ?.txt 包含一个字符
# ls [0-9].txt 可以是一个范围或者【12】表示1和2
# ls {1,2}.txt 包含1或者2
输入输出重定向
# cat 1.txt >2.txt 吧前面的内容重定向到2.txt里面去,会吧原先的内容删除掉重写
# cat 1.txt >> 2.txt 追加重定向
# ls aaa.txt 2>文件名 吧错误信息定义到一个文件下去
# ls aaa.txt 2>>文件名 吧错误信息追加定义到一个文件下去
&> 吧正确的输出信息定义到一个文件里面去,也支持追加
# wc -l < 1.txt
左边必须要是一个命令
# command >1.txt 2>a.txt 定义一个正确的和不正确的分别输出到不同的文件


