shell介绍 、命令历史、命令补全和别名 、通配符 、输入输出重定向
8.1 shell介绍
shell是一个命令解释器,提供用户和机器之间的交互
支持特定语法,比如逻辑判断、循环
每个用户都可以有自己特定的shell
CentOS7默认shell为bash(Bourne Agin Shell) 还有zsh、ksh等
8.2 命令历史
history命令 //查看之前的命令
.bash_history //cat /root/.bash_history 该文件存储之前敲过的命令
最大1000条 //查看大于1000是因为没有真正写入内存文件,存在内存中,只有退出终端时,才会写入文件中。
变量HISTSIZE //$HISTSIZE =1000,最大保存1000
history -c //清除内存中的命令历史,不能清除配置文件的命令历史
/etc/profile中修改 //可以修改HISTSIZE变量的值
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " //指定变量的格式,如要使所有终端生效,需要修改配置文件内容
永久保存 chattr +a ~/.bash_history //不正常退出终端,命令保存不全
!! //表示执行最后一条命令
!n //运行第n条命令
!word //执行在命令历史里面倒着找word开头的命令
8.3 命令补全和别名
tab键,敲一下,敲两下 //补全命令,文件路径
参数补全,安装bash-completion //重启
alias别名给命令重新起个名字
各用户都有自己配置别名的文件 ~/.bashrc //该文件配置几个alias
ls /etc/profile.d/
自定义的alias放到~/.bashrc
8.4 通配符
ls *.txt //列出包含.txt文件
ls ?.txt //列出1个任意字符的文件
ls [0-9].txt //列出0.1.2....9中任意一个字符的文件
ls [123].txt //列出包含1、2、3任意一个字符的文件
ls [0-9a-zA-Z].txt //同上
ls {1,2}.txt //同上
8.5 输入输出重定向
cat 1.txt >2.txt //把1.txt的内容输出,重定向到2.txt文件里面
cat 1.txt >> 2.txt //追加原内容不会被删除
ls aaa.txt 2>err //命令产生的错误信息,指定输出到某一文件
ls aaa.txt 2>>err //错误追加重定向
wc -l < 1.txt //输入重定向
command >1.txt 2>&1