shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向
第5周第5次课(4月20日)
课程内容:
8.1 shell介绍
8.2 命令历史
8.3 命令补全和别名
8.4 通配符
8.5 输入输出重定向
8.1 shell介绍
使用yum+管道方式查看zsh和ksh的安装包
8.2 命令历史
敲过的命令也就是历史命令,可以通过上下方向键调出来,而且专门有一个文件保存的。
可以使用history命令查看使用过的历史命令数量,默认值是保留记录1000条,例如我已经执行了928条。
系统内置的环境变量等于1000,所以最大只保留1000条。
[root@jimmylinux-002 ~]# echo $HISTSIZE
[root@jimmylinux-002 ~]# history -c 可以把当前内存里面历史命令清空,但是无法清除存命令的文件,平常用的命令一般都是保存到内存中,只有退出终端以后才真正把命令保存到文件里面。
[root@jimmylinux-002 ~]# vi /etc/profile 定义环境变量的保存数目,可以在 /etc/profile 里面修改。
已经修改为保存5000条,如果让修改的记录生效,需要重新进入终端或者执行 source /etc/profile 命令才能够生效。
可以通过重新指定环境变量格式,把操作过的历史命令以执行时间方式显示出来。
[root@jimmylinux-002 ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
如果想让这个功能生效,可以把环境变量加入到 /etc/profile 和HISTSIZE放一起,重启终端即可。
[root@jimmylinux-002 ~]# vi /etc/profile
[root@jimmylinux-002 ~]# chattr +a ~/.bash_history 永久保存历史命令记录,而且这个文件只能够追加记录,不会被删除。
如果没有使用exit或logout或Ctrl+d正常退出xshell终端,那么bash_history文件记录的命令就不全。
!! 表示执行上一条命令
!n n表示数字,例如运行第939条命令,可以输入!939
!echo 表示从命令历史里面倒着往上找以echo开头的第一条命令
8.3 命令补全和别名
tab命令补全,不仅可以补全命令,也可以补全路径,如果命令只有一个,那么按一下tab就可以补全,如果命令开头有很多相同的,需要按2次tab才可以列出命令开头相同的所有命令,在CentOS6中tab补全只支持命令本身,不支持命令参数,在CentOS7里面不仅支持命令本身还可以支持命令的参数补全,默认不支持,需要先安装一个bash-completion包。
[root@jimmylinux-002 ~]# yum install -y bash-completion 安装completion以后需要重启系统才生效
alias设置别名,可以把命令长的命令设置一个别名。
[root@jimmylinux-002 ~]# alias restartnet='systemctl restart network.service' 例如把重启网络服务设置一个别名为 restartnet
查看alias存放路径,主要有①用户家目录.bashrc里面,②/etc/profile.d/目录里面的colorls.sh和colorgrep.sh里面。
#vi .bashrc 用户家目录里面配置了3个alias
其他剩下的alias在这个目录下 cd /etc/profile.d/
[root@jimmylinux-002 profile.d]# vi colorls.sh 这个里面有2个
[root@jimmylinux-002 profile.d]# vim colorgrep.sh 这个里面有3个
[root@jimmylinux-002 ~]# unalias restartnet 取消自定义的别名
8.4 通配符
操作实例如下
输入输出重定向