在工作中常用的Linux命令

前言

只有光头才能变强。

文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y

之前写过一篇 《 在公司做的项目和自己在学校做的有什么区别? 》不知道大家还有印象没有,里面提到了在工作中可能需要等上Linux服务器,查看一些信息(特别是查日志找Bug)。

我在大学的时候也有过Linux的课程,在期间也做过Linux相关的笔记:

但是,在学校学完,没咋练手(还是太菜了),去到公司可以说是全忘光了。这篇文章主要来回顾以前的笔记,以及记录一下在工作中比较常用的一些命令。

  • 我这肯定是以我现在的维度来考量的,我工作时长比较短,所以可能会有很多命令会忽略掉了,欢迎在评论区补充

我TM怎么这么垃圾

一、查看日志

线上出现了问题,登上线上的机器查日志是非常常见的操作了。我第一次登上线上机器查日志的时候,我还只记得以下的几个命令(假设现在我们的日志文件叫做service.log):

  • cat service.log
  • tail -f service.log
  • vim serivice.log
  • (明显是不够用的)

现在日志每天产出的大小大概1GB:

每天产出1GB大小的日志

如果是小文件的话,单纯的cat命令还是可以应付的,但如果你直接用cat命令打开一个1GB的日志文件,保证卡死你(ctrl + c退出cat命令需要很久才能将cat命令停下来)。

  • 一般我只用cat来查看这个小文件的文本内容是什么

同样地,如果是小文件,单纯的vim命令去打开文件也是可以应付的,但如果你用vim命令去打开一个1GB甚至更大的文件,也能明显感受到缓慢和卡顿。

平时我还是很喜欢用vim去查找对应的记录的,我一般的操作:

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

tail -f service.log 这个命令我一般用于查看流量是否进来了(或者调试的时候可以直接看到日志,再迅速ctrl +c关掉)

面对比较大的日志文件,这我们就得配合grep来玩了,比如我们现在得知某个手机号收不到短信验证码,想要看一下这个手机号的日志是怎么样的。于是我们就可以这样搞:

  • cat service.log | grep 13888888888

这么一搞,就能将service.log中所有含有13888888888的记录给搜出来,搜索的速度还是贼快的。

检索日志

现在我们已经能根据关键字搜到对应的记录了,接着我想看一下那条记录的日志上下文【这样就能知道这条数据大概的执行状态了】

首先,我们先要查出对应记录的行号,在cat 命令后面加上一个 -n 参数就好了。所以命令是:cat -n service.log | grep 13888888888 ,如下图我们就可以查到对应的行号了

查看行数

现在行数是29506,我们一般只要看一下29506的前10行和后10行就差不多知道问题出现在哪了,于是我们可以这样做:

  • sed -n "29496,29516p" service.log:从29496行开始检索,到29516行结束
  • cat -n service.log | tail -n +29496 | head -n 20:从29496行开始检索,往前推20条

如果关键字不太准确(日志输出的记录太多了),我们可以使用more命令来浏览或者输出到文件上再分析:

  • cat service.log | grep 13 |more :将查询后的结果交由more输出
  • cat service.log | grep 13 > /home/sanwai/aa.txt 将查询后的结果写到/home/sanwai/aa.txt文件上

有的时候,我们想统计这个日志输出了多少行,我们可以使用这条命令:

  • cat service.log | wc -l

查看行数

参考资料:

二、查进程和端口

查进程有两个命令:

  • ps -ef
  • ps aux

上面两个命令都是列出所有的进程,我们还是通过 |管道和grep 来过滤掉想要查的进程,比如说:ps -ef |grep java

把进程查出来干嘛?知道它的进程ID了,我们可以把他给杀掉。

  • kill -9 processId:杀掉某个进程

查端口也是一个很常见的操作,常见命令:netstat -lntup

l:listening   n:num   t:tcp  u:udp  p:display PID/Program name for sockets

查看当前所有tcp/udp端口的信息

查看某个端口详细的信息:lsof -i:4000

查看某个端口的详细信息

三、查看系统的状态

3.1 TOP实时查看进程的状态

TOP命令查看进程的状态,其中有个load average可能不是那么好理解,下面来解释一下:

load average:在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数

load average 有三个值,分别代表:1分钟、5分钟、15分钟内运行进程队列中的平均进程数量。

  • 正在运行的进程 + 准备好等待运行的进程 在特定时间内(1分钟,5分钟,10分钟)的平均进程数

Linux进程可以分为三个状态:

  • 阻塞进程
  • 可运行的进程
  • 正在运行的进程

比如现在系统有2个正在运行的进程,3个可运行进程,那么系统的load就是5,load average就是一定时间内的load数量均值

3.2free查看内存使用状况

linux的内存管理机制的思想包括(不敢说就是)内存利用率最大化,内核会把剩余的内存申请为cached,而cached不属于free范畴。

如果free的内存不够,内核会把部分cached的内存回收,回收的内存再分配给应用程序。所以对于linux系统,可用于分配的内存不只是free的内存,还包括cached的内存(其实还包括buffers)。

  • 可用内存=free的内存+cached的内存+buffers

Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。磁盘的操作有逻辑级(文件系统)和物理级(磁盘块)

参考资料:

最后

我工作时长比较短,所以可能会有很多命令会忽略掉了,欢迎在评论区补充比较常用的命令。后续如果某些命令比较重要的,我再分享哈~

乐于输出干货的Java技术公众号:Java3y。公众号内有200多篇原创技术文章、海量视频资源、精美脑图,关注即可获取!

转发到朋友圈是对我最大的支持!

觉得我的文章写得不错,点

转载于:https://www.cnblogs.com/Java3y/p/11240869.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
工作采用的 linux 命令 ........................................................................................................ 3 1.从其他机器拷贝文件夹 ........................................................................................................ 3 2.查看哪个程序在用特定端口 ................................................................................................ 3 3.实时监控日志文件内容 ........................................................................................................ 3 4.查看指定用户拥有的进程 .................................................................................................... 3 5.查看磁盘空间使用情况 ........................................................................................................ 3 6.查找某文件出现指定字符串的行 .................................................................................... 3 7.查看内存使用情况 ................................................................................................................ 4 8.查看本机系统内核 ................................................................................................................ 4 9.查看当前路径下的文件/文件夹大小 ................................................................................... 4 10.变更为其它使用者的身份 .................................................................................................. 4 11.远程登陆 .............................................................................................................................. 4 12.不挂断地运行命令 .............................................................................................................. 4 13.查看文件的行数 .................................................................................................................. 4 14.比较两个文件的不同之处 .................................................................................................. 4 15.杀死进程 .............................................................................................................................. 5 16.在 SecureCRT 把文件传给本机的 SecureCRT 安装目录的 download 目录下 ............ 5 17.把本机文件传给 SecureCRT 当前机器的当前目录 ...................................................... 5 18.Vi 文本编辑器 ..................................................................................................................... 5 19.察看文件类型 ...................................................................................................................... 6 20.文本抽取 .............................................................................................................................. 6 21.非交互性文本流编辑器 ...................................................................................................... 7 22.将文件的记录分类 .......................................................................................................... 7 23.去除文本文件的重复行 ...................................................................................................... 7 24.连接两个文本文件 .............................................................................................................. 8 25.从文本文件剪切列或域 .................................................................................................. 8 26.将两个文本文件粘贴在一起 .............................................................................................. 8 27.将大文件进行分割 .............................................................................................................. 9 二.linux 常用命令 ............................................................................................................................ 9 1. cd ........................................................................................................................................... 9 2. pwd ........................................................................................................................................ 9 3. ls ............................................................................................................................................ 9 4. passwd ................................................................................................................................. 10 5. who ...................................................................................................................................... 11 6. cat ........................................................................................................................................ 11 7. mkdir ................................................................................................................................... 12 8. rmdir .................................................................................................................................... 12 9. chmod .................................................................................................................................. 12 10. chown ................................................................................................................................ 13 11. chgrp .................................................................................................................................. 13 12. touch .................................................................................................................................. 14 13. cp ....................................................................................................................................... 15 14. mv ..................................................................................................................................... 15 15. rm ...................................................................................................................................... 15 16. find .................................................................................................................................... 16 17. grep ................................................................................................................................... 16 18. more .................................................................................................................................. 17 19. less..................................................................................................................................... 17 20. head ................................................................................................................................... 17 21. tail ..................................................................................................................................... 18 22. cut ...................................................................................................................................... 18 23. at ........................................................................................................................................ 18 24. crontab ............................................................................................................................... 19 25. sleep .................................................................................................................................. 20 26. mesg .................................................................................................................................. 20 27. wall .................................................................................................................................... 20 28. write .................................................................................................................................. 21 29. kill ..................................................................................................................................... 21 30. ps ....................................................................................................................................... 21 31. pstree ................................................................................................................................. 22 32. top ..................................................................................................................................... 23 33. expr ................................................................................................................................... 23 34. locate ................................................................................................................................. 24 35. split .................................................................................................................................... 24 36. ln ....................................................................................................................................... 25 37. login 、logout .................................................................................................................. 25 38. exit ..................................................................................................................................... 25 39. man,info ......................................................................................................................... 25 40. alias ................................................................................................................................... 26 41. unalias ............................................................................................................................... 26 42. halt ..................................................................................................................................... 26 43. shutdown ........................................................................................................................... 26 44. reboot ................................................................................................................................ 26 45. clear ................................................................................................................................... 26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值