1.shell(Bourne Agin shell)是一个命令解析器,提供用户和机器之间的交互,还有zsh、ksh
2.我们敲过的命令在什么地方存的呢?在家目录下的.bash_history文件中,最多可以保存1000条命令,可以用户history命令查看。
[root@bogon ~]# ls /root/.bash_history /root/.bash_history [root@bogon ~]#
3.1000条的个数是有环境变量$HISTSIZE 控制的
[root@bogon ~]# echo $HISTSIZE 1000 [root@bogon ~]#
4.清空当前的命令历史记录,不能清空配置文件中的命令
[root@bogon ~]# history -c [root@bogon ~]#
[root@bogon ~]# history 1 history [root@bogon ~]#
5.刚敲得命令不是直接保存到文件中,先保存到内存中,当我们退出终端才保存到文件中。
6.HISTSIZE环境变量控制命令保存条数配置文件在etc/profile中
7.我们将这个值改成5000变量值并不会立即生效,必须source下才生效
[root@bogon ~]# echo $HISTSIZE 1000 [root@bogon ~]# source /etc/profile [root@bogon ~]# echo $HISTSIZE 5000 [root@bogon ~]#
8.想要查看命令是什么时间执行的可以在当前终端定义环境变量
[root@bogon ~]# HISTTIMEFORMAT="%Y%m/%d %H:%M:%S " [root@bogon ~]#
9.再执行history发现可以看到时间了
[root@bogon ~]# history 1 201712/29 16:15:32 history 2 201712/29 16:19:51 vim /etc/profile 3 201712/29 16:22:32 echo $HISTSIZE 4 201712/29 16:23:10 source /etc/profile 5 201712/29 16:23:20 echo $HISTSIZE 6 201712/29 16:24:49 history 7 201712/29 16:28:56 HISTTIMEFORMAT="%Y%m/%d %H:%M:%S " 8 201712/29 16:29:19 history [root@bogon ~]#
10.如果想永久生效需要将环境变量添加到/etc/profile文件中,然后保存推出source一下/etc/profile文件
11.永久生效了
[root@bogon ~]# echo $HISTTIMEFORMAT %Y%m/%d %H:%M:%S [root@bogon ~]#
12.永久保存命令文件,执行了命令以后用户运行的所有命令都会已追加的形式被保存下来(直接关闭终端不会记录刚敲的命令)
[root@bogon ~]# chattr +a ~/.bash_history [root@bogon ~]#
13.!!就是上一条命令
14.!n 就是运行多少条命令,n指的是多少条
15.!word 是从下往上找以单词word开头的执行过的命令执行
命令补全和别名
1.默认不支持命令产生补全,需要安装bash-completion包,按完之后重启系统
[root@bogon ~]# yum install -y bash-completion
2.如果命令太长可以给命令起别名,然后直接执行restartnet就行了
[root@bogon ~]# alias restartnet=‘systemctl restart network.service‘ [root@bogon ~]#
3.查看所有的alias别名命令
[root@bogon ~]# alias alias cp=‘cp -i‘ alias egrep=‘egrep --color=auto‘ alias fgrep=‘fgrep --color=auto‘ alias grep=‘grep --color=auto‘ alias l.=‘ls -d .* --color=auto‘ alias ll=‘ls -l --color=auto‘ alias ls=‘ls --color=auto‘ alias mv=‘mv -i‘ alias restartnet=‘systemctl restart network.service‘ alias rm=‘rm -i‘ alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘ [root@bogon ~]#
4.用户家目录下的.bashrc文件中有系统配置的alias
[root@bogon ~]# vim .bashrc
5.其他的alias配置在/etc/profile.d/下
[root@bogon profile.d]# cd /etc/profile.d/ [root@bogon profile.d]# ls 256term.csh colorls.csh PackageKit.sh vim.sh 256term.sh colorls.sh qt.csh vte.sh abrt-console-notification.sh lang.csh qt-graphicssystem.csh which2.csh bash_completion.sh lang.sh qt-graphicssystem.sh which2.sh colorgrep.csh less.csh qt.sh colorgrep.sh less.sh vim.csh [root@bogon profile.d]#
6.取消自定义的别名
[root@bogon profile.d]# unalias restartnet [root@bogon profile.d]#