8.1 shell介绍
8.2 命令历史
8.3 命令补全和别名
8.4 通配符
8.5 输入输出重定向
Shell介绍
shell是命令解释器(提供用户和机器之间的交互),支持特定语法,如逻辑判断,循环
CentOS7的默认shell是bash (Bourne Agin Shell)
创建一个普通用户默认shell为bin bash
命令历史
命令历史 ls /root/.bash_history 中 history 查看条数,默认最大1000条记录
由环境变量HISTSIZE决定 echo $HISTSIZE
history -c 清空内存中的命令历史,不会删除存储命令的配置文件
vi /etc/profile /HISTSIZE 可修改
source /etc/profile 或重新登录终端让上述变量生效
显示敲命令的时间,重新赋值变量:
HISTTIMEFORMAT= "%Y/%m/%d' %H:%M:%S "
echo $HISTTIMEFORMAT 仅支持当前窗口
想要在新的窗口也让该环境变量生效,需vim /etc/profile 把HISTTIMEFORMAT参数加入,source后重新打开窗口
永久保存命令: chattr +a ~/.bash.history (例外:如果没有正常退出系统,当前敲的命令不会完全保存到.bash/history中)
!!运行最后一条命令
!n 运行第n条命令
!word 在命令历史中倒着找,, 如!echo 执行倒数第一个以echo为开头的命令
命令补全和别名
tab,敲一下,敲两下(搜索文件多于2个)
安装bash-completion 包,重启系统参数补全包生效
rpm -qa bash-completion查看是否安装
alias xxx= ' ' 可简化并自定义命令行, unalias取消自定义别名
执行alias可直接查看
用户家目录下的vi .bashrc下有3条alias
/etc/profile. d/ 中有alias
.bashrc /etc/profile.d/
通配符
*表通配 如 *.txt
?表示一个任意字符
ls [0-3].txt 方框中的数字表范围
ls{0-3}.txt 或 字符中需要加,
输入输出重定向
输出重定向
> : 把前面的内容重写到后面中
>>:追加
2> 把文件的错误信息写入
2>> 把文件的错误信息追加
> +2>==&>
使用cat命令查看已定向的输出信息
e.g. ls [12].txt aaa.txt &>a.txt (前者txt存在,第二个不存在)
补充:同时有正确和错误的输出
ls [12].txt aaa.txt > 1.txt 2>a.txt
cat 1.txt 1.txt 2.txt
cat a.txt ls:无法访问aaa.txt:没有那个文件和目录
输入重定向
<表示输入重定向 e.g. wc -l (查看文本文档的行数) 2.txt < 1.txt 报错,左边必须为命令
wc -l > 1.txt = = wc -l <1.txt