持续更新……
文章目录
前言
记录工作和学习中遇到的shell命令,以备记忆和查用。
一、操作系统
1.进程信息查询netstat
ps aux | grep softirq #可以看到软中断是以内核线程的方式运行的
root 6 0.0 0.0 0 0 ? S 05:45 0:00 [ksoftirqd/0]
root 14 0.0 0.0 0 0 ? S 05:45 0:07 [ksoftirqd/1]
2.linux版本查看命令
# 内核版本
cat /proc/version
uname -a
# 发行版本
cat /etc/issue
lsb_release -a
# 综合信息
hostnamectl
3.系统中断
# 硬中断和软中断信息
cat /proc/iterrupts
cat /proc/softirqs
# 系统中断次数的变化速率
watch -d cat /proc/softirqs
二、网络
1.网络状态查询netstat
netstat -anpt | grep :22
2.tcpdump
# 指定网卡
tcpdump -i eth0 udp port 514 -s 0 -w test.pcap
# 指定ip和端口
tcpdump host 12.12.12.12 and port 161 -s 0 -w snmp1.pcap
3.curl
# 请求post接口,带参数
curl -i -H "Content-type: application/json" -H "Header-custom: Header-custom" -X POST -d '{"name": [“bob”,“jeff”]}' "10.103.64.245:80/biz/v1/getByname"
三、内存
四、磁盘和文件操作
1.磁盘
df -h # 以易读的格式展示
fdisk -l # 列出所有分区
mkfs # 格式化磁盘
mount disk mount_path
2.sed命令
vim xxx.txt
:122,141s/^/#/g
# 或
sed -i '122,141s/^/#/g' xxx.txt
# vim中进行字符替换
:1,$s/word1/word2/g
# 或
:%s/word1/word2/g
# sed -i 替换以某字符串开头的一整行(可以使用#等替换/)
sed -i '/^prefix/s/.*/new_content/' example.txt
3.tar压缩和解压
# 压缩
tar -cvf test.tar test # 仅打包,不压缩
# 【常用】
tar -czvf test.tar.gz test # 打包后,以gzip压缩,打包文件名一般用tar,如果进行了压缩,则使用tar.gz
tar -czvf dist.tar.gz -C dist . # -C 参数,精确指定需要打包的路径
# 解压
tar -xzvf test.tar.gz
4.grep
# 多个关键字匹配,或
grep -E 'key1|key2' test.txt【实用】
egrep 'key1|key2' test.txt【实用】
awk '/key1/key2/' test.txt
# 忽略大小写
grep -i 'key1' test.txt
# 只列出匹配的文件名【能避免用awk进行分割】
grep -l 'key1' test.txt
# 列出不匹配的文件名
grep -L 'key1' test.txt
# 需要整个单词匹配,而不是部分字符
grep -w 'key1' test.txt
5.base64编解码
echo '{"name": ["bob"]}' | base64
五、数据库
1.连接mysql服务
# 执行sql文件
./musql -h$HOST -P$port -u$user -p$pwd $database_name < /opt/sql.sql
2.from_unixtime函数,时间戳格式化
SELECT time_millisecond,from_unixtime(time_millisecond/1000) from table_name ORDER BY time_millisecond desc limit 1;
3.sqlite
# 创建或连接数据库
sqlite3 test.db
sqlite>.databases
sqlite>.tables
sqlite>.header on
sqlite>.mode column
sqlite>select * from table_xxx;
六、Java相关
1.arthas查看springBean的变量信息
# 类变量(static修饰)
sc -d classpath | grep -i hash #获取该类的加载器hash值
ognl -c classLoaderHash '@classpath@public-static-method-name()' #执行静态方法
# 普通成员变量
sc -d classpath | grep -i hash #获取该类的加载器hash值
ognl -c classLoaderHash '@com.xxx.xxx.SpringUtil@getBean("beanName").filed' -x 2
2.常用jvm命令
jmap -heap 14
jmap -histo 14 | head -n 5
jstat -gcutil 14 5000
jinfo 14
java -XX:+PrintFlagsFinal -version | grep ThreadStackSize
jinfo -flag ThreadStackSize 14
七、消息中间件
1.kafka
# 查看消息消费情况
kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --group [分组名] --describe | grep biz_key_words