运维常用命令(持续更新中)

一、系统部分

当我们用&命令后关闭终端进程就会结束,我需要使用nohup
nohup ./file  &

版本

查看服务器发行版
cat /etc/*-release
查看服务器内核版本
uname -r

disk

查看disk大小
df -Th
#回收/home目录,扩容根目录(以centos为例)
yum install psmisc && fuser -kvm /home			# 卸载home之前,先停止该目录的占用
umount /home	 								# 卸载/home
lvremove /dev/mapper/centos-home				# 回收home目录的lv
lvextend -l +100%FREE /dev/mapper/centos-root	# 将vg所有空闲空间扩容给根目录的lv
xfs_growfs   /									# 调整/ 文件系统大小

#最后,取消/home的自动挂载,否则系统下次启动时会报错【重要】
vim /etc/fstab
#/dev/mapper/centos-home /home xfs defaults 0 0    # 注释掉这一行,保存。

内存

查看内存
free -h

cpu

查看cpu
top-->1
cat /proc/cpuinfo |grep "cpu cores"

io

iostat

-c: 显示CPU使用情况
-d: 显示磁盘使用情况
-N: 显示磁盘阵列(LVM) 信息
-n: 显示NFS 使用情况
-k:  KB 为单位显示
-m:  M 为单位显示
-t: 报告每秒向终端读取和写入的字符数和CPU的信息
-V: 显示版本信息
-x: 显示详细信息
-p:[磁盘] 显示磁盘和分区的情况

在这里插入图片描述
cpu属性值说明:

%user:		CPU处在用户模式下的时间百分比。
%nice:		CPU处在带NICE值的用户模式下的时间百分比。
%system:	CPU处在系统模式下的时间百分比。
%iowait:	CPU等待输入输出完成时间的百分比。
%steal:	管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:		CPU空闲时间百分比。

disk属性值说明:

device:			磁盘名称
tps:			每秒钟发送到的I/O请求数.
Blk_read/s:		每秒读取的block数.
Blk_wrtn/s:		每秒写入的block数.
Blk_read:		读入的block总数.
Blk_wrtn:		写入的block总数.

swap

查看swap空间
free -h

关闭swap空间
swapoff -a

开启swap空间
swapon -a

查看swap空间负载应用

for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ; do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null ; done | sort -k2nr |head
ps -ef |grep pid

进程

ps -ef
top

yum

yum clean all && yum makecache    			删除yum缓存并更新
yum check          							检查 RPM 数据库问题
yum check-update   							检查是否有可用的软件包更新
yum clean          							删除缓存数据
yum deplist        							列出软件包的依赖关系
yum distribution-synchronization 			已同步软件包到最新可用版本
yum downgrade      							降级软件包
yum erase          							从系统中移除一个或多个软件包
yum history        							显示或使用事务历史
yum info           							显示关于软件包或组的详细信息
yum install        							向系统中安装一个或多个软件包
yum list           							列出一个或一组软件包
yum provides       							查找提供指定内容的软件包
yum reinstall      							覆盖安装软件包
yum search         							在软件包详细信息中搜索指定字符串
yum update         							更新系统中的一个或多个软件包
yum update-minimal 							像升级一样工作,但是转到“最新”包匹配,修复影响系统的问题
yum updateinfo     							作用于存储库更新信息
yum version        							显示机器和/或可用的源版本。

二、用户部分

新增用户:useradd  -u [UID]  -g [GID]  user
删除用户:userdel  user
修改用户:usermod  [-p,-L,-d……]
例:usermod  -L user    将账号冻结
更改密码:passwd  user
增用户组:groupadd  groupname
删用户组:groupdel  groupname
查看用户:users、who、w
例: w命令最为详细,可以显示登录的主机和CPU及进程

切换用户:su user 或su  -  user

三、文件部分

刷新文件
source file

tar

tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包 
tar -jxvf archive.tar.bz2 解压一个bzip2格式的压缩包 
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包 
tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包 
创建文件:touch  file
删除文件:rm  file
查看文件:cat  file 或more file  tail file 或head file
复制文件:cp  file  file
移动文件:mv  file  file

修改文件拥有者权限:chmod  u+r/w/x/rwx或u-r/w/x/rwx  file
例: chmod  u+rwx  file    chmod  u-w  file
修改文件拥有组权限:chmod  g+r/w/x/rwx或g-r/w/x/rwx  file
例: chmod  g+rw  file    chmod  g-x  file
修改文件其他人权限:chmod  o+r/w/x/rwx或o-r/w/x/rwx  file
例: chmod  o+x   file    chmod  o-rw  file
修改全部人的文件权限:chmod  数字  file

修改文件拥有者:chown   user  file
例: chown  user  file1

修改文件拥有组:chgrp   group   file
例: chgrp  group  file1

查看文件隐藏属性:lsattr  file
修改文件隐藏属性:chattr  +[参数] file  或chattr  -[参数]  file
查找文件:find  dir(路径)  -name file  或locate  file

四、目录部分

切换目录:cd  dir
创建目录:mkdir  dir
删除目录:rmdir  dir
复制目录:cp -r  dir1  dir2

五、web部分

1.nginx部分

conf/nginx.conf						主配置文件
./nginx -s reload					执行重载命令
./nginx -t							检查配置文件是否有语法操作
./nginx -s stop						快速停止nginx
./nginx -s quit						完整有序的停止nginx
./nginx -s reopen					重新打开日志文件

2.tomcat部分

conf/server.xml    					主配置文件
tomcat 默认启动路径  tomcat/bin
./shutdown.sh						关闭tomcat
./startup.sh						启动tomcat
tail -200f catalina.out				查看启动日志

jvm

tomcat/bin/setenv.sh
-Xmx  ,-Xms ,-Xmn ,-Xss
-Xms、-Xmx分配用来设置进程堆内存的最小大小和最大大小。
-Xmn用来设置堆内新生代的大小。通过这个值我们也可以得到老生代的大小:-Xmx减去-Xmn
-Xss设置每个线程可使用的内存大小。

六、mysql部分

连接到本机上的MYSQL		mysql -h主机地址 -u用户名 -p用户密码
更改表内容				update disconf.user set password=password("admin") where name="admin";
添加表内容				INSERT INTO disconf.user (user_id,name,password,token ) values(1,'zhangsan',PASSWORD('123456'),'');
增加用户					grant select on 数据库.* to 用户名@登录主机 identified by “密码”
更改用户密码				SET PASSWORD FOR 'root'@'localhost'=PASSWORD('abc123');
导入表库					/opt/mysql/bin/mysql -uroot -pabc123 < /opt/gateway_uat.sql
刷新用户列表立即生效		FLUSH PRIVILEGES;
创建库					create database <数据库名>;
创建表					create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
删除库					drop database test;
删除表					drop table <表名>;
删除表字段
删除用户					drop user 'root'@'localhost.localdomain';
查看mysql语言			Select SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME,DEFAULT_COLLATION_NAME,SQL_PATH from information_schema.SCHEMATA;
查看表结构 				desc <表名称>
查看表内容				select <表字段> from <表名称>

七、docker部分

docker run --name <容器名> -p 8888:80 -v <宿主机文件绝对路径:容器内文件绝对路径> -d <仓库名:版本标签>
# docker run --name nginx01 -p 8888:80  -v /opt/nginx/config/nginx.conf:/etc/nginx/nginx.conf -v /opt/nginx/share/:/usr/share/nginx/html/ -v /opt/nginx/config/conf.d:/etc/nginx/conf.d -d nginx
# 宿主机文件挂载到容器内文件

搜索镜像	  docker search 
查看容器日志  docker logs 
查看容器镜像  docker images
查看容器状态  docker ps -a
启动容器	  docker run
删除容器      docker rm
删除镜像      docker rmi
进入容器      docker exec -it /bin/bash
保存镜像      docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
加载镜像	  docker load -i 镜像保存文件位置

查看容器ip
进入容器内部后 cat /etc/hosts

#docker cp 容器ID/名称:文件路径  要拷贝到外部的路径   |     要拷贝到外部的路径  容器ID/名称:文件路径
#从容器内 拷出
docker cp 容器ID/名称: 容器内路径  容器外路径
#从外部 拷贝文件到容器内
docker  cp 容器外路径 容器ID/名称: 容器内路径

八、k8s部分

k8s灰度发布
kubectl scale deployment nginx --replicas=2

自动补全
source <(kubectl completion bash)

测试版本升级
kubectl set image deployment/nginx-deployment nginx=nginx:1.14 && kubectl rollout pause deployment/nginx-deployment

没有问题后进行滚动升级
kubectl rollout resume deployment/nginx-deployment

查看历史版本
kubectl rollout history deployment/nginx-deployment

查看版本1的状态
kubectl rollout history deployments/nginx-deployment --revision=1

回滚到版本1
kubectl -n default rollout undo deployment/nginx-deployment  --to-revision=1

通过svc暴露pod端口
kubectl expose deployment.extensions my-nginx -n kube-public --port=80  --name=nginx-service --type=NodePort

kubectl scale deployment nginx --replicas=2 -n kube-public			#扩容
kubectl scale deployment nginx --replicas=1 -n kube-public 			#缩容

查看节点日志
journalctl -u kubelet -f

即可进入部署的 pod!
kubectl exec -it podName -n namespace -- /bin/sh 

打标签
# kubectl label nodes <node_name> key1=val1 key2=val2
# kubectl label nodes node01 key1=val1
# kubectl label nodes node01 key2=val2
# kubectl label nodes node01 key1=val1 key2=val2

删除标签
# kubectl label nodes <node_name> key1- key2-
# kubectl label nodes node01 key1-

查看标签
kubectl get node --show-labels=true
NAME     STATUS             ROLES         AGE    VERSION   LABELS
master   Ready			    master                 
node01   Ready              node01    
node02   Ready              node02                 

导出yaml
kubectl get pod nginx -o yaml > nginx-test.yaml
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值