在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.使用 HISTTIMEFORMAT 显示时间戳 复制代码 代码如下:# export HISTTIMEFORMAT='%F %T ' # history | more 1 2008-08-05 19:02:39 service network restart 2 2008-08-05 19:02:39 exit 3 2008-08-05 19:02:39 id 4 2008-08-05 19:02:39 cat /etc/redhat-release 注意:这个功能只能用在当 HISTTIMEFORMAT 这个环境变量被设置之后,之后的那些新执行的 bash 命令才会被打上正确的时间戳。在此之前的所有命令,都将会显示成设置HISTTIMEFORMAT 变量的时间。 2.使用 Ctrl+R 搜索历史 复制代码 代码如下:# [Press Ctrl+R from the command prompt, which will display the reverse-i-search prompt] (reverse-i-search)`red‘: cat /etc/redhat-release [Note: Press enter when you see your command, which will execute the command from the history] # cat /etc/redhat-release Fedora release 9 (Sulphur) 3.快速重复执行上一条命令 4.从命令历史中执行一个指定的命令 复制代码 代码如下:# history | more 1 service network restart 2 exit 3 id 4 cat /etc/redhat-release # !4 cat /etc/redhat-release Fedora release 9 (Sulphur) 5.通过指定关键字来执行以前的命令 复制代码 代码如下:# !ps ps aux | grep yp root 16947 0.0 0.1 36516 1264 ? Sl 13:10 0:00 ypbind root 17503 0.0 0.0 4124 740 pts/0 S+ 19:19 0:00 grep yp 6.使用 HISTSIZE 控制历史命令记录的总行数 复制代码 代码如下:# vi ~/.bash_profile HISTSIZE=450 HISTFILESIZE=450 7.使用 HISTFILE 更改历史文件名称 复制代码 代码如下:# vi ~/.bash_profile HISTFILE=/root/.commandline_warrior 8.使用 HISTCONTROL 从命令历史中剔除连续重复的条目 复制代码 代码如下:# pwd # pwd # pwd # history | tail -4 44 pwd 45 pwd 46 pwd [Note that there are three pwd commands in history, after executing pwd 3 times as shown above] 47 history | tail -4 # export HISTCONTROL=ignoredups # pwd # pwd # pwd # history | tail -3 56 export HISTCONTROL=ignoredups 57 pwd [Note that there is only one pwd command in the history, even after executing pwd 3 times as shown above] 58 history | tail -4 9.使用 HISTCONTROL 清除整个命令历史中的重复条目 复制代码 代码如下:# export HISTCONTROL=erasedups # pwd # service httpd stop # history | tail -3 38 pwd 39 service httpd stop 40 history | tail -3 # ls -ltr # service httpd stop # history | tail -6 35 export HISTCONTROL=erasedups 36 pwd 37 history | tail -3 38 ls -ltr 39 service httpd stop [Note that the previous service httpd stop after pwd got erased] 40 history | tail -6 10.使用 HISTCONTROL 强制 history 不记住特定的命令 复制代码 代码如下:# export HISTCONTROL=ignorespace # ls -ltr # pwd # service httpd stop [Note that there is a space at the beginning of service, to ignore this command from history] # history | tail -3 67 ls -ltr 68 pwd 69 history | tail -3 11.使用 -c 选项清除所有的命令历史 复制代码 代码如下:# history -c 12.命令替换 在下面的例子里,!!:$ 将为当前的命令获得上一条命令的参数: 复制代码 代码如下:# ls anaconda-ks.cfg anaconda-ks.cfg # vi !!:$ vi anaconda-ks.cfg 补充:使用 !$ 可以达到同样的效果,而且更简单。 复制代码 代码如下:# cp anaconda-ks.cfg anaconda-ks.cfg.bak anaconda-ks.cfg # vi -5 !^ vi anaconda-ks.cfg 13.为特定的命令替换指定的参数 复制代码 代码如下:# cp ~/longname.txt /really/a/very/long/path/long-filename.txt # ls -l !cp:2 ls -l /really/a/very/long/path/long-filename.txt 下例里,!cp:$ 获取 cp 命令的最后一项参数: 复制代码 代码如下:# ls -l !cp:$ ls -l /really/a/very/long/path/long-filename.txt 14.使用 HISTSIZE 禁用 history 复制代码 代码如下:# export HISTSIZE=0 # history # [Note that history did not display anything] 15.使用 HISTIGNORE 忽略历史中的特定命令 复制代码 代码如下:# export HISTIGNORE=”pwd:ls:ls -ltr:” # pwd # ls # ls -ltr # service httpd stop # history | tail -3 79 export HISTIGNORE=”pwd:ls:ls -ltr:” 80 service httpd stop 81 history [Note that history did not record pwd, ls and ls -ltr] |
请发表评论