工作常用Linux命令记录

  • 一、基础部分
  • 1、光标快速移动
  • 2、杀死指定端口
  • 3、查看磁盘占用
  • 4、CPU占用
  • 5、JVM命令
  • 二、日志部分
  • 1、固定打印日志
  • 2、追加打印日志
  • 3、查询关键字周围
  • 4、浏览日志


一、基础部分

1、光标快速移动

mac下

移动到上一个单词:option+➡️

移动到下一个单词:option+⬅️

移动到行首:control+a

移动到行尾:control+e



2、杀死指定端口

根据端口找到pid:lsof -i :7001

删除指定pid的进程:kill -9 pid

补充:lsof(List Open File)



3、查看磁盘占用

查看磁盘占用情况:df -lh

显示指定路径下每个目录的磁盘使用量,并以 GB 为单位进行显示:sudo du --max-depth=1 -BG

查看当前目录下按磁盘使用量从大到小排序的前几个目录或文件的命令:du -sh * | sort -hr | head

补充:

df(disk free )-l(list)h(以可读性更好的GB,MB,KB等单位显示空间大小)

–max-depth=1:限制显示的层数,这里设置为只显示当前目录下的直接子目录及其大小

-BG:以 GB 为单位显示磁盘使用量

du -sh *:计算当前目录下每个子目录或文件的磁盘使用量,并以易读的格式(如 GB、MB)显示

sort -hr:对前一步计算的结果进行按磁盘使用量排序,并按逆序显示(从大到小)

head:只显示排序后的前几个结果,通常是前 10 个



4、CPU占用

查看进程PID:top

查询线程PID:top -Hp 进程号

格式化线程号PID:printf “%x\n” 线程号



5、JVM命令

打印进程栈信息:jstack -l 进程PID

打印进程栈信息下指定线程:jstack 进程号 | grep ‘线程号’ -C5 --color(jstack 9 | grep ‘a’ -C 5 --color)

补充:

jstack options 参数说明

-F:当 jstack [-l] pid 没有响应时,强制打印一个堆栈转储。

-l:打印关于锁的其他信息,比如拥有的java.util.concurrent ownable同步器的列表。

-m:打印包含Java和本机C/ C++帧的混合模式堆栈跟踪。

-h:打印帮助信息



二、日志部分

1、固定打印日志

打印文件中含log行的日志:cat log.log | grep “xx”

打印log文件最后100行:tail -n 100 log.log



2、追加打印日志

打印最新log文件:tailf log.log

打印最新log文件中含有xx行的日志:tailf log.log | grep ‘xx’



3、查询关键字周围

显示匹配行上下3行:grep -C 3 “error” log.log

显示匹配行上面2行:grep -B 2 “warning” log.log

显示匹配行后面4行:grep -A 4 “exception” log.log



4、浏览日志

查看log.log文件:less log.log

  • 上下操作
  1. 向上翻页: bPage Up
  2. 向下翻页:空格Page Down
  3. 向上滑动:k
  4. 向下滑动:j
  5. 到末尾:shift+g
  • 搜索
  1. 搜索abc:/abc
  2. 跳转上一个:N
  3. 跳转下一个:n
  • 退出
  1. 退出 more:q