基础操作
- 查看磁盘情况
df -h
(若有挂载磁盘出错:df -hl
) - 查看当前目录总共占的容量
du -sh
- 查询当前目录大小及下一级目录大小
du -lh --max-depth=1
- 查看内存使用情况
free
- 查看cpu/内存
top
- 文件夹拷贝
copy -r folderSource folderTarget
- 文件字符串替换
sed -i "s/字符串原始/字符串目标/g" ./文件名
- 查看所有进程
ps aux | less
- 查看进程的各个线程和运行时间
ps -T -p 123
- 切换用户
su 用户
,su -用户
包含用户环境 - 查询文件
find / -name filename
- 查询15天内改动过的文件夹
find / -mtime -15 -type d
- 查询内容
grep -rn "upload.file.maxsize" *
- 在文件中查询字符串
grep 'abc' file.txt
- 查看文件内容
more filename
,然后输入/content
搜索指定的内容,ctrl+b返回上一屏,输入=
查看行号或者:f
查看文件名和行号
不基础操作
-
从日志中查询出某些字符串的出现次数并排序
#查询出100721出现的次数追加到文件1.txt echo -n '100721 ' >> 1.txt grep -o '100721' app.log | wc -l >> 1.txt #查询其他 ......
根据出现次数从大到小排序,输出到2.txt sort -n -r -t ' ' -k 2 1.txt -o 2.txt
用jstack查看占用cpu高的线程
top (假如pid=123的消耗cpu最高)
top -Hp 123 (查看各个线程的cpu使用情况)
jstack xxxLINUX通过下面的命令可以开启允许对外访问的网络端口:
/sbin/iptables -I INPUT -p tcp --dport 10010 -j ACCEPT #开启8000端口
/etc/rc.d/init.d/iptables save #保存配置
/etc/rc.d/init.d/iptables restart #重启服务
查看端口是否已经开放
/etc/init.d/iptables status
方法2:
firewall-cmd --zone=public --add-port=10010/tcp --permanent
firewall-cmd --reloadsocket快速回收
vi /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
然后执行/sbin/sysctl -p让参数生效CPU占用过高、物理内存富余量极少、磁盘I/O占用过高、发生换入换出过多、网络链接数过多。可以通过top、iostat、vmstat、netstat工具获取到相应情况。
jstat工具查看Java堆的占用率
死锁、死循环、数据结构异常(过大或者被破坏)、集中等待外部服务回应等现象。这些异常现象通常采用jstack工具可以获取到非常有用的线索。
连接数排序 netstat -natp | awk '{print $7}' | sort | uniq -c | sort -rn
cpu占用过高
top
ps -ef | grep 31841
ps -mp 31841 -o THREAD,tid,time
printf "%x\n" 1129
jstack 31841 | grep 2c23 -A 40挂载阿里云文件系统
1.sudo yum install nfs-utils
2.sudo mount -t nfs4 001e74bf43-nof18.cn-hangzhou.nas.aliyuncs.com:/ /mnt
3.mount -l | grep mnt