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 通配符

操作实例如下

输入输出重定向

 

posted @ 2018-04-18 22:16  吉米乐享驿站  阅读(291)  评论(0编辑  收藏  举报