【 Linux 常用命令】
·
查询文件: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目录下。
更多推荐



所有评论(0)