当我们用&命令后关闭终端进程就会结束,我需要使用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:[磁盘] 显示磁盘和分区的情况
%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
conf/nginx.conf 主配置文件
./nginx -s reload 执行重载命令
./nginx -t 检查配置文件是否有语法操作
./nginx -s stop 快速停止nginx
./nginx -s quit 完整有序的停止nginx
./nginx -s reopen 重新打开日志文件
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 -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 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灰度发布
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