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

📄 s1-navigating-files-reading.html

📁 linux初学者很好的学习资料
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><TITLE>阅读文本文件的其它命令</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-pipes.html"><LINKREL="NEXT"TITLE="命令历史和 Tab 自动补全"HREF="s1-managing-command-history.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-pipes.html"ACCESSKEY="P">后退</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">13. Shell 提示基本知识</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="s1-managing-command-history.html"ACCESSKEY="N">前进</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="S1-NAVIGATING-FILES-READING"></A>13.11. 阅读文本文件的其它命令</H1><P>我们已经向你介绍了几个基本的在文本编辑器内阅读文件的 shell      提示下的命令。下面列举了其它几个此类命令。      </P><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-MANAGING-HEAD"></A>13.11.1. head 命令</H2><P>你可以使用 <TTCLASS="COMMAND">head</TT> 命令来查看文件的开头部分。此项命令是:	</P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">head <TTCLASS="FILENAME"><TTCLASS="REPLACEABLE"><I>&#60;filename&#62;</I></TT></TT></TT></PRE></TD></TR></TABLE><P><TTCLASS="COMMAND">head</TT> 是一个有用的命令,但是由于它只限于文件的最初几行,你看不到文件实际上有多长。按照默认设置,你只能阅读文件的前十行。你可以通过指定一个数字选项来改变要显示的行数,如下面的命令所示:      </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">head -20 <TTCLASS="FILENAME"><TTCLASS="REPLACEABLE"><I>&#60;filename&#62;</I></TT></TT></TT></PRE></TD></TR></TABLE></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-MANAGING-TAIL"></A>13.11.2. tail 命令</H2><P>与 <TTCLASS="COMMAND">head</TT> 命令恰恰相反的是	<TTCLASS="COMMAND">tail</TT> 命令。使用 <TTCLASS="COMMAND">tail</TT> 命令,你可以查看文件结尾的十行。这有助于查看日志文件的最后十行来阅读重要的系统消息。你还可以使用	  <TTCLASS="COMMAND">tail</TT> 来观察日志文件被更新的过程。使用 <TTCLASS="OPTION">-f</TT>	  选项,<TTCLASS="COMMAND">tail</TT> 会自动实时地把打开文件中的新消息显示到屏幕上。例如,要活跃地观察	  <TTCLASS="FILENAME">/var/log/messages</TT>,以根用户身份在 shell 提示下键入以下命令:</P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">tail -f <TTCLASS="FILENAME">/var/log/messages</TT></TT></PRE></TD></TR></TABLE></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-MANAGING-MOREGREP"></A>13.11.3. grep 命令</H2><P><TTCLASS="COMMAND">grep</TT> 命令对于在文件中查找指定的字串很有用途。例如,如果你想在	  <TTCLASS="FILENAME">sneakers.txt</TT> 文件中查找每一个提到“coffee”的地方,你可以键入:	</P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">grep coffee sneakers.txt</TT></PRE></TD></TR></TABLE><P>你就会看到文件中带有“coffee”的每一行。	</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> 搜寻是<ICLASS="FIRSTTERM">区分大小写(case sensitive)</I>的。这意味着搜寻	  <ICLASS="EMPHASIS">Coffee</I> 与搜寻	    <ICLASS="EMPHASIS">coffee</I> 不同。在 <TTCLASS="COMMAND">grep</TT> 的选项中有	    <TTCLASS="COMMAND">-i</TT> 这一项,它会允许你在搜寻文件时不区分大小写。关于这个命令的详情,请阅读	    <TTCLASS="COMMAND">grep</TT> 的说明书(man)页。	  </P></TD></TR></TABLE></DIV></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-MANAGING-IO"></A>13.11.4. I/O 重导向和管道</H2><P>当你想贮存及(或)打印信息以便以后阅读时,你可以使用管道和输出重导向。	</P><P>譬如,你可以使用 <TTCLASS="COMMAND">grep</TT>	来搜寻文件中的某一类内容,然后把结果保存在文件中或发送给打印机。	</P><P>譬如,要打印 <TTCLASS="FILENAME">sneakers.txt</TT> 文件中关于“coffee”的行,只需键入:	</P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">grep coffee sneakers.txt | lpr</TT></PRE></TD></TR></TABLE></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-MANAGING-WILD"></A>13.11.5. 通配符和正则表达式</H2><P>如果你忘记了你要找的文件名怎么办?答案是使用通配符或正则表达式。你在不知道完整的文件名的情况下也可以在该文件上执行操作。只需填写你所知的部分,剩余部分用<ICLASS="FIRSTTERM">通配符(wildcard)</I>来替代。通配符是特殊符号,你可以用它们来替换字母、数字和符号,这比仔细查阅长目录列表来寻找某个文件要容易得多。	</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">bash</TT> 的说明书页(<TTCLASS="COMMAND">man	    bash</TT>)。请记住,你可以把这个文件存为一个文本文件,方法是键入	    <TTCLASS="COMMAND">man bash | col -b &#62;	    bash.txt</TT> 命令。然后,你便可以使用	    <TTCLASS="COMMAND">less</TT> 或	    <TTCLASS="COMMAND">vi</TT>(<TTCLASS="COMMAND">vi bash.txt</TT>)来打开并阅读该文件。如果你想打印该文件,请留意它的篇幅很长。	  </P></TD></TR></TABLE></DIV><P>我们知道这个文件叫做“sneak____.txt”,因此键入:	</P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">ls sneak*.txt</TT></PRE></TD></TR></TABLE><P>这就会显示这个文件的全名:	</P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="FILENAME">sneakers.txt</TT></PRE></TD></TR></TABLE><P>你在搜索时最常使用的可能是星号(<TTCLASS="COMMAND">*</TT>)。这个星号会选出匹配你所搜寻图案的一切。因此即便你键入了:	</P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">ls *.txt</TT></PRE></TD></TR></TABLE><P>	  或:	</P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">ls sn*</TT></PRE></TD></TR></TABLE><P>你会发现 <TTCLASS="FILENAME">sneakers.txt</TT> 以及其它以	   <TTCLASS="FILENAME">sn</TT> 开头的文件或以	  <TTCLASS="FILENAME">.txt</TT> 结尾的文件。这有助于尽可能地缩小搜寻范围。	</P><P>要缩小搜寻范围的另一种方法是使用问号(<TTCLASS="COMMAND">?</TT>)。和星号相似,使用 <TTCLASS="COMMAND">?</TT>	  能帮助你定位匹配某一搜寻图案的文件。	</P><P>然而在这种情况下,<TTCLASS="COMMAND">?</TT> 对匹配单个字符有用,因此如果你搜寻	  <TTCLASS="FILENAME">sneaker?.txt</TT>,你会得到	  <TTCLASS="FILENAME">sneakers.txt</TT> 这个搜寻结果,以及(或者)	  <TTCLASS="FILENAME">sneakerz.txt</TT>,如果这个文件存在的话。	</P><P>正则表达式比直截了当的星号和问号要复杂得多。	</P><P>譬如,当一个星号恰巧是一个文件名的一部分时,比如说,如果文件	<TTCLASS="FILENAME">sneakers.txt</TT> 实际上叫做	   <TTCLASS="FILENAME">sneak*.txt</TT> 的时候,正则表达式就会发挥它的作用了。	</P><P>使用反斜线(<TTCLASS="COMMAND">\</TT>),你就可以指定你使用星号并不是想搜寻<ICLASS="EMPHASIS">一切</I>,实际上你是在寻找名称中带有星号的文件。	</P><P>如果这个文件叫做 <TTCLASS="FILENAME">sneak*.txt</TT>,键入:	</P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">sneak\*.txt</TT></PRE></TD></TR></TABLE><P>下面是通配符和正则表达式的一个简短列表:	</P><P></P><UL><LISTYLE="list-style-type: disc"><P><TTCLASS="COMMAND">*</TT> &#8212; 匹配所有字符	    </P></LI><LISTYLE="list-style-type: disc"><P><TTCLASS="COMMAND">?</TT> &#8212; 匹配字串中的一个字符	    </P></LI><LISTYLE="list-style-type: disc"><P><TTCLASS="COMMAND">\*</TT> &#8212; 匹配“*”字符	    </P></LI><LISTYLE="list-style-type: disc"><P><TTCLASS="COMMAND">\?</TT> &#8212; 匹配“?”字符	    </P></LI><LISTYLE="list-style-type: disc"><P><TTCLASS="COMMAND">\)</TT> &#8212; 匹配“)”字符	    </P></LI></UL></DIV></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-pipes.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-managing-command-history.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">命令历史和 Tab 自动补全</TD></TR></TABLE></DIV></BODY></HTML>

⌨️ 快捷键说明

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