Linux常用命令
1.内存使用百分比
free -m | sed -n '2p' | awk '{print "used mem is "$3"M,total mem is "$2"M,used percent is "$3/$2*100"%"}'
2.锁定文件
# root用户都无法修改 # 锁定/etc/hosts文件 chattr +i /etc/hosts # 解锁/etc/hosts文件 chattr -i /etc/hosts
3.修改mysql root密码
1. 用SET PASSWORD命令
格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123');
2. 用UPDATE直接编辑user表
mysql> use mysql; mysql> update user set password=password('123') where user='root' and host='localhost'; mysql> flush privileges;
4.查看本机的IP地址
ifconfig | grep "inet"| egrep -v '(192.168.50|127.0.0.1)' | awk -F ' ' '{print $2}'
5.CAT重定向到某个文件
cat >> /etc/zabbix/zabbix_agentd.d/userparameter_jar.conf << EOF # monitor jar tcp status UserParameter=jar_tcp.status[*],/bin/bash /shell/zabbix/jar_tcp_connection_status.sh $1 $2 EOF
6.压缩文件
# 如果压缩的时候出现 tar: 从成员名中删除开头的“/”,加参数大写P tar -zPcf log.tar.gz start.log
7.拆分打日志
# 拆分成50M一个文件 split -b 50M stderr.tar.gz stderr_20171209.tar.gz.
8.dos2unix
由于windows中行结束符和linux中行结束符不同,windows中是\r\n,linux中是\n。 如果shell脚本第一行为#!/bin/bash/^M,最后结束符导致shell编译器不能识别该解释器地址。 linux提供了两种命令转换文件格式: unix2dos和dos2unix。 #查看shell文件是否有非打印字符 cat -v 文件名 #转换文件格式 dos2unix 文件名
9.CentOS7 查看本机IP地址
hostname -I
10.查看某一进程的启动时间
ps -p PID -o lstart #PID是进程的pid
11.tcpdump
tcpdump -i eth0 dst port 80
12.strace命令
strace useradd test #跟踪创建用户的过程
13.不输入密码执行sudo命令
guest ALL=(ALL) NOPASSWD:/usr/sbin/tcpdump
14.查使用内存最多的5个进程
ps -aux | sort -k4nr | head -5 或者 top (然后按下M,注意大写)
15.查使用CPU最多的5个进程
ps -aux | sort -k3nr | head -5 或者 top (然后按下P,注意大写)