命令历史查询

  • 清空命令历史 history -c

  • 分页查看记录 history | more

  • 查询出来记录后选中 : !323

  • 单条命令删除 history -d 111

  • 查看最近五条命令 history 5

  • 按条件查询命令 history | grep nohup

  • 使用 Ctrl + R 搜索历史命令再按 Ctrl + G 退出搜索。

  • 4种方式快速查找上一条命令

日志查询

  • 当直接去 grep 的时候,花费约 30mstime (grep xx tracelog/xx.log.2020-11-02)
  • tail 最后 10000 行日志 速度一般time (tail -n10000 tracelog/rpc-server-digest.log.2020-11-02 | grep 21885857160436159747673092289)
  • tac 命令可以反向对文件做输出,time (tac tracelog/rpc-server-digest.log.2020-11-02 | grep -m1 21885857160436159747673092289)
  • Q: tac 的全称是什么 A: cat <-> tac

less命令

  • 查看进程信息并通过less分页显示ps -ef | less
1
2
3
4
用ps -def | grep查找进程很方便,最后一行总是会grep自己。
 用grep -v参数可以将grep命令排除掉,因此修改版本如下:
 接在再用awk提取一下进程ID.
 ps -def | grep calibre | grep -v grep | awk '{print $2}'
  • shift + G 命令到文件尾部 然后输入 _?_加上你要搜索的关键字例如 ?1213
  • 查看命令历史使用记录并通过less分页显示 history | less
    • ctrl b后翻页,ctrl f前翻页,enter下一行,空格键下一页,Q退出
  • 浏览多个文件less log2013.log log2014.log
    • 按 n 向上查找关键字 shift+n 反向查找关键字

sed

  • sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。
  • sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log按照时间段

more

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。more命令从前向后读取文件,因此在启动时就加载整个文件 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
- more的语法:more 文件名
- Enter 向下n行,需要定义,默认为1行
- Ctrl f 向下滚动一屏
- 空格键 向下滚动一屏
- Ctrl b 返回上一屏
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- v 调用vi编辑器
- !命令 调用Shell,并执行命令
- q退出more

cat

  • 一次显示整个文件 :$ cat filename
  • 从键盘创建一个文件 :$cat > filename 以ctrl+d作为输入结束
  • 将几个文件合并为一个文件:$cat file1 file2 > file只能创建新文件,不能编辑已有文件.
  • 将一个日志文件的内容追加到另外一个 :$cat -n textfile1 >> textfile2
  • 清空一个日志文件:>textfile2
1
注意:> 意思是创建,>>是追加。千万不要弄混了。
1
2
3
4
5
6
7
8
命令格式: tail[必要参数][选择参数][文件]  
-f 循环读取  
-q 不显示处理信息  
-v 显示详细的处理信息  
-c<数目> 显示的字节数  
-n<行数> 显示行数  
-q, --quiet, --silent 从不输出给出文件名的首部  
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
  • tail -n 10 test.log查询日志尾部最后10行的日志;
  • tail -n +10 test.log查询10行之后的所有日志;
  • tail -fn 1000 test.log循环实时查看最后1000行记录(最常用的)
  • tail -fn 1000 test.log | grep 关键字
  • tail -n +3 filename > newfile删除文件的前两行 写入新文件
  • tail -n +1 made.txt made2.txt 同时查看2个文档从第一行开始
1
2
3
4
5
6
7
==> made.txt <==
jskdajflkdsf
wejfoiwji&kldsjafkl
##$%dsfasdf

==> made2.txt <==
joiasjdofidsa
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
Dataview (inline field '=> made.txt <==
jskdajflkdsf
wejfoiwji&kldsjafkl
##$%dsfasdf

==> made2.txt <==
joiasjdofidsa'): Error: 
-- PARSING FAILED --------------------------------------------------

> 1 | => made.txt <==
    | ^
  2 | jskdajflkdsf
  3 | wejfoiwji&kldsjafkl

Expected one of the following: 

'(', 'null', boolean, date, duration, file link, list ('[1, 2, 3]'), negated field, number, object ('{ a: 1, b: 2 }'), string, variable

linux日志文件说明

  • /var/log/message系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
  • /var/log/secure与安全相关的日志信息
  • /var/log/maillog与邮件相关的日志信息
  • /var/log/cron与定时任务相关的日志信息
  • /var/log/spooler与UUCP和news设备相关的日志信息
  • /var/log/boot.log守护进程启动和停止相关的日志消息
  • /var/log/wtmp该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件