Linux日志操作常用命令

Linux日志文件操作命令

  • 常用基本命令
    • 一丶tail 和head命令
    • sed命令
    • cat命令
    • tac命令 (反向列示)
    • echo命令
  • 二丶以关键字查询普通日志内容
    • 查看日志 前 n行:
    • 查看日志 尾 n行:
    • 根据 关键词 查看日志 并返回关键词所在行:
  • 三丶查看gz打包文件里的日志

常用基本命令

一丶tail 和head命令

tail -f mylog.log       可以动态的查看服务器运行状态的日志
head -n 1000         显示前面1000行
tail -n 1000         显示最后1000行
tail -n +1000         从1000行开始显示,显示1000行以后的

cat mylog.log | tail -n 1000   输出mylog.log 文件最后一千行

下面的逻辑是通过多个管道实现,多次对上面的处理结果继续进行处理
从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000

sed命令

sed -n '5,10p' mylog      这样你就可以只查看文件的第5行到第10行。

cat命令

cat主要有三大功能:
1.一次显示整个文件。$ cat filename
2.从键盘创建一个文件。$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件:$cat file1 file2 > file
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3

注意:>意思是创建,>>是追加

tac命令 (反向列示)

tac 是将 cat 反写过来,所以它的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,
而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

echo命令

在Linux中echo命令用来在标准输出上显示一段字符,比如:
echo "the echo command test"
这个就会输出“the echo command test”这一行文字!
echo "the echo command test!">a.sh
这个就会在a.sh文件中输出“the echo command test!”这一行文字!

该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。
用echo命令输出加引号的字符串时,将字符串原样输出;
用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

二丶以关键字查询普通日志内容

查看日志 前 n行:

cat 文件名 | head -n 数量

cat test.log | head -n 200  # 查看test.log前200行

查看日志 尾 n行:

cat 文件名 | tail -n 数量

cat test.log | tail -n 200  # 查看test.log倒数200行

根据 关键词 查看日志 并返回关键词所在行:

方法一:cat 路径/文件名 | grep 关键词

cat test.log | grep "http" # 返回test.log中包含http的所有行

方法二:grep -i 关键词 路径/文件名 与方法一效果相同,不同写法而已

grep -i "http" ./test.log # 返回test.log中包含http的所有行(-i忽略大小写)

三丶查看gz打包文件里的日志

zcat 日志名.gz 查看.gz结尾的日志打包文件
以关键词查看日志打包文件,与普通日志文件查看方式同理:| grep "关键字"

你可能感兴趣的:(Linux,linux,shell)