天天看点

文件显示命令:cat、more、less、tail、touch详解

cat命令连接文件并打印到标准输出设备上。cat经常用来显示文件的内容,类似于下的type命令。

一般格式:cat [选项] 文件

说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如

cat fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。

常用选项:

-b,--number-noblank 从1开始对所有非空输出行进行编号。

-n,--number 从1开始对所有输出行编号。

-s,--squeeze-blank 将多个相邻的空行合并成一个空行。

-help 打印该命令用法,并退出,其返回码表示成功。

示例:(设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

与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 [选项] [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命令将会修改指定文件的时间标签,把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来。如果该文件尚未存在,则建立一个空的新文件。

-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,表示它是空文件。

原文链接:[http://wely.iteye.com/blog/2368904]