运维工程师常用命令(持续更新)
常用命令;
1.查看某个端口号被某个进程占用 :lsof -i :端口号
2.从多个文件中查找某个字段 :find / -type f | xargs grep "myfiles"
3.查找7天前修改的文件 :find / -type f -mtime +7
查找7天以内修改的文件 :find / -type f -mtime -7
4.删除某个文件 :rm -rf !(file|dir...)
5.查看CPU型号 : cat /proc/cpuinfo | grep name | cut -f2 -d : | uniq -c
6.查看核心数 :cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
7.追加多行 :cat >>/etc/sysctl.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
cat <<EOF>> /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
8.不显示输出 :/dev/null == 1>/dev/null(正确的不输出)
/dev/null 2>&1 == 1&2>/dev/null(错误的和正确的一样都不输出)
9.cut截取 : cut -d :/,//.. -fn : 以:,/为分隔符打印第n列
10.grep : grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行
11.免交互ssh登录:sshpass -p redhat ssh root@192.168.11.196
12.远程执行脚本 : ssh -p 9922 -t root@192.168.12.199 'sh /tmp/install.sh'
13.远程连接mysql :./mysql -h 192.168.12.59 -P 3306 -u root -p
14.修改系统字符集: localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf
15.设置时区:timedatectl set-timezone $(timedatectl list-timezones| grep Shanghai)
16.同步网络时间:ntpdate cn.pool.ntp.org
15.for循环一条命令:for i in $(cat ip);do ssh -p 9922 -t root@192.168.12.$i '/usr//bin/sh /root/aa.sh';done
16.ssh免交互生成秘钥对:ssh-keygen -q -N "" -t rsa -f /root/.ssh/id_rsa
17.创建用户免交互输入密码:useradd aa;echo redhat | passwd aa --stdin
useradd bb;echo bb:redhat | chpasswd
18.查看根下各个目录空间大小:du -ah --max-depth=1 / | sort -r
19.断点续传 : wget -c 网址
20.在第6行后插入:sed -i '6 a\server NTP_SERVER iburst\n' /etc/chrony.conf
在第6行前插入:sed -i '6 i\server NTP_SERVER iburst\n' /etc/chrony.conf
21.限制Tomcat内存:修改bin/catalina.sh 第一行:JAVA_OPTS='-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m'
22.yum查看软件包是否安装:yum list installed | grep 包名
23.exit 0:正常运行程序并退出程序;
exit 1:非正常运行导致退出程序;
24.set -e :当命令的返回值为非零状态时,则立即退出脚本的执行,在开头定义。
25.备份多个文件:for i in /etc/yum.repos.d/*.repo;do cp $i ${i%.repo}.bak;done(删除i的后缀repo,添加bak)
26.测试nginx是否开启压缩:curl -I -H "Accept-Encoding: gzip, deflate" "192.168.11.199或域名"
27.nginx添加环境变量:echo "export PATH=$PATH:/usr/local/openresty/nginx/sbin" >> /etc/profile
28.日期时间:date "+%Y-%m-%d-%I:%M:%S":2018-11-12-02:22:23
年:2018————%Y
18——————%y
月:11——————%m
Nov—————%b
November——————%B
日:12——————%m
星期:Mon————%a
Monday——————%A
时:05——————%I
17——————%k,%H
分:20——————%M
秒:50——————%S
29.日期:11/12/2018——————%x
11/12/18———————%D
Mon 12 Nov 2018 05:10:02 PM CST———————%c
时间:05:12:06 PM——————%r,%X
17:12:12————————%T
30.查看服务器性能:
负载: uptime
系统日志:dmesg | tail
系统核心指标:vmstat 1
CPU的占用:mpstat -P ALL 1
进程占用: pidstat 1
磁盘利用率: iostat -xz 1
网络设备的吞吐率: sar -n DEV 1
TCP连接状态: sar -n TCP,ETCP 1
全面的查看系统负载的来源: top
31.stat file:查看文件的inode
inode:数据索引,记录除文件本身外的所有信息
32.删除大小为0的空文件:find ./ -size 0|xargs rm –f
您的资助是我最大的动力!
金额随意,欢迎来赏!