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\n” 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 解压到当前目录下(注意:解压之前,当前目录如果存在该解压的文件夹,应先删除,再解压,要不然很可能出现问题)
》》》先这样,以后扩展学习,系统记录一下!!