Linux常用命令

本文详细介绍了Linux中常用的基础命令,如grep(文本搜索)、head/tail(查看文件内容)、ps(进程管理)、Nginx日志查看、gzip解压、sed处理日志、lsof和netstat网络工具、ifconfigIP查看以及wc和du文件大小统计,是Linux初学者和面试必备知识点。
摘要由CSDN通过智能技术生成

一、基础命令

二、面试常问

2.1 cat、zcat

  • cat -n app.log | grep "error"  查询日志中含有某个关键字error的信息,并显示行号
  • zcat = zip cat 直接查找压缩包里的内容

2.2 grep

  • -E:启用扩展的正则表达式语法。
  • grep -nE "123|abc" app.log 查询日志文件app.log中包含关键字123或abc的行,显示行号
  • -A num:显示匹配行以及后面的 num 行。
  • -B num:显示匹配行以及前面的 num 行。
  • -C num:显示匹配行以及前后各 num 行。
  • grep -E -C5 "123" app.log:显示app.log中含有关键字"123"的行内容,以及之前之后的各5行内容。

2.3 head

  • head -n +10(10) app.log 从文件开头第10行......
  • head -n -10 app.log 从文件结尾第10行开始显示内容

2.4 tail

  • tail -n 5 (-5)app.log 末尾5行
  • tail -n +5 app.log 从5行开始到末尾
  • tail -f app.log 实时查看日志信息
  • tail -f app.log | grep "erro" --color 实时查看日志中含有某关键字'erro'的信息,并彩色打印
  • tail -fn 100 app.log 循环实时查看最后100行的内容

2.5 ps【process status 进程状态】

ps 命令是一个常用的 Linux 命令,用于查看当前系统中运行的进程信息。它提供了关于进程的各种详细信息,如进程 ID(PID)、进程状态、CPU 使用情况、内存占用、运行时间等。

有时候当我们执行 ps 命令时,TIME 显示为 00:00:00。这意味着该进程尚未使用 CPU ,所以没有 CPU 执行的总时间。 

  • ps -e 显示所有正在运行的进程 e: every
  • ps -a 显示与终端无关的所有进

  • ps -ef | grep 8080:查看端口号8080被哪个进程占用。

  • ps -ef | grep redis:查看已经启动所有进程中与字符“redis”相关的进程。

2.6 Nginx

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

2.7 gzip

  • gzip app.log-2018-09-22-1.log,被压缩成 app.log-2018-09-22-1.log.gz

  • gzip -d app.log-2018-09-22-1.log.gz,被解压成 app.log-2018-09-22-1.log

  • gzip -dc app.log.2018-01-11.gz |grep "此次共实际刷数据" | more:不解压直接查看压缩包中的“关键词”信息

2.8 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 "此次共实际刷数据" :按照时间段——查看两个时间之间的日志,并且显示关键字。 

2.9 lsof (list open file) 

  • lsof -i tcp:58528 可以查看该端口被什么程序占用,并显示PID,方便kill

2.10 netstat  

NETSTAT(Network Statistics)是一个用于检查网络状态的系统工具,它可以查看本地主机的网络连接状态、路由表、网络接口状态、统计信息等。

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

2.11 ifconfig

ifconfig:Mac查看本机IP地址 

2.12  查看日志文件大小和指定关键字

  • wc【word count】:统计指定文字的行数(l)、单词数(w)、字节数(c)
  • du【disk usage】:展示磁盘使用量的统计信息

  • du -sb app.log:参数 -b 表示以B计数。
  • du -sm app.log:参数 -m 表示以M计数。
  • du -sh app.log:参数 -h 表示以K/M/G计数,容易识别出文件大小 。
  •  分页加载日志数据:less app.log

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值