linux命令(二)more、less、head、tail
一、more:more [选项] 文件
more 命令,功能类似 cat ,cat 命令是将整个文件的内容从上到下显示在屏幕上。 more 命令会一页一页的显示,方便使用者逐页阅读,而最基本的指令就是按空格键(space)往下一页显示,按 B 键就会往回(back)一页显示,而且还有搜寻字串的功能。more 命令从前向后读取文件,因此在启动时就加载整个文件。
参数 | 描述 |
---|---|
+n | 从笫 n 行开始显示 |
-n | 定义屏幕大小为 n 行 |
+/pattern | 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 |
-c | 从顶部清屏,然后显示 |
-d | 提示“Press space to continue,’q’ to quiet”,禁用响铃功能 |
-p | 通过清除窗口而不是滚屏来对文件进行换页,与-c 选项相似 |
-s | 把连续的多个空行显示为一行 |
-u | 把文件内容中的下划线去掉 |
常用操作
符号 | 描述 |
---|---|
= | 输出当前行的行号 |
q | 退出 more |
空格键 | 向下滚动一屏 |
b | 返回上一屏 |
例子:
more -3 more.txt 查看more.txt文件,每3行为一页
more +3 more.txt 查看more.txt文件,从第三行开始展示
more +/test shiyanlou.log:从shiyanlou.log
文件中查找第一个出现“test”字符串的行,并从该处前两行开始显示输出
ll /lib | more -3 :查看lib目录下的文件信息,每页显示 3 个文件信息,按 Ctrl+F 或者 空格键 将会显示下 3条文件信息。PS:ll 是ls -l 的别名
二、less命令:less [选项] 文件
less 命令也是对文件或其它输出进行分页显示的工具,应该说是 linux 正统查看文件内容的工具,功能极其强大。
常用参数:
参数 | 描述 |
---|---|
-e | 当文件显示结束后,自动离开 |
-f | 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 |
-i | 忽略搜索时的大小写 |
-m | 显示类似 more 命令的百分比 |
-N | 显示每行的行号 |
-s | 显示连续空行为一行 |
常用操作:
符号 | 描述 |
---|---|
/字符串 | 向下搜索“字符串”的功能 |
?字符串 | 向上搜索“字符串”的功能 |
n | 重复前一个搜索(与 / 或 ? 有关) |
N | 反向重复前一个搜索(与 / 或 ? 有关) |
b | 向前翻一页 |
d | 向后翻半页 |
q | 退出 less 命令 |
空格键 | 向后翻一页 |
向上键 | 向上翻动一行 |
向下键 | 向下翻动一行 |
例子:
1.less -Nse more.txt
2.less shiyanlou.log /shiyanlou :显示shiyanlou.log
文件中的内容,搜索字符串”shiyanlou”
3.ps -f | less -e : ps 查看进程信息并通过 less 分页显示
less 与 cat 和 more 的区别
cat 命令功能:用于显示整个文件的内容,因为单独使用没有翻页功能,所以经常和 more 命令搭配使用 例如:cat a.log | more -5,cat 命令还有一个可以将数个文件合并成一个文件的功能。例如:cat a.log b.log | more -10
more 命令功能:让画面在显示满一页时暂停,此时可按空格健继续显示下一个画面,或按 q 键停止显示。
less 命令功能:less 命令的用法与 more 命令类似,也可以用来浏览超过一页的文件。所不同的是 less 命令除了可以按空格键向下显示文件外,还可以利用上下键来滚动文件。当要结束浏览时,只要在 less 命令的提示符“:”下按 q 键即可。
其实这三个命令除了 cat 命令有合并文件的功能外,其余功能都很相近,只是在浏览习惯和显示方式上有所不同。
三、head命令:head [选项][文件]
head 命令就像它的名字一样浅显易懂,主要是用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。
常用参数
参数 | 描述 |
---|---|
-q | 隐藏文件名 |
-v | 显示文件名 |
-c<字节> | 显示字节数 |
-n<行数> | 显示的行数 |
例子:
1.head -n 5 a.log :查看a.log前5行
2.head -n 5 a.log b.log :显示a.log和b.log文件中的前 5 行内容
结果:
四、tail 命令:tail [选项][文件]
tail 命令主要用于显示指定文件末尾内容。常用查看日志文件。
常用参数
参数 | 描述 |
---|---|
-f | 循环读取 |
-q | 不显示处理信息 |
-v | 显示详细的处理信息 |
-c<字节> | 显示的字节数 |
-n<行数> | 显示行数 |
例子:
tail -n 5 shiyanlou.log:显示shiyanlou.log
文件中的最后 5 行内容
tail -n 5 -f shiyanlou.log :显示shiyanlou.log
文件中的最后 5 行内容,当shiyanlou.log
文件有新内容增加时自动更新显示。可用于实时查看日志
常用的用法:
ping www.shiyanlou.com >> shiyanlou.log
这条命令作用是 ping 远程主机,并将信息追加到shyanlou.log
文件中。& 的作用是将这条命令放在后台执行,这样shiyanlou.log
文件就会一直有内容增加。说明一下,linux 下执行 ping 命令会一直执行,必须手动停止才行。而 windows 下执行 ping 命令时,默认发送四个请求后会自动停止。
使用 tail 命令的 -f 选项可以即时输出文件变化后追加的内容。tail -f filename
会把 filename 里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。 另外顺便说一下怎么查看后台正在运行的任务及怎么停止任务。 jobs 命令可以查看正在后台运行的任务。kill 命令可以杀死一个任务,但要使用任务的 pid。任务的 pid 可以通过 ps 命令查看获得,然后使用kill -9 任务pid
就可以将这个后台进程杀死。
例如:
实际工作中的应用:
nohup php /data/wwwroot/g_doraemon/cli/user/imOfflineMsg.php >> /tmp/imOfflineMsg &
#启动推送服务后日志打到 /tmp/imOfflineMsg下, &表示退到后台
tail -f /tmp/imOfflineMsg :然后查看实时的日志
ps:查看进程号
kill -9 -314 :杀掉pid是314的进程
jobs:查看后台正在运行的任务