1. Linux常用命令
基础
- 路径类
- 查看当前路径:pwd
- 退回初始目录:cd /
- 退回上级目录:cd ..
- 进入某个目录:cd xxx
- 属性类
- 查看cpu使用率:sar
- 查看进程cpu使用率:top
- 查看硬盘内存使用率:df -lh
- 查看开机自启:systemctl list-unit-files|grep enabled
- 常用
- 重启:reboot
- 清屏:clear
- 重新加载:reset
- 退出命令行:ctrl + d
- ls
- 列出所有文件:ls(使用lls会列出的更加详细)
- 按照名称搜索:ls -d /s*(s开头文件,-d:本级目录文件)
- 退出:按了ESC后,直接按shift+zz,或者切换到大写模式按ZZ(编辑模式下保存并退出)
- 重新加载配置文件:source /etc/profile
- 管理员模式:su root
- 更改密码:sudo passwd root
- 文件
- 删除文件:rm xxx
- 删除文件夹:rm -rf xxx
- 创建文件:touch xxx
- 创建文件夹:mkdir xxx
- 搜索文件夹:# find / -type d -iname “文件夹名字”
- 搜索文件:# find / -iname “文件名字”
- 移动文件:mv xx yy(将xx移动到yy,也可以重命名)
- 打开文本:# cat filename
- 打开文本并实时显示:# tail -f filename
- 解压文件:tar zxvf FileName.tar.gz [-C 目标位置]
- 复制文件:cp 源.. 目标..
- 源可以是一个或多个文件
- 源为一个文件时,目标为一个文件则替代
- 源为多个文件时,目标必须为文件夹,移入
- 编辑文本
- 打开文件:vim /xx/xx/name
- 退出
- 按esc退出编辑
- 按shift+:出现输入命令界面
- 输入wq退出编辑
- 刷新配置:source /etc/profile
- 实时日志:sudo tail -f /var/log/access.log
- 压缩类
- 解压zip:unzip line.zip
- 共享文件
- 插件操作
- 安装:yum -y install xxx
- 卸载:yum -y uninstall xxx
- 树目录
- 安装:yum -y install tree
- 使用:tree -a -d -L 1
- tree:显示目录树
- -a:显示所有文件目录
- -d:只显示目录
- -L:选择显示的目录深度
- 1:只显示一层深度,即不递归子目录
后台运行
- 参考:https://zhuanlan.zhihu.com/p/430070264
- 安装:yum install tmux
使用:
- 创建
- tmux (创建会话,名字默认)
- tmux new -s test(创建会话,名字为test)
- tmux new -s test -d(创建会话,名字为test,但不进入会话)
- 分离(放到后台)
- ctrl +b 松开后输入d
- tmux detach(两种方法都可以)
- 列出会话
- tmux ls
- tmux list -session
- 进入会话
- tmux attach -t 0
- tmux attach -t
- tmux a(进入第一个会话)
- tmux a -t test(进入test会话)
- 切换会话
- ctrl + b ,松开后输入 s 上下箭头选择
- 杀死会话
- tmux kill-session -t test(杀死test会话,attach同)
- tmux kill-session(杀死所有会话,不杀死sttach会话)
- exit:退出
环境
- 创建
用户相关
- 切换root:su(先用sudo passwd root设置密码)
- 环境变量
- 文件位置:etc/profile(或者etc/profile.d/xx)
- 查看所有:env
- 查看单一:echo ${变量名}
- 自身赋值:变量名=${变量名}xxx
- 导入全局:export 变量名
- 更新环境变量:source /etc/profile
- 快捷命令(贼好用)
- 文件位置:/root/.bashrc
- 配置说明:alias rm=’rm -i’
- 防火墙
域名host
- 参考详解:http://www.eepw.com.cn/zhuanlan/238897.html
- 通常三部分:ip地址 主机名/域名 (主机别名)
- ip地址表明最终映射,127.0.0.1表示本机
- 主机名/域名表示互联网唯一标识,主机名用于局域网,域名用于互联网
- 主机别名用于本机快捷访问
端口
- 端口转发:
- iptables -t nat -A PREROUTING -p tcp —dport 新端口 -j REDIRECT —to-ports 旧端口
- 服务器中转
- firewall-cmd —add-forward-port=port=1433:proto=tcp:toaddr=113.88.12.56:toport=1433
- firewall-cmd —reload
- firewall-cmd —list-all
- 查看被占用的端口:netstat -tln | grep 8899(去掉|后边的可查看全部端口)

- netstat -lntp

- 查看被占用的端口的PID:sudo lsof -i:8899
- 杀死进程:sudo kill -9 850
- 杀死占用某端口的进程
- 端口转发:
同步脚本
- 用途
- 多个服务器进行文件同步,其中同步的文件路径相同
- 配置host(便于记忆与登录)
- vim /etc/hosts
- 添加以下内容(ip为本机就改为
127.0.0.1需要改为0.0.0.0否则只对内网开放)- 117.50.180.247 mykj
- 47.106.103.145 myali
- 124.222.199.221 mytx
- 别名一定不能含有特殊字符(包括_)
- 其中如果ip是目前服务器时需要改为0.0.0.0 xxx映射
- 配置hostname
- 按照host对应的mykj等对每个服务器各自配置
- 原理
- 前提是要ssh登录到对方服务器
- ssh xxx(可以是host也可以是ip)
- 使用rsync同步文件
- rsync -av /etc/xxx my_kj:/tmp/1.txt(如果没有免密则要输密码)
- 配置公钥私钥(此步骤所有机器都要执行一遍)
- 如果是root用户,进入root/.ssh 如果是其他用户,进入home/user/.ssh
- 输入:ssh-keygen -t rsa(然后敲三个回车)
- 将公钥拷贝到要免密登录的机器
- ssh-copy-id my_kj
- ssh-copy-id my_ali
- ssh-copy-id my_tx
- 配完就可以直接使用ssh host进行登录拉
- 文件内容
- xsync.txt
- 使用时需要将txt后缀去掉,只剩xsync即可
- 修改文件权限:chmod +x xsync
- 将脚本移动到 /root/bin/ 目录方便调用(位置在环境变量即可,echo $PATH看)
- 同时为了方便非root调用,将其移动到/bin目录(cp xx /bin)
- 使用方法
- 用途
project start
- springboot项目的启动命令
- SpringBoot整合命令(文件传输到/root下,最后一条命令执行两次)
- kill -9 $(lsof -i tcp:8899 -t)
- cd /
- cd root
- nohup java -jar ccyl-0.0.1-SNAPSHOT.jar > catalina.out 2>&1 &
- nohup java -jar ccyl-0.0.1-SNAPSHOT.jar > catalina.out 2>&1 &

- tomcat整合命令
- 传输目录是:/var/lib/tomcat/webapps
- 启动命令:sh /usr/sh/restart-tomcat.sh
Tomcat
- 启动tomcat
- systemctl start tomcat.service
- systemctl start tomcat
- 停止tomcat
- systemctl stop tomcat.service
- systemctl stop tomcat
- 重启tomcat
- systemctl restart tomcat.service
- systemctl restart tomcat
- 开机自启
- systemctl enable tomcat
- 状态
- ps -ef|grep tomcat
- 启动tomcat
MySQL
- 启动mysql
- systemctl start mysqld.service
- 关闭mysql
- service mysqld stop
- 查看mysql
- systemctl status mysqld.service
- 开机自启列表
- systemctl list-unit-files|grep enabled
- 登录mysql
- mysql -uroot -p(password)
- 导出数据库
- 启动mysql
防火墙
- 防火墙开放端口
- firewall-cmd —zone=public —add-port=8080/tcp —permanent
- 已经开放的端口
- firewall-cmd —list-ports
- 开启
- systemctl start firewalld.service
- 关闭
- systemctl stop firewalld.service
- 重启
- systemctl reload firewalld
- 状态
- service iptables status
- 防火墙开放端口
2. 阿里云
项目
- idea一键部署项目(阿里云服务器):https://blog.csdn.net/YClimb/article/details/84887429
- 打包(war):https://www.cnblogs.com/banxian-yi/p/10605115.html
- 开放端口:https://www.cnblogs.com/Azi-mi/p/10514952.html
- 服务器访问无响应:https://www.cnblogs.com/xiaohouzixiashan/p/12425072.html
对象存储
- 服务器OSSHOST:https://help.aliyun.com/document_detail/31834.html?spm=a2c4g.11186623.2.20.515649e8Ikwmow#concept-hh2-4tv-tdb
- OSS小程序+java上传图片:https://www.cnblogs.com/HfdBlog/p/9866369.html
- 微信小程序对接OSS:https://blog.csdn.net/hongzhangzhao/article/details/80243768
多级目录添加:
开户
- 环境准备
- 前期准备:https://www.jianshu.com/p/2604e53a7f6a?from=singlemessage
- 服务器的jdk傻瓜配置:https://blog.csdn.net/qq_42815754/article/details/82968464
- 真傻瓜安装:https://blog.csdn.net/qq_27739989/article/details/78047106?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
- 一键安装mysql:https://www.cnblogs.com/z0909y/p/10772854.html
- 问题解决
- 前提
- 镜像
- 我选的是pressword
- 其他
- 一路next,没怎么管
- 镜像
- JDK安装
- 下载
- oracle官网下载JDK
- 直接搜索JDK,下载版本为linux-x64,如下
- jdk-8u291-linux-x64.tar.gz
- 安装

- 将下载好的压缩包放到此处
- cd到此目录:cd /usr/local/JDK
- 解压文件:tar zxvf jdk-8u181-linux-x64.tar.gz
- 配置
- 打开配置文件
- vim /etc/profile
- 在末尾添加相关代码

- 注意:
- 进入文件之后任意按键都能触发修改,找个空白的地方按键
- 修改的时候下边会显示insert
- 修改完毕之后先esc
- 然后shift + :
- 出现输入命令界面,然后输入wq回车即可保存
- 重载配置
- source /etc/profile
- 下载
- mysql配置
- 获取密码:
- 登录服务器,输入
- sudo grep mysql_root_passwd /root/env.txt
- 配置环境:
- 无环境
- wordpress镜像自带数据库,但无全局环境

- 无环境登录👆
- 配置
- vim /etc/profile
- 末尾添加代码

- 保存
- esc
- ctrl+:
- wq
- 回车
- 刷新配置:
- source /etc/profile
- 注意
- 其中PATH变量最好放在最后,其中用到的HOME要比自己靠前声明
- 无环境
- 修改密码
- 不改密码

- 默认密码需要修改,否则第一次登录之后下次登录就gg
- 改密码
- 登录服务器
- 停止mysql监测
- /etc/init.d/mysqld stop
- 设置无密码登录
- mysqld_safe —user=mysql —skip-grant-tables —skip-networking &
- 设置之后无需密码直接回车就能登陆
- 改安全更新模式
- 查询
- show variables like ‘SQL_SAFE_UPDATES’;

- 修改:
- set sql_safe_updates=off;

- 注意:
- 如果不修改这个安全更新模式出现先以下情况

- 即安全模式下必须指定主键来更新
- 查询
- 密码更改
- use mysql
- UPDATE user SET authentication_string = password ( ‘123456’ ) WHERE User = ‘root’;

- 配置生效
- 刷新:flush privileges;
- 退出:quit;
- 重启:/etc/init.d/mysqld restart
- 允许远程连接
- 登录数据库
- use mysql;
- 查询
- select host from user where user=’root’;

- 修改
- update user set host = ‘%’ where user =’root’;
- 若不能修改执行 set sql_safe_updates=off; 之后重新进行
- 刷新配置
- flush privileges;
- 即可远程客户端连接数据库
- WordPress更新数据库密码
- 他不会检测到数据库密码更改了,所以要重新配置一下
- 进入服务器目录

- 在目录/home/www/htdocs下找到wp-config.php文件

- 修改密码即可
- 不改密码
- 获取密码:
5. 腾讯云
轻量服务器
4. 环境配置
Mysql
- 版本8(慎用)
- 下载
- 安装
- yum -y install mysql80-community-release-el7-3.noarch.rpm
- yum install -y mysql-community-server —nogpgcheck
- 其中第二个是强制安装,不检查证书(上边是mysql8,下边是mysql5.7)
- 命令
- 启动:systemctl start mysqld.service
- 停止:systemctl stop mysqld.service
- 查看:systemctl status mysqld.service
- 重启:systemctl restart mysqld.service
- 版本:
- 登录
- 获取初始密码:grep “password” /var/log/mysqld.log
- 登录:mysql -uroot -p(然后输入密码,密码不显示,最后回车即可)
- 修改密码
- 登陆后直接修改
- ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘Left@zuo123.’;
- 此密码必须遵循规范,较复杂
- 修改密码规范
- set global validate_password.policy=0;
- set global validate_password.length=1;
- ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘741748’;
- 这样就可以用比较简单的密码了
- 登陆后直接修改
- 远程登陆权限
- 创建用户admin:CREATE USER ‘admin’@’%’ IDENTIFIED BY ‘123456’;
- 允许远程连接:GRANT ALL ON . TO ‘admin’@’%’;
- 错误
- 客户端plugin caching_sha2_password
- 修改策略:
- use mysql;
- ALTER USER ‘admin’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
- 查看策略:select host,user,plugin fromuser;
- 修改全部策略:update user set plugin=’mysql_native_password’;
- 修改策略:
- 记得关防火墙以及开放端口
- 客户端plugin caching_sha2_password
- 卸载
- 千万不要用mysql8,使用的时候如果已存在的数据较多而且有多个索引甚至有fulltext索引的情况下,一个插入会逐渐消耗掉所有内存,个人猜测是因为mysql把所有索引都放到了内存,其实本来所有数据量不大,但是加上fulltext里边的索引是重复出现的,所以直接爆满了
- 查包名:rpm -qa|grep -i mysql
- 删除:rpm -e —nodeps 包名
版本5.7(常用)
- 参考
- 检测是否含
- rpm -qa | grep mysql
- 卸载
- rpm -e mysql(普通删除模式)
- rpm -e —nodeps mysql(强力删除模式)
- 下载+更新
- wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
- rpm -ivh mysql57-community-release-el7-10.noarch.rpm(更新默认版本为5.7)
- 安装mysql
- yum update(更新证书)
- rpm —import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022(下载公钥)
- yum install -y mysql-community-server(安装对应版本,千万不要去掉community)
- 更改密码
- 获取初始密码:grep “password” /var/log/mysqld.log
- 登录:mysql -uroot -p
- 修改密码1:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘Left@zuo123.’;
- 修改规范:
- set global validate_password_policy=LOW;
- set global validate_password_length=6;
- 修改密码2:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘741748’;
- 允许远程连接
- grant all privileges on . to ‘root’@’%’ identified by ‘741748’ with grant option;
- flush privileges;
- 错误
- 所有的匹配结果均已经被参数的模块化过滤条件筛除: mysql-community-server
- 关闭mysql模块:yum module disable mysql
- 导入公钥:rpm —import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
Nginx
- 所有的匹配结果均已经被参数的模块化过滤条件筛除: mysql-community-server
依赖安装
- yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
- 下载nginx
- 安装
- 教程:https://www.cnblogs.com/517cn/p/14701039.html
- 移动到:usr/local
- 解压:tar -zxvf nginx-1.9.9.tar.gz
- 进入目录:cd nginx-1.9.9
- 配置:
- 如果make失败:
- 依赖问题:yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
- 编译失败
- /usr/local/nginx/nginx-1.9.9/objs找到Makefile打开
- 将前几行内的-Werror -g删掉
- 上述删除原位置新增:-Wno-implicit-fallthrough
- /usr/local/nginx/nginx-1.9.9/src/os/unix找到ngx_user.c打开
- cd.current_salt[0] = ~salt[0];注释掉
- ./configure —prefix=/usr/local/nginx —with-http_stub_status_module —with-http_ssl_module
- 如果make失败:
- 编译
- make
- make install
- 测试
- 移动目录:/usr/loca/nginx/
- 测试:./sbin/nginx -t
- 环境变量
- cd /
- vim /etc/profile
- 添加环境变量

- 保存
- esc
- ctrl + :
- wq
- 回车
- 然后就可以直接nginx启动,其他命令看下边常用命令处
问题
下载
- oracle官网下载JDK
- 直接搜索JDK,下载版本为linux-x64,如下
- jdk-8u291-linux-x64.tar.gz
- 安装

- 将下载好的压缩包放到此处
- cd到此目录:cd /usr/local/JDK
- 解压文件:tar zxvf jdk-8u181-linux-x64.tar.gz
配置
参考
- 相关命令
- 查看版本信息:python —version
- 前置
- wget工具:yum -y install wget
- GCC环境:yum -y install gcc
- 相关组件
- yum install openssl-devel bzip2-devel expat-develgdbm-devel
- yum install readline-develsqlite*-develmysql-devellibffi-devel
安装
- 切换到需要下载到的目录
- 下载:wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
- 解压:tar -zxvf Python-3.8.0.tgz
- 进入:cd Python-3.8.0
编译
web服务器无法使用字符串转16进制工具:汉字会产生不同,需要在前端转换后统一使用
- Linux编码问题:https://blog.csdn.net/qq_25775675/article/details/78062730?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase



