⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s1-managing-command-history.html

📁 Redhat9中文官方文档, 初学者必备
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><TITLE>命令历史和 Tab 自动补全</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="Red Hat Linux 9"HREF="index.html"><LINKREL="UP"TITLE="Shell 提示基本知识"HREF="ch-basics.html"><LINKREL="PREVIOUS"TITLE="阅读文本文件的其它命令"HREF="s1-navigating-files-reading.html"><LINKREL="NEXT"TITLE="使用多个命令"HREF="s1-navigating-stringing.html"><LINKREL="STYLESHEET"TYPE="text/css"HREF="rhdocs-man.css"><METAHTTP-EQUIV="Content-Type"CONTENT="text/html; charset=gb2312"></HEAD><BODYCLASS="SECT1"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Red Hat Linux 9: Red Hat Linux 入门指南</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="s1-navigating-files-reading.html"ACCESSKEY="P">后退</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">13. Shell 提示基本知识</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="s1-navigating-stringing.html"ACCESSKEY="N">前进</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="S1-MANAGING-COMMAND-HISTORY"></A>13.12. 命令历史和 Tab 自动补全</H1><P>用不了多久,你就会感觉到一遍遍地重复键入相同命令并不是那么激动人心。一个小小的键入错误会破坏整个命令行。      </P><P>解决办法之一是使用命令行历史。通过使用	<SPANCLASS="KEYCAP"><KEYCAP>[向上箭头]</KEYCAP></SPAN>和<SPANCLASS="KEYCAP"><KEYCAP>[向下箭头]</KEYCAP></SPAN>键来上下滚动,你会发现许多前面已经键入过的命令。      </P><P>我们可以再在 <TTCLASS="FILENAME">sneakers.txt</TT>(在<AHREF="s1-navigating-usingcat.html#S2-NAVIGATING-REDIRECTION">第 13.9.1 节</A>中创建的)文件中试验一下。不过,第一次,让我们在	shell 提示下键入:      </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">cat sneakrs.txt</TT></PRE></TD></TR></TABLE><P>当然,什么也不会发生,因为        <TTCLASS="FILENAME">sneakrs.txt</TT> 文件并不存在。没问题,我们只需使用向上箭头键来把这个命令取回,然后使用向左箭头键把光标移到我们漏掉“e”的地方。插入这个字母后再按 <SPANCLASS="KEYCAP"><KEYCAP>[Enter]</KEYCAP></SPAN> 键。      </P><P>现在我们就可以看到 <TTCLASS="FILENAME">sneakers.txt</TT> 的内容了。      </P><P><BCLASS="APPLICATION">bash</B> 命令行历史文件中可以默认贮存	500 个命令。      </P><DIVCLASS="TIP"><P></P><TABLECLASS="TIP"WIDTH="100%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="./stylesheet-images/tip.png"HSPACE="5"ALT="窍门"></TD><THALIGN="LEFT"VALIGN="CENTER"><B>窍门</B></TH></TR><TR><TD>&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><P>通过在 shell 提示下键入 <TTCLASS="COMMAND">env</TT>	命令,我们会看到控制命令行历史大小的环境变量。写有          <TTCLASS="COMPUTEROUTPUT">HISTFILESIZE=500</TT> 的那一行显示了          <BCLASS="APPLICATION">bash</B> 将会储存的命令数量。        </P></TD></TR></TABLE></DIV><P>命令行历史实际上被保存在一个文件中,它是我们的登录目录中叫做        <TTCLASS="FILENAME">.bash_history</TT> 的文件。我们可以用几种方法来读取:使用	<TTCLASS="COMMAND">vi</TT>、<TTCLASS="COMMAND">cat</TT>、<TTCLASS="COMMAND">less</TT>、<TTCLASS="COMMAND">more</TT>、以及其它命令。      </P><P>请留意这个文件可能会很长。要使用      <TTCLASS="COMMAND">more</TT> 命令来读取它,在你的主目录下键入:      </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">more .bash_history</TT></PRE></TD></TR></TABLE><P>要向前移动一个屏幕,按 <SPANCLASS="KEYCAP"><KEYCAP>[Space]</KEYCAP></SPAN> 键;要向后移动一个屏幕,按	<SPANCLASS="KEYCAP"><KEYCAP>[b]</KEYCAP></SPAN> 键;要退出,按 <SPANCLASS="KEYCAP"><KEYCAP>[q]</KEYCAP></SPAN> 键。      </P><DIVCLASS="TIP"><P></P><TABLECLASS="TIP"WIDTH="100%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="./stylesheet-images/tip.png"HSPACE="5"ALT="窍门"></TD><THALIGN="LEFT"VALIGN="CENTER"><B>窍门</B></TH></TR><TR><TD>&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><P>要不使用箭头键或翻阅历史文件而找到其中的命令,使用	<TTCLASS="COMMAND">grep</TT> 这个功能强大的搜索工具(请参阅<AHREF="s1-navigating-files-reading.html#S2-MANAGING-MOREGREP">第 13.11.3 节</A>)。下面介绍了如何快速地寻找一个前面已用过的命令:假设你在搜寻一个类似于 <TTCLASS="COMMAND">cat          sneak</TT> 什么的命令。你用过了那个命令,你以为它可能还在你的历史文件中。在 shell 提示下键入:        </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">history | grep sneak</TT></PRE></TD></TR></TABLE></TD></TR></TABLE></DIV><P>另一个省时的工具又称为命令自动补全。如果你键入了文件名、命令、或路径名的一部分,然后按        <SPANCLASS="KEYCAP"><KEYCAP>[Tab]</KEYCAP></SPAN> 键,<BCLASS="APPLICATION">bash</B> 要么会把文件或路径名的剩余部分补全,要么会给你一个响铃(如果你的系统中启用了声效的话)。如果你得到的是响铃,只需再按一次	<SPANCLASS="KEYCAP"><KEYCAP>[Tab]</KEYCAP></SPAN> 键来获取与你已键入的部分匹配的文件或路径名的列表。      </P><P>譬如,如果你忘记了命令 <TTCLASS="COMMAND">updatedb</TT>,但是记得这个命令的一部分,你可以用	<TTCLASS="COMMAND">su</TT> 命令变为根用户,然后在 shell 提示下键入 <TTCLASS="COMMAND">up</TT>,连按两次        <SPANCLASS="KEYCAP"><KEYCAP>[Tab]</KEYCAP></SPAN> 键,你便会看到一个可用来补全命令的列表,包括 <TTCLASS="COMMAND">updatedb</TT> 和        <TTCLASS="COMMAND">uptime</TT>。键入部分命令        <TTCLASS="COMMAND">upd</TT>,然后再按 <SPANCLASS="KEYCAP"><KEYCAP>[Tab]</KEYCAP></SPAN> 键,你的命令就会被自动补全。      </P></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="s1-navigating-files-reading.html"ACCESSKEY="P">后退</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="index.html"ACCESSKEY="H">起点</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="s1-navigating-stringing.html"ACCESSKEY="N">前进</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">阅读文本文件的其它命令</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="ch-basics.html"ACCESSKEY="U">上级</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">使用多个命令</TD></TR></TABLE></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -