1、tail
本文介绍Linux下tail命令的使用方法。
linux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容。
一、tail命令语法
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
参数解释:
- -f 该参数用于监视File文件增长。
- -c Number 从 Number 字节位置读取指定文件
- -n Number 从 Number 行位置读取指定文件。
- -m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。
- -b Number 从 Number 表示的512字节块位置读取指定文件。
- -k Number 从 Number 表示的1KB块位置读取指定文件。
File 指定操作的目标文件名称
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。
tail可运行文件一般在/usr/bin/以下。
例子:
1、tail -n 20 filename
说明:显示filename最后20行。
2、tail -n +10 filename
说明:显示filename前面10行以后的。(展示不全)
2、cat
摘要: cat命令用以将文件、标准输入内容打印至标准输出。常用于显示文件内容、创建文件、向文件中追加内容。本文第一部分介绍cat用以打印文件内容的格式及参数(源自linux man手册)、第二部分展示cat创建文件、追加内容等用法。
一、cat命令及常用参数
1.1、命令描述
cat 语法为 cat(选项)(文件列表参数) ,其功能是连接文件或标准输入 至标准输出,常用于显示文件内容。
1.2、显示参数及效果
- 1)、 -n, –number, 对所有输出行进行编号
-
- 图1、cat -n 结果
- 2)、 -b, –number - nonblank, 与-n效果类似,但对空白行不编号
- 3)、 -v, –show - nonprinting, 以^和M-显示不可打印字符,除LFD与TAB
- 4)、 -E, –show - ends, 在每行行尾添加$,用以标记
- 图2、cat -E 结果
- 5)、 其它如-A等价于-vET显示所有,以$结尾。查看man手册
二、cat命令其他用法
上面写了cat命令用以显示文件内容的用法,即为cat 参数 文件列表,其中参数可以控制文件内容以何种形式显现。下面是cat一些其他用法。
2.1、显示文件中感兴趣内容
有时候,我们只希望抓取文件中感兴趣的关键字,命令为:cat 文件 | grep 关键字。比如在/proc/meminfo这个文件中,我们只关注交换分区swap的使用情况,即为cat /proc/meminfo |grep Swap,这里将文件内容通过管道输出,并使用grep(global search regular expression) 全局搜索正则表达式,将匹配结果打印出来:
2.2、cat创建文件
我们通常使用touch、Vim创建文件,cat有向文件中追加内容的作用,类似于Vim,若文件本身不存在,则创建文件。其命令为cat > 文件名 <<结束标记。我们当然可以仅用cat >文件名,然后Ctrl + C退出bash。
2.3、向已存在文件中写入内容(覆盖)
向已经存在的文件中,追加内容,其命令与创建文件相同,均为cat > 文件名 <<结束标记,这里我们先查看原文件内容,再写入,再查看,就可以看到覆盖效果。
2.4、清空文件内容(覆盖)
在上面我们知道,cat可以覆盖写入,如果我们想清空文件内容,可以直接输入结束标记,这样便向文件中写入0字符,文件即被清空了。
2.5、追加文件内容(不覆盖)
在上面我们写入文件内容,会覆盖以前的文件,如果我们想在文件尾部追加内容,只需要使用> >, 即表达式为cat >> 文件名 <<结束标记 .这里面关键是由两个追加符号。这里同样先看文件内容,再追加内容,再查看文件内容。其结果如下:
2.6、其他格式问题
有时候,有一些特殊符号写入,需要添加\。如使用cat生成Shell脚本文件,这个时候对于特殊符号,如$需要加转义字符.
小结:
通过上面,我们知道cat命令可以创建文件,cat > 文件名 <<结束标记、向文件中追加内容(覆盖于不覆盖)、打印文件中感兴趣内容cat 文件 | grep 关键字、及基本的文件内容查看cat 选项 文件列表参数
3、tac与cat相反 从最后一行开始显示档案内容。
4、more
more 命令,功能类似 cat ,cat 命令是将整个文件的内容从上到下显示在屏幕上。 more 命令会一页一页的显示,方便使用者逐页阅读,而最基本的指令就是按空白键(space)往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more 命令从前向后读取文件,因此在启动时就加载整个文件。
命令格式:
more [选项] 文件
常用参数:
参数 描述
-
+n 从笫 n 行开始显示
-
-n 定义屏幕大小为 n 行
-
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-
-c 从顶部清屏,然后显示
-
-d 提示“Press space to continue,’q’ to quit”,禁用响铃功能
-
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c 选项相似
-
-s 把连续的多个空行显示为一行
-
-u 把文件内容中的下画线去掉
常用操作:
符号 描述
-
= 输出当前行的行号
-
q 退出 more
-
空格键或Ctrl+F 向下滚动一屏
-
b 返回上一屏
常用范例:
例一:从第五行开始显示 shiyanlou.log 文件中的内容,可以使用如下命令:
more +5 shiyanlou.log
例二:从 shiyanlou.log 文件中查找第一个出现"g"字符串的行,并从该处前两行开始显示输出,可以使用如下命令:
more +/g shiyanlou.log
例三:设定每屏行数为 5,可以使用如下命令:
more -5 shiyanlou.log
例四:使用 ll 和 more 命令显示/etc 目录信息,可以使用如下命令:
ll /etc | more -10
每页显示 10 个文件信息,按 Ctrl+F 或者 空格键 将会显示下 10 条文件信息。
less 命令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是 linux 正统查看文件内容的工具,功能极其强大。
命令格式:
less [选项] 文件
常用参数:
参数 描述
-
-e 当文件显示结束后,自动离开
-
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-
-i 忽略搜索时的大小写
-
-m 显示类似 more 命令的百分比
-
-N 显示每行的行号
-
-s 显示连续空行为一行
常用操作:
符号 描述
-
/字符串 向下搜索“字符串”的功能
-
?字符串 向上搜索“字符串”的功能
-
n 重复前一个搜索(与 / 或 ? 有关)
-
N 反向重复前一个搜索(与 / 或 ? 有关)
-
b 向前翻一页
-
d 向后翻半页
-
q 退出 less 命令
-
空格键 向后翻一页
-
向上键 向上翻动一行
-
向下键 向下翻动一行
常用范例:
例一:显示 shiyanlou.log 文件中的内容,并显示行号,可以使用如下命令:
less -N shiyanlou.log
例二:显示 shiyanlou.log 文件中的内容,搜索字符串”shiyanlou”,可以使用如下命令:
less shiyanlou.log/shiyanlou
例三:ps 查看进程信息并通过 less 分页显示 ,可以使用如下命令:
ps -f | less
less 与 cat 和 more 的区别:
cat 命令功能用于显示整个文件的内容,单独使用没有翻页功能。因此经常和 more 命令搭配使用,cat 命令还有就是可以将数个文件合并成一个文件的功能。 more 命令功能:让画面在显示满一页时暂停,此时可按空格健继续显示下一个画面,或按 q 键停止显示。
less 命令功能:less 命令的用法与 more 命令类似,也可以用来浏览超过一页的文件。所不同的是 less 命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。当要结束浏览时,只要在 less 命令的提示符“:”下按 q 键即可。 其实这三个命令除了 cat 命令有合并文件的功能,其余功能上相近,只是从浏览习惯和显示方式上有所不同。
head 命令
head 命令就像它的名字一样浅显易懂,主要是用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。
命令格式:
head [选项] [文件]
常用参数:
参数 描述
-
-q 隐藏文件名
-
-v 显示文件名
-
-c<字节> 显示字节数
-
-n<行数> 显示的行数
常用范例:
例一:显示 shiyanlou.log 文件中的前 5 行内容,可以使用如下命令:
head -n 5 shiyanlou.log
例二:显示 shiyanlou.log 和 zhou.log 文件中的前 5 行内容,可以使用如下命令:
head -n 5 shiyanlou.log zhou.log
例三:显示 shiyanlou.log 文件中除了最后 5 行的内容,可以使用如下命令:
head -n -5 shiyanlou.log
参考: