linux使用经验
常用命令
实时监控系统状态
top 按P – 以 CPU 占用率大小的顺序排列进程列表 按M – 以内存占用率大小的顺序排列进程列表 按 m 切换内存占用情况, 多按2次,可转换显示形式
通过进程id 查看进程执行信息
lsof -p 22042
实时输出日志文件
tail -f message-server.log
断点续传 下载网络文件。
下载该网络想的MySQL.zip压缩包。
其中-c:断点续传,如果下载中断,那么连接恢复时会从上次断点开始下载。
wget -c http://apache.opncas.or/MySQL/MySQL-7/v7.0.67/bin/MySQL.zip
https://zhidao.baidu.com/question/17079743.html
// 查看系统版本 cat /etc/issue // 检测软件是否正常安装 yum list installed jdk // 安装 jdk yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
安装 jdk https://blog.csdn.net/github_38336924/article/details/82221258
查找占用端口进程
netstat -anp | grep 8000 kill -9 29787
查看java安装目录
[root@localhost ~]# java -version java version "1.7.0_51" OpenJDK Runtime Environment (rhel-2.4.5.5.el7-x86_64 u51-b31) OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode) [root@localhost ~]# which java /usr/bin/java [root@localhost ~]# ls -lrt /usr/bin/java rwxrwxrwx. 1 root root 22 9月 6 22:51 /usr/bin/java -> /etc/alternatives/java [root@localhost ~]# ls -lrt /etc/alternatives/java lrwxrwxrwx. 1 root root 72 9月 6 22:51 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre/bin/java
https://www.cnblogs.com/luminccs-5308/p/10043338.html
防火墙操作
// 查看防火墙 iptables -L -n // 删除第6条规则 iptables -D INPUT 6
安装Maven并配置到系统目录
参考:
https://www.cnblogs.com/shanyou/p/8449721.html
cd /data wget [http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz] tar zxf apache-maven-3.5.2-bin.tar.gz mv apache-maven-3.5.2 maven3
确保每次初始化时,环境变量都正确:
<code>vim </code><code>/etc/profile</code><code>.d</code><code>/maven.sh</code>
输入 #!/bin/bash export MAVEN_HOME=/data/maven3 export PATH=$PATH:$MAVEN_HOME/bin
保存退出后,为该脚本添加可执行权限:
chmod 744 /etc/profile.d/maven.sh
最后执行脚本使环境变量的设置生效:
source /etc/profile.d/maven.sh
其他软件找不到 maven
例如: jenkins 找不到,那么,就尝试重启 jenkins,重启后就可以
常用操作
屏幕会话操作
// 列举 screen -ls // 进入ls的命令窗口 screen -r 24145.download // 命令窗口退出 screen -X -S 24145 quit // 创建新的session,名字叫 ngrok, 可修改 screen -S ngrok
// 查看内存使用情况 free -m
把/home目录下面的mydata目录压缩为mydata.zip
#压缩mydata目录 zip -r mydata.zip mydata
分配虚拟内存
https://www.cnblogs.com/ashfirm/p/7777361.html
mkdir /swap/ cd /swap/ dd if=/dev/zero of=swapfile bs=1024k count=2000 swapon swapfile // 编辑启动项,确保每次启动都使用了虚拟交换文件 vi /etc/fstab // 文件末尾追加如下内容 /swap/swapfile swap defaults 0 0
对于 Ubuntu 系统,需要在 dd 后面,创建虚拟文件
mkswap swapfile
上传下载
yum -y install lrzsz
rz: 上传文件命令,可以选择对应文件进行上传
sz: 下载服务器文件命令,格式为 rz xxx.zip
下载文件存放位置在securtCRT中设置(选项/Session Option X/Y/Zmoderm),位于:
C:\Users\Jack\Downloads
问题及解决
提示无权限删除文件
error: unable to unlink old '.user.ini'
发现root 用户 有执行文件的权限
再使用 lsattr 命令查看权限:
lsattr a.txt
---i------------ a.txt
发现有一个 i 权限,百度查看此权限:
发现 I 权限如下:
不能被删除、改名、设定连结、写入或新增数据;
使用 命令撤销 i 权限:
chattr-i a.txt
再查看:
lsattr a.txt
a.txt 此时再删除:
rm -f a.txt
删除成功。
https://blog.csdn.net/yushaolong1234/article/details/81381520
研究资料
进程查看
top
10.6% us 用户空间占用CPU的百分比。
2.2% sy 内核空间占用CPU的百分比。
% sy 内核空间 占用 cpu比较高
https://help.aliyun.com/knowledge_detail/41225.html?spm=a2c6h.13066369.0.0.433f716eKZjkEE
如果该值持续为0,同时sy是us的两倍,则通常说明系统面临CPU资源短缺。
// 定时刷新,监测 cpu 与 内存的情况 vmstat -n 1 top P // 进入占用 cpu 最高的程序 cd /proc/27864 // 查看当前进程关联程序 ll /root/exercise/socket-test/src/server top k 输入pid值,立刻终止即可。
top 指令
按 e 切换字节显示格式
监控java线程数:
ps -eLf | grep java | wc -l
监控网络客户连接数:
netstat -n | grep tcp | grep 侦听端口 | wc -l
参考资料:
https://blog.csdn.net/mwb2001/article/details/90298532
linux根据进程号PID查找启动程序的全路径
cd /proc/23347 ls -ail
查看 cwd 所指向的路径,即可看到启动 路径