查询文件:cat、zcat、head、tail、more、less、sed

cat

  • cat -n app.log | grep "error" --color:查询app.log日志文件中带error的信息。
    • “-n”显示行号
    • “–color”关键字带颜色显示
  • cat -n app.log | tail -n +92 | head -n 20:查询92行之后的日志,并显示查询后前20条查询记录,类似92-112。
  • cat -n app.log | grep "error" > D:/temp.txt:将查询结果存储到D:/temp.txt文件中。

zcat

  • zcat app.log.gz | grep "error":直接查找压缩包中日志内容。
  • gzip -dc app.log.gz | grep "error":不解压直接查看压缩包中信息。

head

  • head -n 10 app.log:查看日志中头10行日志。
    • “-n”显示行数(可省略)
  • head -n -10 app.log:查询日志中除了尾10行外的所有日志。

tail

  • tail -n 10 app.logtail -10 app.log:查询尾10行日志。
  • tail -n +10 app.log:显示出头10行外的所有日志。

more、less 分页查询

  • more app.log:分页显示。
  • cat large.log | less:分页显示。

sed

  • sed -n "5,10p" app.log:按行数,查看日志第5-10行。
  • sed -n "/2018-04-08 09:40:53.374/,/2018-04-08 10:21:04.812/p" express.log | grep "test" :按照时间段,查看两个时间之间的日志,并且显示关键字。(时间点需要在日志中存在)

筛选带关键字:grep、egrep

  • |的前后不能有空格。
  • egrep 等价 grep -E
  • grep -E "123|abc" app.log:查询app.log文件中包含123或者abc的行。
    • 有“-E”可省略反斜杠转义。
  • grep "error" app.log | grep "warn":查询同时包含warn和error的行。
  • tail -f app.log | grep -E -C20 "abc":实时查询日志,显示最新的有关键字abc的行,显示关键字前后各20行。
    • “-f”实时跟踪显示
    • “-C20”显示匹配行的前后各20行上下文(不是上下20各关键字行)
    • “-c”计数
    • “-i”不分大小写的查找关键字
    • “-w”匹配整个单词,而不是字符串的某一部分。(grep “abc”:abc符合,abcd不符合)
    • “-A5”显示关键字及之后5行内容,“-B5”关键字及之前5行内容,“-C5”关键字及之前之后5行
  • tail -f app.log | egrep "ERROR|WARN" -wc:实时全词匹配ERROR和WARN出现的次数,输出次数。

查看进程:ps、curl

  • ps -ef | grep java:查看和字符java相关的进程。
    • “-e”显示所有进程,包括其他用户的进程
    • “-f”显示完整格式信息,包括UID、PID、PPID、TTY等
  • ps -ef | grep 8080:查看8080端口被哪个进程占用。
  • curl www.baidu.com:查看url能不能用。

Nginx日志查询

  • 应用日志记录的位置:/data/applogs/shopdiy-web/logs
  • Nginx应用日志记录的位置+http请求时长结果查看:data/applogs/nginx
  • tail -f app.log:动态查看应用日志。
  • tail -f shopdiy-web.access.log:通过访问页面来动态查看Nginx日志。

压缩和解压:gz、gzip

  • gzip app.log:压缩成 app.log.gz。
  • gzip -d app.log.gz:被解压成 app.log。
  • gzip -dc app.log.gz | grep "error":不解压直接查看压缩包中信息。

查看端口:lsof、netstat

  • lsof -i tcp:查看TCP连接的端口号使用情况。
    • “-i”筛选网络连接
  • lsof -i udp:查看UDP连接的端口号使用情况。
  • lsof -i tcp:5828:列出所有占用TCP协议5828端口的进程和连接,会显示PID。
  • kill -9 518:结束进程PID号为518的进程。

netstat

  • netstat -a:列出所有端口。
  • netstat -at:列出所有TCP端口。
  • netstat -au:列出所有UDP端口。
  • netstat -l:只显示监听端口。
    • “-lt”“-lu”
  • netstat -st:显示TCP端口的统计信息。

查看文件大小:wc、du

  • wc -c app.log:统计文件中的字节数/字符数。
    • “-c”统计字符
    • “-l”统计行数
  • du -sb app.log:显示文件/目录占用的磁盘块大小。
    • “-b”以 B 计数
    • “-m”以 M 计数
    • “-h”以 K/M/G 计数
  • cat dp-nginx.access* | grep "error" | wc -l:查看文件中关键词被调用数量。

连接主机:ping、scp、cp

  • ping 192.168.1.2:查看本机是否能ping通192.168.1.2。
  • scp -r redis-3.0.0/ username@192.168.1.2:/usr/local:将本机当前目录下的Redis 3.0.0版本文件夹整个复制到192.168.1.2的/usr/local目录下。
    • “-r”复制多个文件夹
  • scp -r 192.168.1.122:/usr/local/redis-3.0.0 ./local_dir/:远端复制到本地。
  • cp redis.conf /usr/local/redis_copy.conf:复制文件到usr/local目录下。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐