查日志
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 用单个零替换多个零
- linux常用命令。iftop,netstat,htop,apt,yum,source,corn,docker等等。