Loading... <h3 style="text-align: left"><strong><span style="font-size: 14px">一、历史命令</span></strong></h3> <p style="text-align: left"><span style="font-size: 14px"> bash提供存储历史命令的功能,下面来详细介绍一下。</span></p> <p style="text-align: left"><span style="font-size: 14px"> <strong>1、history命令</strong></span></p> <p style="text-align: left"><span style="font-size: 14px"> 命令格式:history [options] </span></p> <p style="text-align: left"><span style="font-size: 14px"> options:</span></p> <p style="text-align: left"><span style="font-size: 14px"> 不带参数选项:显示所有使用过的命令;</span></p> <p style="text-align: left"><span style="font-size: 14px"> #(数字):显示最近使用过的#条命令;</span></p> <p style="text-align: left"><span style="font-size: 14px"> -c:清除目前shell中所有的历史命令;</span></p> <p style="text-align: left"><span style="font-size: 14px"> -d #:清除条#条命令;<br /></span></p> <p style="text-align: left"><span style="font-size: 14px"> -r:将历史命令配置文件(默认~/.bash_history)中的内容读到目前的shell中;</span></p> <p style="text-align: left"><span style="font-size: 14px"> -a [FILE]:将新增的历史命令导入到FILE中,不指定则保存到~/.bash_history中;</span></p> <p style="text-align: left"><span style="font-size: 14px"> -w:将目前的所有的历史命令写入到历史命令配置文件中;</span></p> <p style="text-align: left"><span style="font-size: 14px"> (1)查看最近10条历史命令方法一;<br /></span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703160228-45-1.png" title="1429588703104018.png" alt="1.png" /></p> <p><span style="font-size: 14px"> (2)查看最近10条历史命令方法二;<br /></span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703160228-93.png" title="1429588805752258.png" alt="2.png" /></p> <p><span style="font-size: 14px"> (3)将历史命令写入到~/.bash_history中;<br /></span></p> <p><span style="font-size: 14px"> 先来查一下文件中的内容;<br /></span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703160228-69-1.png" title="1429588970193272.png" alt="3.png" /></p> <p style="text-align: left"><span style="font-size: 14px"> 更新此文件中的内容;</span></p> <p style="text-align: left"><img src="//cto.wang/usr/uploads/2016/07/20160703160228-70.png" title="1429589030218412.png" alt="4.png" /><span style="font-size: 14px"> 从上面的结果可以看到最后面的命令已被替换成最新的了,而且我们也发现一个问题,~/.bash_history文件最多只能存储1000条记录; 其实我们可以根据需要来修改这个值。</span></p> <p style="text-align: left"><span style="font-size: 14px"> <strong>2、历史命令的相关变量</strong></span></p> <p style="text-align: left"><span style="font-size: 14px"> (1)用户退出时的持久保存位置</span></p> <p style="text-align: left"><span style="font-size: 14px"> 从上面的例子可知默认的保存位置为~/.bash_history,可以通过修改环境变量HISTFILE更换;</span></p> <p style="text-align: left"><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160229-55.png" title="1429597194135243.png" alt="5.png" /></span></p> <p style="text-align: left"><span style="font-size: 14px"> (2)文件中可以保存的最大条目</span></p> <p style="text-align: left"><span style="font-size: 14px"> 环境变量:HISTFILESIZE</span></p> <p style="text-align: left"><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160229-10.png" title="1429597567746243.png" alt="6.png" /></span></p> <p style="text-align: left"><span style="font-size: 14px"> (3) 命令保存的最大条目</span></p> <p style="text-align: left"><span style="font-size: 14px"> 环境变量:HISTSIZE</span></p> <p style="text-align: left"><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160229-28.png" title="1429597589447475.png" alt="7.png" /></span></p> <p style="text-align: left"><span style="font-size: 14px"> (4) 命令显示控制</span></p> <p style="text-align: left"><span style="font-size: 14px"> 环境变量:HISTCONTROL</span></p> <p style="text-align: left"><span style="font-size: 14px"> 变量值的含义:<br /></span></p> <p style="text-align: left"><span style="font-size: 14px"> ignoredups:忽略重复的命令,连续的相同命令才会为重复</span></p> <p style="text-align: left"><span style="font-size: 14px"> ignorespace:忽略以空白字符打头的命令</span></p> <p style="text-align: left"><span style="font-size: 14px"> ignoreboth:以上二者同时生效</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160229-1.png" title="1429598170966229.png" alt="6.png" /></span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160229-97.png" title="1429598437596982.png" alt="7.png" /></span></p> <p><span style="font-size: 14px"> <strong> 3、bash调用历史命令列表中的命令</strong></span></p> <p><span style="font-size: 14px"> !#:执行命令历史中的第#条命令</span></p> <p style="text-align: left"><span style="font-size: 14px"> !!:执行上一条</span></p> <p style="text-align: left"><span style="font-size: 14px"> !string:执行命令历史中最近一次以string开头的命令</span></p> <p><span style="font-size: 14px"> !$:调用上一条命令最后一个参数</span></p> <p style="text-align: left"><span style="font-size: 14px"> 按ESC松开后按“.” :功能同上</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703160229-96.png" title="1429598825109541.png" alt="8.png" /></p> <h3 style="text-align: left"><span style="font-size: 14px">二、命令别名</span></h3> <p style="text-align: left"><span style="font-size: 14px"> bash支持为命令设置别名,以达到方便输入和记忆的目的。<br /></span></p> <p style="text-align: left"><span style="font-size: 14px"> <strong>1、设置别名:alias命令</strong><br /></span></p> <p style="text-align: left"><span style="font-size: 14px"> alias命令用法比较简单,下面直接举例说明:</span></p> <p style="text-align: left"><img src="//cto.wang/usr/uploads/2016/07/20160703160229-87.png" title="1429599250112950.png" alt="9.png" /><img src="//cto.wang/usr/uploads/2016/07/20160703160229-25.png" title="1429599416106668.png" alt="10.png" /></p> <p><span style="font-size: 14px"> 使用命令设置的别名并不能永久生效,可以在~/.bashrc文件中设置别名;</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703160229-69.png" title="1429600621245342.png" alt="11.png" style="font-size: 14px" /></p> <p><span style="font-size: 14px"> <strong> 2、<span style="font-size: 14px">撤消别名:unalias命令</span></strong> </span></p> <p><span style="font-size: 14px"> <span style="font-size: 14px"> -a:撤消所有别名</span></span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160229-15.png" title="1429600830536773.png" alt="12.png" /></span></p> <p style="text-align: left"> 同样,命令行中并不能真正撤消别名,还需要修改配置文件;</p> <p style="text-align: left"><img src="//cto.wang/usr/uploads/2016/07/20160703160229-59.png" title="1429600934376311.png" alt="12.png" /><img src="//cto.wang/usr/uploads/2016/07/20160703160229-62.png" title="1429600990453375.png" alt="1.png" /></p> <p><span style="font-size: 14px"> <strong>3、当命令别名与命令本身相同,如何才能不使用别名的定义来执行命令:</strong></span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160229-30.png" title="1429601366498314.png" alt="13.png" /></span></p> <p style="text-align: left"><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160229-23.png" title="1429601471138948.png" alt="14.png" /> </span></p> <p><br style="text-align: left" /></p> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信