文件显示命令:cat、more、less、tail、touch详解
cat命令
cat命令连接文件并打印到标准输出设备上。cat经常用来显示文件的内容,类似于下的TYPE命令。
一般格式:cat [选项] 文件
说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如 cat fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。
常用选项:
-b,--number-noblank 从1开始对所有非空输出行进行编号。
-n,--number 从1开始对所有输出行编号。
-s,--squeeze-blank 将多个相邻的空行合并成一个空行。
-help 打印该命令用法,并退出,其返回码表示成功。
注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回shell提示符状态。
示例:(设ml和m2是当前目录下的两个文件)
# cat m1 (在屏幕上显示文件ml的内容)
# cat m1 m2 (同时显示文件ml和m2的内容)
# cat m1 m2 > file (将文件ml和m2合并后放入文件file中)
more命令
more命令显示文件内容,每次显示一屏。
一般格式:more [选项] 文件
说明:该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答:
①按Space键,显示文本的下一屏内容。
②按Enier键,只显示文本的下一行内容。
③按斜线符(l),接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
④按H键,显示帮助屏,该屏上有相关的帮助信息。
⑤按B键,显示上一屏内容。
⑥按Q键,退出rnore命令。
常用选项:
-num,这个选项指定一个整数,表示一屏显示多少行。
-d,在每屏的底部显示以下更友好的提示信息:
--More--(XX%) [Press space to continue, ’q’ to quit.]
而且当用户按键时有错误,则显示[Press ’h’, for instructions.]信息,而不是简单的报警。
-c或-p,不滚屏,在显示下一屏之前先清屏。
-s,将文件中连续的空白行压缩成一个空白行显示。
+/,该选项后的模式(Pattem)指定显示每个文件之前进行搜索的字符串。
+num,从行号num开始。
more命令在执行过程中还用到一些基于vi编辑器的交互式命令,这里不做详述。
示例:
①显示文件file的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比。
# more -dc file
②显示文件file的内容,每10行显示一次,而且在显示之前先清屏。
# more -c -10 file
less命令
与more命令一样,less命令也用来分屏显示文件的内容。但是二者存在差别:less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。less有几种格式和很多选项,这里不做详述。
head命令
命令在屏幕上显示指定文件的开头若干行。
一般格式:head [选项] file
说明:head命令在屏幕上显示指定文件的开头若干行,行数由参数值来确定。显示行数的默认值是10。
选项:
-c,-bytes=SIZE 显示前面SIZE个字节。
-n,-lines=NUMBER NUMBER的值指定显示前面多少行。默认为10行。
-q,-quiet,--silent 不显示给定文件的标题。
-v,-verbose 始终显示给定文件的标题。
示例:
# head -5 file(显示文件file的前5行)
# head -v file(显示文件file的内容,并且给出文件名标题)
# head -q file(显示文件file的内容,但不列出文件名标题)
tail命令
tail命令在屏幕上显示指定文件的末尾若千行。
一般格式:tail [选项] [file]…
说明:tail命令在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
选项:
-c,--bytes=N 输出最后N个字节。
-f 当文件增长时输出附加的数据。
-n,-lines=N 输出最后的N行,而不是默认的10行。
-q,-quiet,--silent 不输出包含给定文件名的标题。
-v,-verbose 始终输出包含给定文件名的标题。
注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。
示例:
# tail file (显示文件file的最后10行)
# tail +20 file (显示文件file的内容,从第20行至文件末尾)
# tail -c 10 file (显示文件file的最后10个字符)
touch命令
可以修改指定文件的时间标签或者创建一个空文件。
一般格式:touch [选项] 文件名…
说明:touch命令将会修改指定文件的时间标签,把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来。如果该文件尚未存在,则建立一个空的新文件。
选项:
-a 仅改变指定文件的存取时间。
-c 不创建任何文件。
-m 仅改变指定文件的修改时间。
-t STAMP 使用STAMP指定的时间标签,而不是系统当前的时间。STAMP的格式为[[CC]YY]MMDDhhmm[.ss],其中,CC表示年份的前两位,YY表示年份的后两位,MM表示月份,DD表示日期,hh表示小时,mm表示分钟,ss表示秒。
示例:
# touch ex2 在当前目录下建立一个空文件ex2。
然后,利用ls -l命令可以发现文件ex2的大小为0,表示它是空文件。