原文链接:
https://cloud.tencent.com/developer/article/1579977
1、tail
命令格式: tail[必要参数][选择参数][文件]
-f 循环读取
-n<行数> 显示行数
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
tail -fn 100 opt/service/logs/logfile.log 循环实时查看最后100行记录(最常用的)
tail -n 100 opt/service/logs/logfile.log 查询最后100行的日志;
tail -n +100 opt/service/logs/logfile.log 查询100行之后的所有日志;
tail -fn 100 opt/service/logs/logfile.log | grep '关键字' 日志查询
tail -n 500 opt/service/logs/logfile.log | more -100 进行多屏显示(ctrl+f 或者 空格键可以快捷键)
2、head
head -n 100 test.log 查询日志文件中的头100行日志;
head -n -100 test.log 查询日志文件除了最后100行的其他所有日志;
3、sed
sed -n '5,10p' opt/service/logs/logfile.log 只查看文件的第5行到第10行
sed -n '/2014-12-11 11:17:20/,/2014-11-17 11:11:31/p' opt/service/logs/logfile.log 按照时间段
4、more
more opt/service/logs/logfile.log 查看文件
Enter 向下翻滚一行 (可以自定义)
Ctrl+f 向下滚动一屏
空格键 向下滚动一屏
Ctrl+b 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
v 调用vi编辑器
! 调用Shell,并执行命令
q 退出more
5、less
less opt/service/logs/logfile.log
shift+G到文件尾部 然后输入?加上要搜索的关键字,例如 ?1213
n 向上查找关键字
shift+n 反向查找关键字
ps -ef | less ps查看进程信息并通过less分页显示
history | less 查看命令历史使用记录并通过less分页显示
less log2013.log log2014.log 浏览多个文件
常用命令参数:
-b <缓冲区大小> 设置缓冲区的大小
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
h 显示帮助界面
q 退出less 命令
6、cat
cat [选项] 文件名
cat opt/service/logs/logfile.log 一次显示整个文件
cat -b opt/service/logs/logfile.log 对非空输出行编号
cat -n opt/service/logs/logfile.log 对所有行输出行编号
cat -s opt/service/logs/logfile.log 不输出多行空行
cat > logfile.log 创建一个文件
cat file1 file2 > file 将几个文件合并为一个文件(不会改变源文件)
cat -n textfile1 > textfile2 将一个日志文件的内容追加到另外一个
cat : >textfile2 清空一个日志文件
> 意思是创建
>> 意思是追加
7、vim
vim opt/service/logs/file.log
vi opt/service/logs/file.log 可以快速查看日志第一行
命令 | 作用 | 延展阅读 |
---|---|---|
|
保存退出 |
文件没有被修改也强制写入,并更新文件的修改时间。 参考 |
|
强制保存退出 | !是强制执行,忽略只读 |
|
保存退出 | 仅当文件被修改时才写入,并更新文件修改时间;否则不会更新文件修改时间 |
|
vim中表示退出 |
如果文件有修改,会提示有修改是否退出,输入
退出 |
|
强制不保存退出 | 如果文件有修改,会强制直接退出,并且不对文件进行保留 |
cat 和 vim 区别
|
查看文档,不能编辑 |
---|---|
|
打开文档,可以编辑 |
搜索日志
grep [选项] "查找字符串" 文件名 用于查找文件里符合条件的字符串
grep -c "查找字符串" 文件名 计算找到 ‘查找字符串’ 的次数
grep -i "查找字符串" 文件名 忽略大小写的区别,即把大小写视为相同
grep -v "查找字符串" 文件名 反向选择,即显示出没有 ‘查找字符串’ 内容的那一行
grep -a "查找字符串" 文件名 将binary文件以text文件的方式查找数据
cat opt/service/logs/logfile.log | grep message 日志文件里搜寻有message关键字的日志
grep msg opt/service/logs/file.log 查询`msg`信息
grep 'msg|msg2' opt/service/logs/file.log 查询`msg`或`msg2`信息
常用命令
history 所有的历史记录
history | grep XXX 历史记录中包含某些指令的记录
history | more 分页查看记录
history -c 清空所有的历史记录
!! 重复执行上一个命令