Linux 指令

查日志

tail -500f XXX.log

more
more可翻页查看。 $ more XXX.log
空格 space : 向下翻页
Enter : 向下滚动一行
/字符串 : 向下查询字符串 ,f : 显示当前行号, q : 退出, b : 往回翻页,只在文件有作用,对管道无作用。

less
less也是一页一页的查看,与more不同的是可以向上翻页

$ less XXX.log

空格 space : 向下翻一页 Enter : 向下一行 [PageDown] : 向下一页: [PageUp] : 向上一页 /字符串: 向下查询 ?字符串: 向上查询 n : 重复前一个查询 / 或 ? N : 反向前一个查询 / 或 ? q : 退出

  • vim service
  • G跳转到文件的末尾
  • ? +关键字搜索对应的记录
  • n往上查询,按N往下查询

 

sed -n "29496,29516p" service.log:从29496行开始检索,到29516行结束

cat -n service.log | tail -n +29496 | head -n 20:从29496行开始检索,往前推20条

sed -n '/2018-05-18 16:24:01/,/2018-05-18 16:40:00/p' process.log.2018-05-18.log

 

 


 

df -h 查磁盘空间
du -bs file 查该文件夹多大

find . -size +10M 查找超过 10m的文件

 时间戳 date +%s

 

 

 

 


 压缩命令:

tar -zcvf 压缩文件名.tar.gz 被压缩文件名

可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。

解压缩命令:

tar -zxvf 压缩文件名.tar.gz

不解压情况查找压缩包内内容 

.gz压缩包类型,可以用zgrep命令去搜索,例如:  zgrep –i "被查找的字符串" 文件名   

其它压缩类型,例如zip好像就不能直接这样去搜索了,既然不能一步到位,那我们可以分步走,例如可以用:zcat 文件名|grep -c '被查找字符串内容'

 

 


 

线上问题定位

top

jstack

dump 文件 :sudo -u admin /bin/jstack 3117 > /home/dump01 

dump出来的线程ID(nid)是十六进制的,而我们用TOP命令看到的线程ID是十进制的,所以要用 printf命令转换一下进制。然后用十六进制的ID去dmp里找到对应的线程。

printf "ax\n”31558

查询端口有多少个连接

netstat -nat | grep 3306 -c

查看ip  :ifconig 

 


awk

 1.awk是一种编程语言,用于对文本和数据进行处理的

 2. 具有强大的文本格式化能力

 3. 利用命令awk,可以将一些文本整理成为我们想要的样子

 4. 命令awk是逐行进行处理的

grep、sed、awk的简单比较

 1. 命令grep,更适合单纯的查找或匹配文本

 2. 命令sed,更适合对匹配到的文本进行编辑

 3. 命令awk,更适合文本格式化,对文本进行较复杂的格式处理。

awk的基本语法 :awk [options] 'Pattern{Action}' file

下面来说最常用的Action:print

 awk '{print $5}',表示输出df的信息的第5列,$5表示将当前行按照分隔符分割后的第5列,不指定分隔符时,默认使用空格作为分隔符,细心的你一定发现了,上述信息用的空格不止有一个,而是有连续多个空格,awk自动将连续的空格理解为一个分割符了。

awk可以灵活的将我们指定的字符与每一列进行拼接,或者把指定的字符当做一个新列插入到原来的列中,也就是awk格式化文本能力的体现。

 

 

 

AWK 包含两种特殊的模式:BEGIN 和 END。

BEGIN 模式指定了处理文本之前需要执行的操作:

END 模式指定了处理完所有行之后所需要执行的操作:

如果我们想要awk先执行BEGIN模式指定的动作,再根据执我们自定义的动作去操作文本,该怎么办呢?示例如下

 

 

 


netstat

netstat -a 这条命令会列出所有的端口,包括监听的和未监听的。

netstat -t 列出所有的tcp协议的端口。

netstat -ua 表示列出所有的UDP协议的端口。

找出程序运行的端口

netstat -ap | grep '程序名'

[root@bogon Test2017_3_7]# netstat -ap | grep './server'
tcp        0      0 localhost:1024              *:*                         LISTEN      6130/./server       
tcp        0      0 localhost:1024              localhost:40312             ESTABLISHED 6130/./server       
You have new mail in /var/spool/mail/lzh

找出端口的程序名

 netstat -ap | grep '端口号'

[root@bogon Test2017_3_7]# netstat -ap | grep '1024'
tcp        0      0 localhost:1024              *:*                         LISTEN      6130/./server       
tcp        0      0 localhost:40312             localhost:1024              ESTABLISHED 6323/./client       
tcp        0      0 localhost:1024              localhost:40312             ESTABLISHED 6130/./server   

 

 


 

Sed

  • sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2" 
  • sed '/^$/d' example.txt 从example.txt文件中删除所有空白行 
  • sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行 
  • echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容 
  • sed -e '1d' result.txt 从文件example.txt 中排除第一行 
  • sed -n '/aaaaa/p' 查看只包含词汇 "aaaaa"的行 
  • sed -e 's/ *$//' example.txt 删除每一行最后的空白字符 
  • sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部 
  • sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容 
  • sed -n '5p;5q' example.txt 查看第5行 
  • sed -e 's/00*/0/g' example.txt 用单个零替换多个零 

 

 

  1. linux常用命令。iftop,netstat,htop,apt,yum,source,corn,docker等等。

参考:http://www.zsythink.net/archives/category/linuxbase/

          https://www.cnblogs.com/huststl/p/8540775.html

posted @ 2019-09-19 08:33  Nausicaa0505  阅读(194)  评论(0编辑  收藏  举报