Linux常用命令参考(记录)

这是笔者自己在日常开发过程中,用的比较多的,特此记录,持续完善!!

一、cd

cd / 快速切换到根目录

cd ../ 切换到上级目录

二、快速提示

tab键 有快速补全的作用

(上下左右方向键的 向上箭头)可以快速复制上一个使用的命令

jinfo -flags pid:查看指定java进程的所有jvm运行参数,例如最大堆内存、使用的什么垃圾收集器等

【tomcat部署项目相关】

例如现在有一个项目路径为:/opt/min_meerkat_test/meerkat,下面有个tomcat-7.0.79,meerkat项目的war包就放webapps下面

下面大概介绍一下启动流程:

(1)先用 cd 切换目录至 /opt/min_meerkat_test/meerkat/apache-tomcat-7.0.79/bin

(2)先关闭tomcat进程:sh shutdown.sh

(3)查看进程是否已经关闭:ps -ef|grep meerkat/ap (过滤查看,ef前面有-短杠,meerkat/ap是tomcat的路径简写)

如果有进程为关闭,可以使用:kill -9 12976 54321 命令直接干掉Tomcat,杀死Tomcat进程

(4)重启tomcat:sh startup.sh或者./startup.sh(.bat是window下面的命令)

ps aux | grep tomcat 查看tomcat进程是否启动

【查看tomcat日志】

(1)先将目录切换到你的tomcat下的logs下

(2)控制台执行 tail -f catalina.out这样运行时就可以实时查看运行日志了

Ctrl+c 是退出tail命令。
alt+E+R重置。

另外:输入【./catalina.sh run】也可以查看tomcat的运行日志,但不是实时查看。

【修改文件】
vi + fileName进入文件
i 进入编辑模式
。。。编辑过程。。。
文件下方空白处,先按ESC,再shift + :(冒号),输入 x/wq  退出

【快速定位某个服务】

(1)jps:查看所有的在线服务,建议加上 -v,也就是:jps -v,可以看到详细路径

要分析线程问题的话,用 jstack -pid,可以打印出pid下所有的进程

如果想要统计某种状态的进程数可以:

关键字搜索

grep 'invalid bank' repay.log.2018-12.log | grep '请求代扣' 

查询出符合查询条件的总数

grep 'invalid banko' repay.log.2018-12.log | grep '请求代扣' | wc -l

PS:各种进程的状态对应日志的样子可以看:https://blog.csdn.net/weixin_33672400/article/details/86430199

(2)ll /proc/线程id:查看 线程id 的详细信息,重点看 cwd,服务文件的所在路径,并可以 cd 过去

(3)可以参考【tomcat部署项目相关】,进行相关操作

【查看CPU使用】

top -bn 1 -i -c

【快速找出最耗时的线程】

(1)利用上面的【快速定位某个服务】找到需要分析的服务的pid(假设是1001)

(2)输入:jstack 1001,会打印各种状态的线程(另外 jstack 还有 -l-m 两个参数,可以看下)

(3)使用:top -Hp 1001 命令,获得最耗费资源的线程号(pid), TIME列 就是各个Java线程耗费的CPU时间,这里我们选 47398线程 作为例子

(4)使用:printf “%x ” 47398,获得十六进制值,这里是 b926

(5)最后用:jstack 1001| grep b926,就可以知道了最耗费时间的线程了

【查看tomcat日志】

先定位到 logs下:tail -n 10000000 catalina.out | grep "关键字查询 " 转义特殊字符"

【新建目录】

cd 到指定路径下:mkdir threeParty

【远程拷贝文件到本机】

scp root@远程ip:/opt/min_meerkat_test/远程文件2019-09-02.xlsx /var/www/threeParty/生成的本地文件2019-09-02.xlsx

具体参考:https://www.cnblogs.com/zongfa/p/8391837.html

【压缩 和 解压文件】

压缩当前目录下的文件:zip -r myfile.zip myfile/

解压zip文件至指定路径下:unzip -o -d /home/sunny myfile.zip

把myfile.zip文件解压到 /home/sunny/

-o:不提示的情况下覆盖文件

-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下

或者直接在当前路径解压:unzip myfile.zip   解压到当前目录下(注意:解压之前,当前目录如果存在该解压的文件夹,应先删除,再解压,要不然很可能出现问题)

》》》先这样,以后扩展学习,系统记录一下!!

原文地址:https://www.cnblogs.com/zz-3m23d-begining/p/11301629.html