Skip to content

Linux常用命令

Dump Bootstrap进程的线程栈

shell
jstack -l $(jps |grep Bootstrap |awk '{print $1}') > $(hostname).dump.jstack

强制 Dump Bootstrap进程的线程栈

shell
jstack -l -F $(jps |grep unavailable |awk '{print $1}') > $(hostname).dump.jstack

强制 Dump Bootstrap进程的内存快照

shell
jmap -F -dump:format=b,file=~/$(hostname).dump $(jps |grep Bootstrap |awk '{print $1}')

查找Tomcat进程

shell
ps aux | grep tomcat

杀Tomcat/Java进程

shell
for i in `ps aux|grep tomcat|grep -v grep|awk '{print $2}'`;do kill -9 $i;done

# 强杀
kill -9 $(jps |grep Bootstrap |awk '{print $1}')

# 等待业务结束
kill -15 $(jps |grep Bootstrap |awk '{print $1}')

# 打印进程各个线程的堆栈信息,kill -3 pid 后文件的保存路径为:/proc/${pid}/cwd,文件名为:antBuilderOutput.log, 保留现场的神奇命令
kill -3 $(jps |grep Bootstrap |awk '{print $1}')

正常退出redis

shell
pkill redis-server

挂载nfs盘

shell
mount -t nfs IP地址:/data /data

文件/夹占用空间详情

shell
du -shc *

查看Nginx连接数

shell
yum install net-tools -y
netstat -n|awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

查看IP连接情况

shell
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

统计端口连接数

shell
netstat -nat|grep -i "PORT"|wc -l

查询5天前包含"log.*"的文件并删除

shell
find ./ -mtime +5 -name "log.*" -exec rm -f {} \;

-mtime    -n +n      #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n      #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime    -n +n      #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

删除一个月前的所有文件

shell
find . -mtime +31 -type f | xargs rm -rf

以某个角色运行命令

shell
runuser -u 角色名称 "/usr/local/zookeeper/bin/zkServer.sh" restart

切换到某个角色在运行

shell
su - tomcat -c "nohup java $JAVA_OPTS -jar $DORADO_HOME/$JAR_FILE  > /dev/null 2>&1 &"

日志分析, 查看登录用户信息

shell
who /var/log/wtmp

历史命令

shell
# /root/.bash_history
history

df -i

text
磁盘有空间却提示磁盘空间不足,此时应该果断查看inode空间是否已满;
Linux索引节点(Inode)用满导致空间不足

vi/vim文本全局替换

shell
:g/旧文本/s//新文本/g

通过/etc/fstab实现开机自动挂载NFS

shell
# 远程/data目录挂载到本地/home/app/upload
# qs
192.168.100.1:/data /home/app/upload nfs defaults,_rnetdev 0 0
 
# CentOS6/7
# 客户端
service rpcbind start
 
# 服务端
# 配置白名单
vim /etc/exports
------------------------样式
/uc/files 10.205.61.0/24(rw,sync,no_root_squash)
------------------------------------
# 启动NFS服务
# 注意这两个服务的启动的顺序。必须先启动rpcbind服务
service rpcbind start       
service nfs start

VmwareSDK参考

text
源码:https://github.com/yavijava/yavijava
示例:https://github.com/yavijava/yavijava-samples

在指定目录下多个文件内容中查找包含的关键字

shell
#-r 是递归查找
#-n 是显示行号
#-R 查找所有文件包含子目录
#-i 忽略大小写
#-o 只输出匹配的内容(一般用于获取关键字在文件中出现的次数查找)
#-w 按单词位单位过滤
#-v 取反(获取不包含关键字的文件内容)
grep -r '关键字' 目录