LINUX笔记
1.init
yum clean all
yum makecache
yum install wget
yum -y install lrzsz
yum -y install vim*
yum install lrzsz
yum install -y unzip zip
2.解压tar.gz
tar -zxvf fileName.tar.gz
3.修改文件名
mv sourceFile targetFile
4.创建用户和组
groupadd groupName
useradd -r -g groupName userName
5.权限管理 chown
# 使userName有当前文件下的管理权限
chown -R groupName:userName ./
6.解压tar.xz
tar -xvf fileName.tar.xz
7.查找文件
# 查找 / 目录下的my.cnf
find / -name my.cnf
8.docker基础命令
docker images # 查看所有镜像
docker ps # 查看运行中的镜像
docker rmi id/name # 删除指定id/name镜像
docker stop/kill id/name # 停止/杀死指定id/name镜像
docker exec -ti 容器ID /bin/bash # 修改镜像的配置文件
9.docker启动xxl-job脚本
docker run -d -v /opt/xxl-job/application/application.properties:/application.properties -e PARAMS='--spring.config.location=/application.properties' -p 8080:8080 -v /opt/xxl-job/logs:/data/applogs --restart=always --name xxl-job-admin xuxueli/xxl-job-admin:2.2.0
10.增加虚拟内存
# 增加2G虚拟内存
[root@gamedb ~]# free -m
[root@gamedb tmp]# dd if=/dev/zero of=/tmp/big_swap bs=1024 count=2000000
[root@gamedb tmp]# du -sh /tmp/big_swap
[root@gamedb tmp]# mkswap /tmp/big_swap
[root@gamedb tmp]# swapon /tmp/big_swap
[root@gamedb tmp]# free –m
11.查看内存使用情况
free -h
12.查看应用端口情况
netstat -apn|grep fdfs
13.关闭防火墙
# 关闭防火墙
systemctl stop firewalld.service
# 查看防火墙的状态
firewall-cmd --state
# 禁止firewall开机启动
systemctl disable firewalld.service
# 开放默认端口
firewall-cmd --remove-port=9876/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 配置完成后, 重启网卡
systemctl restart network
14.docker启动mysql脚本
docker run -p 3306:3306 --name mysql -v /opt/mysql/conf:/etc/mysql/conf.d -v /opt/mysql/logs:/logs -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=密码 --restart=always -d mysql
15.docker启动nacos脚本
docker run -d --env MODE=standalone -v /opt/nacos/logs:/home/nacos/logs -p 8848:8848 --name nacos nacos/nacos-server:latest
docker run -d -p 8848:8848 -e MODE=standalone -v /opt/nacos/logs:/home/nacos/logs --name nacos nacos/nacos-server
# 集群启动
docker run -d \
-e PREFER_HOST_MODE=hostname \
-e MODE=cluster \
-e NACOS_SERVER_PORT=8848 \
-e NACOS_SERVERS="192.168.113.128:8848 192.168.113.129:8848 192.168.113.130:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.113.128 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e NACOS_SERVER_IP=192.168.113.130 \
-p 8848:8848 \
--name naco \
nacos/nacos-server:latest
16.清除缓存
# linux清除缓存:需要root权限
$ sync
$ echo 3 >/proc/sys/vm/drop_caches
# 上面的echo 3 是清理所有缓存
echo 0 # 是不释放缓存
echo 1 # 是释放页缓存
ehco 2 # 是释放dentries和inodes缓存
echo 3 # 是释放 1 和 2 中说道的的所有缓存
17.查看应用进程
# 查看进程信息
ps -ef | grep appName
# 杀死进程
kill -9 processNum
18.scp传输文件
# 传输tcl8.6.1-src.tar.gz文件到s2服务器上的/software目录
scp tcl8.6.1-src.tar.gz root@s2:/software/
19.搜索文件内容
进入vi模式后按‘ / 搜索内容’,n-向下查找,N-向上查找
20.docker启动redis脚本
docker run -p 6379:6379 --privileged=true --name redis -d --restart=always redis:latest redis-server --appendonly yes --requirepass "mecowine0312"
22.开放指定端口
1、开启防火墙
systemctl start firewalld
2、开放指定端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3、重启防火墙
firewall-cmd --reload
4、查看端口号
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 1935 //查看所有1935端口使用情况·
# 关闭指定端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
23.查看监听端口
ss-tnl
24.swap空间
# 关闭swap空间
swapoff -a
# 开启swap空间
swapon -a
# 永久关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab
25.容器自动重启
# 开启
docker update --restart=no my-container
# 停止
docker update --restart=no my-container
26.删除docker所有容器
sudo docker rm -f $(sudo docker ps -qa)
27.k8s查看etcd集群状态
ETCDCTL_API=3 /opt/etcd/bin/etcdctl --cacert=/opt/etcd/ssl/ca.pem --cert=/opt/etcd/ssl/server.pem --key=/opt/etcd/ssl/server-key.pem --endpoints="https://192.168.113.128:2379,https://192.168.113.129:2379,https://192.168.113.130:2379" endpoint health
28.设置主机名称
hostnamectl set-hostname <hostname>
29.k8s阿里yum
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
30.kubectl命令使用方法
# 语法
# command:指定要对资源执行的操作,eg:create、get、describe、delete
# type:指定资源类型、资源类型是大小写敏感的,能够以单数、复数、缩略的形式 eg:kubectl get pod、kubectl get pod name、kubectl get po name
# name:指定资源的名称,如果省略名称,则显示所有资源 eg:kubectl get pod
# flags:指定可选的参数。eg:可用-s 或者–server 参数指定 Kubernetes APIserver 的地址和端口
kubectl [command] [type] [name] [flag]
# kubectl使用帮助
kubectl --help
# 具体某个操作使用帮助
kubectl get --help
31.k8s生成yaml模板
# 方式一
kubectl create deployment web[项目名称] --image=nginx -o yaml --dry-run > my.yaml
# 方式二
kubectl get deploy nginx -o=yaml > my2.yaml
32.k8s节点label
# node1节点标签为dev
kubectl label node node1 env_role=dev
# 查看节点label信息
kubectl get node node1 --show-labels
33.k8s查看节点污点情况
# 查看node1节点污点情况
kubectl describe node node1 | grep Taint
34.k8s污点设置
# 污点值:NoSchedule(一定不被调度) PreferNoSchedule(尽量不被调度) NoExecute(不被调度,并且驱除已有pod)
# 设置污点,key、value随便写
kubectl taint node node1 key=value:污点值
# 删除污点
kubectl taint node node1 key1:NoSchedule- # 这里的key可以不用指定value
kubectl taint node node1 key1:NoExecute-
kubectl taint node node1 key1-
kubectl taint node node1 key2:NoSchedule-
35.k8s弹性伸缩pod
# 保持5个nginx,某个pod挂掉后会自动创建到5个
kubectl scale deployment <deployment_name> nginx --replicas=5
36.k8s查看pod
kubectl get pods
kubectl get pods -o wide
37.k8s删除pod
# 删除所有nginx pod
kubectl delete deployment nginx
38.k8s创建pod
# 创建nginx pod,镜像为nginx,deployment名称为nginx
kubectl create deployment nginx --image=nginx
# 暴露服务
kubectl expose deployment nginx --port=80 --type=NodePort
39.k8s根据yaml创建pod
kubectl apply -f nginx.yaml
# 使用yaml生成的镜像需要手动暴露端口
# --port:就是我们内部的端口号
# --target-port:就是暴露外面访问的端口号
# --name:名称
# --type:类型
kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web1
40.k8s升级回滚镜像版本
# 将nginx镜像版本修改为1.15
kubectl set image deployment <deployment_name> nginx=nginx:1.15
# 查看修改状态
kubectl rollout status deployment <deployment_name>
# 查看历史版本
kubectl rollout history deployment <deployment_name>
# 回滚到上个版本
kubectl rollout undo deployment <deployment_name>
# 回滚到指定版本(3是查看历史版本里面的版本号)
kubectl rollout undo deployment <deployment_name> --to-revision=3
41.k8s进入pod内部
kubectl exec -it podname bash