23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

8.1 shell介绍

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

8.2 命令历史

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

敲过的命令实际上是有个文件保存的,可以按上下键,可以查看之前用过的命令。这些命令在用户的家目录下,/root/.bash_history文件下保存着。这个文件里面最大可以存1000条,是由系统的环境变量$HISTSIZE来改变的。如下图:
23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

命令history -c命令如下:

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

变量HISTSIZE去/etc/profile中修改如下图

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

改完数值后进行一下操作才能用如下:

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

上图怎么样才能把这条命令的运行时间记录下来如下图:

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"

做完上图操作重新打开个终端是没有的,因为这个命令是在当前终端下生效的,系统默认这个环境变量是不存在的里面是空的。退回刚才设置变量的终端。如下图

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

上图使用的记录时间已经显示出来,上图的显示效果就是HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"才生效的。

如果想让HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"永久生效就给他设置到/etc/profile里面如下图

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

上图设置完后source /etc/profile一下才生效。

永久保存使用过的命令不想人为删除。如下

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

两个叹号!!的意思是,你的上一条命令
!n表示我想运行多少行命令就在n的表示我想运行多少行命令就在n的地方写上行数
!echo 他会在命令历史里边倒着往上找第一个以echo开头的命令

8.3 命令补全和别名

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

tab键,为补全键但是默认是不支持的说以需要安装如下

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

unalias取消别名

8.4 通配符

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

8.5 输入输出重定向

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

大于号 >和双大于号>> 正确的示例

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...
你上操作属于正确重定向正确追加 ,。

2>和2>>错误的示例如下

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

&1这个符号是> >> 2> 2>>的结合 就是>+2>==&>

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

<小于号是输入重定向

23次课(shell介绍、命令历史、命令补全和别名、 通配符、输入输出重定向)...

转载于:https://blog.51cto.com/8043410/2060035