Liunx常用运维命令整理记录
前言
作为后端开发者,掌握一些常用的运维命令也是很有必要的,本文记录常用Liunx运维命令
基本命令
目录切换
cd base-admin/ 切换到当前目录下的base-admin目录
cd .. 切换到上一层目录
cd / 切换到系统根目录
cd ~ 切换到用户主目录
cd - 切换到上一个操作所在目录
目录操作
mkdir 目录名称 创建目录 ls或者ll(ll是ls -l的别名,ll命令可以看到该目录下的所有目录和文件的详细信息) 查看目录信息 find 目录 参数 寻找目录(查)
示例:
列出当前目录及子目录下所有文件和文件夹: find .
在/home目录下查找以.txt结尾的文件名:find /home -name "*.txt"
同上,但忽略大小写: find /home -iname "*.txt"
当前目录及子目录下查找所有以.txt和.pdf结尾的文件:find . \( -name "*.txt" -o -name "*.pdf" \)或find . -name "*.txt" -o -name "*.pdf" mv 目录名称 新目录名称 修改目录的名称(改)
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作。mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。后面会介绍到mv命令的另一个用法。 mv 目录名称 目录的新位置 移动目录的位置---剪切(改)
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作。另外mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。 cp -r 目录名称 目录拷贝的目标位置 拷贝目录(改),-r代表递归拷贝
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归 rm [-rf] 目录 删除目录(删)
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了增强大家的记忆, 无论删除任何目录或文件,都直接使用rm -rf 目录/文件/压缩包
文件操作
touch 文件名称 文件的创建(增) cat|more|less|tail 文件名称 文件的查看(查)
cat 查看显示文件内容
more 可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看
less 可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
tail-10 查看文件的后10行,Ctrl+C结束
注:命令 tail -f 文件 可以对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f catalina-2016-11-11.log 监控 文 件的变化 vim 文件名称 修改文件的内容(改)
注:vim编辑器是Linux中的强大组件,是vi编辑器的加强版,vim编辑器的命令和快捷方式有很多,但此处不一一阐述,大家也无需研究的很透彻,使用vim编辑修改文件的方式基本会使用就可以了。
在实际开发中,使用vim编辑器主要作用就是修改配置文件,下面是一般步骤:
vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q! (输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。) rm -rf 文件 删除文件(删)
注:同目录删除:熟记 rm -rf 文件 即可
查看Liunx参数
查看CPU信息
显示当前正在执行的进程的CPU使用率,内存使用率
top 查看线程的CPU使用率,内存使用率
top -Hp pid
查看内存信息
free -h
查看磁盘信息
df -h
端口与防火墙
1、查看当前所有tcp端口及进程服务
netstat -ntlp 2、防火墙
iptables
service iptables status 查看防火墙状态
service iptables stop 停止防火墙
service iptables start 启动防火墙
service iptables restart 重启防火墙 开放、移除8080端口
vim /etc/sysconfig/iptables 加入、删除配置文件,如:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEP
修改完成后使用 :wq 保存退出文件,重启生效:service iptables restart firewalld
systemctl status firewalld 查看状态
systemctl enable firewalld 启用防火墙 永久
systemctl stop firewalld 停止防火墙 重启后失效
systemctl disable firewalld 禁用防火墙 永久
systemctl start firewalld 启动
systemctl restart firewalld 重启 开放、移除8080端口
开放 firewall-cmd --add-port=8080/tcp --permanent
移除 firewall-cmd --permanent --remove-port=8080/tcp
修改完成重启生效 systemctl restart firewalld
部署JAR包
从关闭到启动
0、查看运行的java项目
pgrep java | xargs ps 1、先kill掉旧服务
pkill -f myspringboot-0.0.1 2、后台启动新服务
(nohup后台运行,&后台运行的区别:
使用nohup运行程序:
结果默认会输出到nohup.out
使用Ctrl + C发送SIGINT信号,程序关闭
关闭session发送SIGHUP信号,程序免疫
使用&后台运行程序:
结果会输出到终端
使用Ctrl + C发送SIGINT信号,程序免疫
关闭session发送SIGHUP信号,程序关闭
)
注:先cd进到jar位置 nohup java -jar myspringboot-0.0.1.jar & 如需额外输出日志(如果项目已经配置了日志,就不需要再重复输入日志了)
nohup java -jar myspringboot-0.0.1.jar > myspringboot-0.0.1.log & 3、控制台查看日志
tail -f myspringboot-0.0.1.log 4、如需修改jar包(前端代码、配置文件等)
1、先cd进到jar位置,然后使用 vim 命令进入jar包
2、使用 / 命令模糊搜索定位文件,例如main.js
3、按回车进入文件,修改完成后使用 :wq 保存退出文件,回到jar包目录,使用 :q 退出jar包,即可成功修改文件内容 PS:修改jar,重启生效
常用启动参数
例如
nohup java -Xmn200m -Xms800m -Xmx800m -XX:+UseG1GC -jar myspringboot-0.0.1.jar &
JVM性能排查
简单命令
查看目标JVM的所有配置项参数
jinfo -flags pid
查看堆内存信息和垃圾回收信息
jstat -gc pid
S0C:年轻代中 To Survivor 的容量(单位 KB);
S1C:年轻代中 From Survivor 的容量(单位 KB);
S0U:年轻代中 To Survivor 目前已使用空间(单位 KB);
S1U:年轻代中 From Survivor 目前已使用空间(单位 KB);
EC:年轻代中 Eden 的容量(单位 KB);
EU:年轻代中 Eden 目前已使用空间(单位 KB);
OC:老年代的容量(单位 KB);
OU:老年代目前已使用空间(单位 KB);
MC:元空间的容量(单位 KB);
MU:元空间目前已使用空间(单位 KB);
YGC:从应用程序启动到采样时年轻代中 gc 次数;
YGCT:从应用程序启动到采样时年轻代中 gc 所用时间 (s);
FGC:从应用程序启动到采样时 老年代(Full Gc)gc 次数;
FGCT:从应用程序启动到采样时 老年代代(Full Gc)gc 所用时间 (s);
GCT:从应用程序启动到采样时 gc 用的总时间 (s)。 查看堆内存的初始化信息以及堆内存的使用情况
jmap -heap pid 同时还可以生成dump文件来进行详细分析
jmap -dump:live,format=b,file=heap-dump.bin pid 查看线程的堆栈信息
jstack pid
dump文件可以下载下来进行分析,也可以直接使用liunx上的jdk的
1、在线分析,启用服务,访问http://ip:7000查看分析结果
jhat -J-Xmx512m heap-dump.bin
2、下载到本地,使用JVisualvm,是 JDK 内置的可视化性能诊断工具(双击运行,文件,装入堆dump文件)
图形工具
JVisualvm(看上面)
JProfiler (性能诊断利器 JProfiler 快速入门和最佳实践)
后记
Liunx常用运维命令整理暂时记录到这,后续再进行补充;
参考如下:
https://github.com/Snailclimb/JavaGuide/blob/master/docs/operating-system/linux.md
https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/手把手教你定位常见Java性能问题.md
Liunx常用运维命令整理记录的更多相关文章
- linux系列之常用运维命令整理笔录
目录 本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍 ...
- Oracle 常用运维命令整理
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 一.oracle建库与删库命令 (1)oracle11g ...
- linux基本语法和常用运维命令
linux上的操作一般是命令行操作,看起来很高大上,让人畏而远之. Help!Help! 忽然间闯入的linux黑黑的世界,怎么办,不要慌.赶紧敲出一个help命令,然后回车,黑色的窗口就会展示一些常 ...
- DB2常用运维命令
DB2是IBM公司推出关系型数据库管理系统.主要应用于银行.医院等大型机构.现今DB2主要包含以下三个系列:DB2 for Linux, UNIX and Windows(LUW) . DB2在Lin ...
- DG常用运维命令及常见问题解决
DG常见运维命令及常见问题解决方法 l> DG库启动.关闭标准操作Dataguard关闭1).先取消日志应用alter database recover managed standby data ...
- linux常用运维命令【转】
自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! 1.查看有多少个IP访问: awk ...
- (转)ceph 常用 运维命令--查看信息 - 不错的文档
下面是测试验证环节 1. 创建一个 pool rbd create foo --size 4 --image-format 2 --image-feature layering 2. 挂载和格式化 r ...
- linux系统常用运维命令
目录/文件处理命令 mkdir dirname 创建文件夹 mkdir -p /tmp/a/b 递归创建目录 rm -rf dirname 删除目录及内 ...
- SQLServer常用运维SQL整理
今天线上SQLServer数据库的CPU被打爆了,紧急情况下,分析了数据库阻塞.连接分布.最耗CPU的TOP10 SQL.查询SQL并行度配置.查询SQL 重编译的原因等等 整理了一些常用的SQL 1 ...
随机推荐
- Crash-fix-2:org.springframework.http.converter.HttpMessageNotReadableException
最近开始对APP上的Crash进行对应,发现有好多常见的问题,同一个问题在多个APP都类似的出现了,这里记录下这些常见的错误. crash Log: org.springframework.http. ...
- 我的linux学习日记day8
链接文件 linux中链接有两种,一种是硬链接,一种是软链接 一.硬链接 硬链接是指通过索引节点来进行链接创建硬链接的方法如下:ln 源文件 硬链接文件具有相同inode号的多个文件互为硬链接文件删除 ...
- 如何搭建一个WEB服务器项目(五)—— Controller返回JSON字符串
从服务器获取所需数据(JSON格式) 观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解,并不一定正确,希望不要误人子弟.欢迎各位大佬来评论区提出问题或者是指出错误,分享宝贵经验 ...
- quartzJob
定时任务的时间修改.暂停.立即执行 定时任务的修改.暂停主要是调用quartz内置方法pauseJob().resumeJob().triggerJob()等方法 //暂停一个job JobKey j ...
- Django中的事务与ajax
一 事务与锁 1.行级锁 行级锁是由存储引擎实现的.如mysql里默认指定的InnoDB存储引擎,由它实现行级锁.InnoDB的行级锁定同样分为两种类型,共享锁(X)和排他锁(S). 对于UPDATE ...
- 推荐一款复式记账软件——GnuCash
本文需要搞清楚两个事情,第一,什么是复式记账:第二,GnuCash操作 复式记账,来自百度百科的解释:复式记账法是以资产与权益平衡关系作为记账基础,对于每一笔经济业务,都要以相等的金额在两个或两个以上 ...
- mysql事务控制和锁定语句
MySQL 支持对 MyISAM 和 MEMORY 存储引擎的表进行表级锁定,对 BDB 存储引擎的表进行页级锁定,对 InnoDB 存储引擎的表进行行级锁定.默认情况下,表锁和行锁都是自动获得的,不 ...
- Java线程的启动与中止
一.线程与进程的关系 关于进程与线程,百度百科上是这样描述的: 进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. 在当 ...
- 面向对象案例 - 学生信息管理系统V1.0
学生管理系统项目[所有知识点整合] 1. 学生管理系统项目 尝试完成以下功能 实体类: 学生类: id, 姓名,年龄,性别,成绩 需要使用数组保存学生信息 Student[] allStu 需要完成的 ...
- c# 优化代码的一些规则——字符串使用优化[四]
前言 在我们的程序中,经常使用到字符串,字符串的写法非常多,但是有一个问题就是我们写的字符串是否合适呢? 正文 内插符 介绍一个东西叫做内插字符,如下: static void Main(string ...