博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux常用命令总结
阅读量:7023 次
发布时间:2019-06-28

本文共 2224 字,大约阅读时间需要 7 分钟。

Linux常用命令指南

@Date 2017.05.23

tail

# 实时监听文件写入模式tail -f jvm.log
# 查看文件倒数100行内容tail -100 jvm.log
# 查看文件倒数100行内容 并 实时监听文件写入tail -100f jvm.log

awk

  • awk ' pattern {action} '
  • 默认以空格切分
# 在jvm.log日志中搜索匹配com.test.java的行awk '/com.test.java/' jvm.log
# 在jvm.log日志中搜索不匹配com.test.java的行awk '!/com.test.java/' jvm.log
# 在jvm.log日志中搜索全匹配com.test.java 和 com.test2.java的行awk '/com.test.java/ && /com.test2.java/' jvm.log
# 在jvm.log日志中,指定列(第一列)匹配com.test.java的行awk '$1 ~ /com.test.java/' jvm.log
# NR(Number of Record) 输出行的行数(默认是换行符,所以是行数)# NF(Number of Field) 当前行记录里域个数(横向切分的个数)# 输出本行第一个和最后一个数据awk '{print NR,NF,$1,$NF}' jvm.log
# 输出的时候没有逗号间隔,则输出结果没有分割,是紧挨着的awk '{print $1 $2}' jvm.log
# -F 自定义指定分隔符awk -F: jvm.log
# RS 输入记录分隔符# BEGIN 表示在处理任意行之前进行的操作# END 表示在所有输入行处理完后进行处理# NF(Number of Field) 当前行记录里域个数(横向切分的个数)cat jvm.log  | grep -v "result" | awk  'BEGIN{RS="2017/05/23"} { split($NF,a,"m"); if(a[1]>1000) {print $0;} } END{}'
# 统计访问前X(10)的IP地址awk '{print $1}' |sort|uniq -c|sort -nr |head -10 access_log

grep

# 文件查找grep 'test' jvm.log
# 多文件查找grep 'test' jvm.log gc.log
# 在指定目录下查找所有符合关键字的文件grep 'test' /home/admin/ -r -n
# -i 不区分大小写查找(默认区分大小写grep)grep -i 'pattern1' jvm.log
# 匹配行向上匹配xgrep 'test' -A x# 匹配行向下匹配xgrep 'test' -B x# 匹配行上下匹配xgrep 'test' -C x
# grep 中OR 匹配# \| : 注意转义grep 'pattern1\|pattern2' jvm.log# -E 选项可以用来扩展选项为正则表达式# 使用-E时,可以直接使用 | 表达OR # egrep = grep -Egrep -E 'pattern1|pattern2' jvmegrep 'pattern1|pattern2' jvm
# -v 可以实现 NOT 操作grep -v 'pattern1' jvm.log

find

# 在多个目录下查找文件find /home/admin/ /temp /etc -name \*.log
# 查找指定大小的文件# 大于100k的文件find /home/admin -size +100k# 小于100k的文件find /home/admin -size -100k

uniq

# 默认去重uniq -c

netstat

# 查看网络链接并输出状态netstat -nat|awk  '{print $6}'|sort|uniq -c|sort -rn

top

# 显示PID对应的所有线程占用资源top -Hp pid

printf

# 输出TID(线程ID)对应的十六进制表示printf "%x" TID

date

# UNIX的时间戳date +%s
# 标准时间 -> UNIX时间戳date -d "2017-06-19 00:00:00" +%s date -d "2017/06/19 00:00:00" +%s
# UNIX时间戳 -> 标准时间date -d @1497801600  "+%Y-%m-%d"date -d @1497801600  "+%Y/%m/%d"

sed

# 统计一段时间内的日志sed -n '/2017-07-16 12:30:00/,/2017-07-16 16:00:00/p' info.log

pmap

# 查看进程的内存占用pmap -d pid

curl

# 查看请求的耗时时间curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "域名"

转载地址:http://vopxl.baihongyu.com/

你可能感兴趣的文章
怎样把多个Android Project打包成一个APK
查看>>
CSS
查看>>
唱吧DevOps的落地,微服务CI/CD的范本技术解读
查看>>
UVA1422-Processor(二分法+优先队列)
查看>>
php登录验证及代码实现 含数据库设计 亲測有效
查看>>
Ubuntu 16.04通过APT源安装QUEM虚拟机调试Linux内核
查看>>
[LeetCode]Delete Node in a Linked List
查看>>
Heap & Priority Queue
查看>>
ActiveMQ JMS 项目 基于 Maven 搭建 部署
查看>>
RDA PQ工具使用 (Adi Analysis)
查看>>
iOS中的崩溃类型
查看>>
ACdreamoj 1011(树状数组维护字符串hash前缀和)
查看>>
RPC与REST的差别
查看>>
亚马逊云EC2做PPTP SERVER的笔记
查看>>
MySQL SELECT 语句
查看>>
MFC文档(SDI)应用:画图程序(画圆、画线、鼠标事件)
查看>>
LEETCODE
查看>>
Eclipse-Java代码规范和质量检查插件-Checkstyle
查看>>
命题和判断有什么区别和联系
查看>>
微信即将支持App直接打开小程序
查看>>