diff --git a/.vuepress/config.js b/.vuepress/config.js
index 1c33c42..c972b86 100644
--- a/.vuepress/config.js
+++ b/.vuepress/config.js
@@ -109,7 +109,8 @@ module.exports = {
"author": "jy",
"authorAvatar": "/portrait.png",
"record": "↑",
- "startYear": "2021"
+ "startYear": "2021",
+ subSidebar:'auto'
},
plugins: [
[
diff --git a/.vuepress/public/config.ini b/.vuepress/public/config.ini
index b6c5dbd..1d02b51 100644
--- a/.vuepress/public/config.ini
+++ b/.vuepress/public/config.ini
@@ -2,3 +2,4 @@
first_run=false
startup_fix=true
language=zh_cn
+last_save_folder=C:/Users/12390/Desktop/\x5b66\x4e60\x6587\x6863
diff --git a/.vuepress/public/jy.jpg b/.vuepress/public/jy.jpg
new file mode 100644
index 0000000..c990429
Binary files /dev/null and b/.vuepress/public/jy.jpg differ
diff --git a/blogs/linux/Linux.md b/blogs/linux/Linux.md
new file mode 100644
index 0000000..005be97
--- /dev/null
+++ b/blogs/linux/Linux.md
@@ -0,0 +1,1116 @@
+---
+title: Linux的常用指令
+date: 2021-10-11
+tags:
+ - Linux_tips
+ - made_by_jy
+categories:
+ - Linux
+---
+
+# Linux
+
+虚拟机(文件)
+
+克隆 (拷贝) 可迁移或删除
+
+快照 (返回快照A B C)
+
+* 安装gcc
+
+ yum -y install gcc gcc-c++ kernel-devel
+
+ / wget 加包的地址
+
+ vi test.c
+
+ i
+
+ exc
+
+ gcc test.c && ./a.out
+
+* 安装图形界面系统
+
+ yum -y groupinstall "X Window System"
+
+ (安装GNOME)
+
+ yum -y groupinstall "GNOME Desktop"
+
+ (设置默认启动图形界面程序)
+
+ systemctl set-default graphical.target
+
+ reboot(重启虚拟机)
+
+* 输入 su root 命令 (切换到root账号)
+
+ pwd显示当前目录
+
+ ls显示目录列表 ls -l s*显示s开头的列表 ;
+
+ ls -a 列出所有文件包括隐藏文件(.开头)
+
+* vmtools(在虚拟机未打开centos前点) 需要有gcc
+
+ cd vm +tab 自动补全
+
+ tar -zxvf xx.tar.gz 直接解压
+
+ 安装 ./vm +tab打开即可
+
+* 共享文件夹 (Windows和centos之间)(虚拟机与主机互通)
+
+ centos设置 选项 启用 添加文件
+
+ 在虚拟机的主文件夹的计算机中的mnt文件内
+
+ * 注意 :实际开发中 虚拟机不在同一主机中 需要远程方式 Xftp
+
+* Linux目录结构(皆文件)
+
+ /根目录
+
+ /bin (binary)
+
+ /sbin (super user) 存放系统管理员使用的系统管理程序
+
+ /home 存放普通用户的主目录
+
+ /root 系统管理员的主目录
+
+ /lib 系统开机所需最基本的动态连接共享库 (类似Windows的ddl文件
+
+ /boot Linux启动的核心相关文件
+
+ /lost +found 一般情况为空 非法关机时存放文件
+
+ /etc 系统管理所需的配置文件和子目录 (eg:mysql my.comf)
+
+ /usr 默认安装的文件存放 类似于 Windows的program files
+
+ /proc 【不能动】 系统内存的映射 访问其来获取系统信息
+
+ /srv 【不能动】service
+
+ /sys【不能动】 2.6内核的文件系统
+
+ /tmp 存放临时文件
+
+ /dev 设备管理器 将硬件以文件存储
+
+ /media 自动识别硬件设备后 挂载到这个目录
+
+ /mnt 为了让用户临时挂载别的文件系统 将外部存储挂载到mnt sd:/myshare
+
+ /opt 给主机额外安装软件存放的目录
+
+ /var 存放log等不断扩充的东西
+
+ /selinux 安全子系统
+
+### 远程操作
+
+* Xshell (终端切换至远程的Linux )命令的操作
+
+* Xftp(文件传输和接收)
+
+ Linux终端 ifconfig查看ip
+
+ 在Windows的cmd中ping ip查看连接
+
+### Vim
+
+* Vim中的操作 (一般模式下)
+
+ ctrl+s锁定 ctrl+q恢复
+
+ u撤销 ctrl+r取消撤销
+
+ yy拷贝当前行 (2yy拷贝两行) P粘贴
+
+ dd 同理
+
+ G最开头 gg最末未
+
+ /单词 回车跳到对应行 n跳到下一个
+
+ :set nu显示行数
+
+ 20+shift+g 跳到20行
+
+ * 非正常关闭 ctrl+z时
+
+ gf 重新回到vim编辑界面
+
+ rm -rf .文件名.swp删除占用的文件(非正常关闭会产生swp)
+
+
+
+* Linux关机重启 登录注销
+
+ (可在Xshell中执行)
+
+ 关机 (shutdown -h now)(halt)
+
+ 重启(shutdown -r now或(输入1,表示一分钟))(reboot)
+
+ sync(保存到磁盘)(正常关机重启会默认先执行这一步)
+
+ su (用户名)root 切换用户 logout返回上一个用户(无,则退出终端)(仅在无界面时有效)(bash: logout: 不是登录shell: 使用 `exit')
+
+### 用户管理
+
+* 用户管理
+
+ useradd 用户名 (添加用户) 成功后自动创建与用户同名的home目录
+
+ useradd -d /home/自定义 用户名 (创建自定义目录名的用户
+
+ (无组时 默认用户名为组)
+
+
+
+ passwd 用户名 输入密码
+
+
+
+ userdel 用户名(仅删除用户,不含目录)
+
+ userdel -r 用户名 (删除用户及其目录)*
+
+ * 查询用户
+
+ id 用户名
+
+ * 切换用户
+
+ su - 用户名(权限高到低无需密码)
+
+ * whoami返回当前用户名
+
+ who am i返回登录时用户名+登录时间+端口
+
+* 用户组
+
+ 分开设置权限 对共性的统一管理
+
+ * groupadd 组名
+
+ useradd -g 组名 用户名 (添加用户到指定组中)
+
+ usermod -g 组名 用户名 (修改用户所在组)
+
+ * groupdel 组名
+
+/etc/passwd 文件 :保留用户配置文件
+
+用户名:口令:用户标识号:组标识号:(注释性描述):主目录:登录shell
+
+/etc/shadow 文件:口令配置文件
+
+登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
+
+/etc/group 文件:组的配置文件
+
+组名:口令:组标识号:组内用户列表
+
+**(系统文件 通过vim和cat打开)**
+
+### 运行级别
+
+* 运行级别
+
+ 0:关机
+
+ 1:单用户(找回丢失密码)
+
+ 2:多用户无网络 X
+
+ 3:多用户有网路 √ multi-user.target
+
+ 4:系统未保留给用户 X
+
+ 5:图形界面 √ graphical.target
+
+ 6:系统重启
+
+ 常用3和5 可指定默认运行级别
+
+init [0123456]切换不同运行级别
+
+systemctl get-default 查询默认运行级别
+
+systemctl set-default 设置默认运行级别
+
+graphical.target
+
+multi-user.target
+
+* 找回root密码
+
+ 1.启动系统 e 进入编辑界面
+
+ 2.找Linux16所在行数后(utf-8后) 输入 init=/bin/sh 再输入ctrl+x进入单用户模式
+
+ 3.在光标闪烁位置输入 mount -o remount,rw/ 回车
+
+ 4.输入passwd 回车 ;输入密码 再次确认
+
+ 5. 输入 touch /.autorelabel 回车
+
+
+## 指令
+
+* 帮助指令
+
+ * man命令 (eg: man ls)(linux中选项可以组合 eg:ls -al/root )
+
+ 汉化版man为[cman](https://www.cnblogs.com/yanans/p/11990603.html)教程
+
+ info是man指令的详细内容
+
+ * help指令(help命令只能显示shell内部的命令帮助信息,外部命令用man)
+
+ * whatis man查看信息 同man man
+
+* 文件目录类
+
+ * pwd指令(显示当前绝对路径)
+
+ * ls指令
+
+ * cd指令(相对路径或绝对路径) cd ~回到家目录 cd ..回到上一级
+
+ * mkdir指令
+
+ 创建空目录 mkdir -p /home/animal/tiger 一次性创建多级目录
+
+ * rmdir指令
+
+ * rmdir 删除空目录
+ * rm -rf删除非空 rm -rf /*
+
+ * touch指令
+
+ 创建空文件
+
+ * cp指令
+
+ cp 原文件 新目录/
+
+ -r递归复制整个文件夹 cp -r /home/bbb /opt
+
+ * 强制覆盖\cp不提示
+
+ * rm指令 删除指令
+
+ * -r 递归删除整个 -f强制不提示
+
+ * mv指令 移动文件/目录或重命名(相对路径(重命名) 绝对路径(移动))
+
+ * mv Hello.java /root/new.java移动并重命名
+
+ * cat指令 只能查看不能修改(不同于vim)
+
+ * cat -n (显示行号) 文件
+ * |more 管道命令 (显示一部分)
+
+ * more指令 过滤器
+
+ * space翻页 。enter下一行 。q离开 。
+ * ctrl+f下滚动一屏。ctrl+B返回上一屏
+ * =输出当前行号 :f 输出文件名和当前行行号
+
+ * less指令 (比more更加强大)支持各种显示终端;动态加载 效率高
+
+ * /字串:向下查找
+ * ?字串:向上查找
+ * n向下 N向上
+
+ * echo指令 输出内容到控制台
+
+ * 实例: 输出环境变量 $PATH 输出hello,world
+ * 重定向:echo "hello" > /home/Hello.java (* >覆写 >> 追加)
+
+ * head指令
+
+ * 显示前10行内容
+
+ * -n 5 前五行
+
+ * tail指令
+
+ * 同理
+
+ * -f 实时监控
+
+ * ( >和>>指令 >覆写 >> 追加) 实现另类的拷贝 (搬运文件内容
+
+ * ls -l >文件
+ * ls -al >文件
+ * cat 文件1 > 文件2(文件1覆盖到文件2)
+ * echo “内容” >>文件(追加)
+
+ * ln指令 软链接 (符号链接)类似快捷方式
+
+ * ln -s [原文件或目录] [软链接名]
+ * (当使用pwd查看时仍看到的是软链接所在目录)
+ * ls -l 可查看 指向
+
+ * history指令
+
+ * history 10 显示最近10条
+
+ * !编号 执行相应指令
+
+ * date和cal类
+
+
+
+
+
+
+
+
+
+ * find指令
+
+ * 最近访问时间 access time (-atime)
+
+ 最近更改时间 modify time (-mtime)
+
+ 最近状态改动时间 change time(-ctime)
+
+ 其中 -atime (+-)n 表示天数
+
+ n表示n天前的一天 内
+
+ +n表示n天前
+
+ -n表示在n天之内
+
+ * 按用户 -user(eg:find /opt -user nobody)
+
+ * 按文件名 -name(eg:find /home -name hello.txt)
+
+ * 按文件大小 -size(find / -size +200M)
+
+ 找到后可用ls -l 显示 再用ls -lh转换为内存
+
+ * locate指令 查询速度快 无需遍历整个系统(基于数据库
+
+ * *第一次运行前用updatedb指令创建locate数据库
+
+ * which指令
+
+ * which ls查看某指令在哪个目录下
+
+ * grep指令和管道符号|
+
+ * grep过滤查找 (返回所在行)
+
+ -i 忽略字母大小写
+
+ -n显示匹配行号
+
+ (eg: cat Hello.java grep -n "Hello"
+
+ grep -n "Hello" Hello.java
+
+ )
+
+ * |表示前一个命令结果交给下一个命令处理
+
+ * gzip/gunzip指令 (前者压缩文件;后者解压文件)
+
+ * zip/unzip指令 (前者压缩文件夹;后者解压文件夹)
+
+ * zip: -r 递归压缩 (zip -r [压缩后文件夹目录] [原文件夹目录])
+
+ eg:(zip -r myhome.zip /home/ )
+
+ * unzip: -d 指定解压后存放的目录(zip -r [解压后文件夹目录] [原文件夹目录])
+
+ eg:(unzip -d /opt/tmp /home/myhome.zip)
+
+ * tar指令
+
+ * tar【选项】xxx.tar.gz(目录或文件)
+
+ * -c产生打包文件 -v显示详细信息 -f指定压缩后文件名 -z打包同时压缩 -x解包.tar文件
+
+ * 压缩zcvf
+
+ (tar -zcvf pc.tar.gz[定义包名] /home/cat.txt[要压缩的文件夹或文件])
+
+ * 解压zxvf
+
+ (tar -zxvf pc.tar.gz【要解压的文件】-C(转到指定目录) /opt/tmp2)
+
+
+### 组管理和权限管理
+
+* 组的介绍
+
+ * 所有者 所在组 其它组 改变用户所在组
+
+ * 所有者 chown修改文件所有者
+
+ ```linux
+ chown runoob:runoobgroup file1.txt
+ chown root /var/run/httpd.pid
+ chown -R runoob:runoobgroup *(当前目录与子目录)
+ chown :512 /home/runoob
+ ```
+
+ * 文件目录 查看 ls-ahl a隐藏文件 h转为内存表示方式 l列出(ll同ls -l)
+
+ * 修改文件/目录所在组
+
+ chgrp 组名 文件名
+
+ 在root中(eg: groupadd fruit touch a.txt chgrp fruit a.txt)
+
+ * 其他组(用户所在组外的组) 改变所在组
+
+ usermod -g 新组名 用户名
+
+ usermod -f 目录名 用户名 改变该用户登录的初始目录(权限范围)
+
+* 权限的基本介绍
+
+ * drwxr-xr-x. 20 root root 3.3K 10月 5 13:01 .
+
+ * 前0-9位作用:
+
+ 第0 位
+
+ -表示文件 d表示目录 b表示块设备(如硬盘)
+
+ c表示字符设备(鼠标等) l表示链接
+
+ **rwx 读写执行 **
+
+ 第1-3位(针对所有者)User
+
+ 第4-6位 (针对同用户组)Group
+
+ 第7-9位 (针对其他用户)Other
+
+ * rwx权限
+
+ 在文件中 w指可修改文件内容(不可删除,需有目录w权限)
+
+ 在目录中 r指可将目录列出;w指可目录内创建+删除+重命名目录 ;x指可进入目录
+
+ 其中权限可用数字表示r=4 w=2 x=1 因此r+w+x=7
+
+ * 其他说明
+
+ 20 文件:硬连接数 目录:子目录数
+
+ root 用户
+
+ root 组
+
+ 3.3k 文件大小(字节)
+
+ 10月 5 13:01 最后修改日期
+
+ . 文件名
+
+ * 修改权限 chmod chown chgrp 目录(-r)
+
+ * chmod u=rwx,g=rx,o=x 文件/目录名 (= + -增加减少)
+
+ chmod o+w 文件/目录名
+
+ u所有者 g所在组 o其他组 a所有人
+
+ * 第二种方式
+
+ chmod u=rwx,g=rx,o=x 文件目录名
+
+ chmod 751 文件目录名
+
+ **总结**
+
+ chgrp针对文件所在组
+
+ chown针对文件所有者,组
+
+ chmod针对文件权限
+
+ usermod -g针对用户所在组
+
+ groupadd useradd
+
+### crond 任务调度(周期)
+
+* 指令 crontab
+
+ * 两种方式:
+
+ * 定时调用脚本shell (如 完成对mysql备份)
+
+ * 案例一(写一个存时间的脚本)
+
+ 1.vim /home/my.sh 写入 date >> /home/mycal
+
+ 2.给my.sh增加执行权限
+
+ 3.crontab -e 增加 */1 * * * * /home/my.sh
+
+ * 案例二 (数据库备份)
+
+ 指令为 : mysqldump -u root -p密码(jymysql) db1(数据库) > /home/db.bak
+
+ 1.crontab -e
+
+ 2.0 2 * * * mysqldump -u root -pjymysql db1 > /home/db.bak
+
+ * 定时调用简单任务 (单条指令:ls -l /etc/ > /tmp/to.txt)
+
+ * -e 编辑任务调度
+
+ */1 * * * * date >> /tmp/mydate
+
+ * -r 终止任务调度
+
+ * -l 列出当前有哪些任务调度
+
+ * sevice crond restart 重启任务调度
+
+
+
+ ![image-20211008173548436](C:\Users\12390\AppData\Roaming\Typora\typora-user-images\image-20211008173548436.png)
+
+### at定时任务(一次性)
+
+* ps -ef | grep atd 查看当前进程中的atd是否在运行
+
+* 每隔60s执行任务队列
+
+* at[选项] [时间]
+
+ * 时间定义方法:
+ * hh:mm
+ * midnight noon teatime(16:00)
+ * 12pm
+ * mm/dd/yy (04:00 2021-10-1)
+ * now+时间
+ * today tomorrow
+
+ * 指令
+
+ atq=at -l 列出任务
+
+ atrm=at -d 删除任务
+
+ -m完成后给用户发邮件
+
+ -v显示任务被执行时间 -V显示版本信息
+
+ -f<文件>从指定文件读入任务
+
+ -q<队列>使用指定队列
+
+ -t<时间参数>以时间参数形式提交运行的任务
+
+ * 操作时
+
+ Ctrl+backspace 退格
+
+ Ctrl+C中止
+
+ Ctrl+D结束
+
+ (无法查看任务内容?)
+
+p91 -107
+
+### Shell
+
+命令行解释器 为用户提供向Linux内核发送请求以便运行界面系统级程序
+
+1. vim hello.sh
+
+2. ```shell
+ #!/bin/bash
+ 命令行
+ ```
+
+3. chmod 使其带有可执行权限
+
+4. 执行方式:
+ 1. ./hello.sh
+ 2. /root/shcode/hello.sh(绝对路径)
+ 3. (sh hello.sh 不需执行权限也可执行)
+
+* Shell变量
+
+ * 系统变量和用户自定义变量
+
+ * 系统变量
+
+ $HOME $PWD $SHELL $USER
+
+ set显示当前shell中所有变量
+
+ * 基本语法及快速入门
+
+ * 1. 定义变量 变量名=值(注意:=后无空格)
+
+ 2. 撤销变量 unset 变量
+
+ 3. 声明静态变量 readonly变量(注意:不能unset)
+
+ ```shell
+ #!/bin/bash
+ #案例1:定义变量A(无空格)
+ A=100
+ #输出变量前要加$
+ echo $A
+ echo "A=$A"
+ #案例2:撤销A
+ unset A
+ echo "A=$A"
+ #案例3:声明静态变量B=2,不能unset
+ readonly B=2
+ # unset B
+ echo "B=$B"
+ ```
+
+ * shell定义变量
+
+ 1. 由字母数字下划线组成 一般大写;不能以数字开头
+ 2. 等于号两侧无空格
+
+ * 将**命令**返回值赋给变量
+
+ 1. A=`date`反引号
+ 2. A=$(date)等价于反引号
+
+ * 设置环境变量
+
+ 1. 基本语法
+
+ export 变量名=变量值(将shell变量输出为环境变量/全局变量)
+
+ source配置文件(让修改后的配置信息立即生效)
+
+ echo $变量名(查询环境变量的值)
+
+ 2. 快速入门
+
+ 1. 在/etc/profile中定义TPOMCAT_HOME环境变量
+ 2. 查看TOMCAT_HOME的值
+ 3. 在另一个shell程序中使用TOMCAT_HOME
+
+ ```shell
+ export TOMCAT_HOME=/opt/tomcat
+ source /etc/profile
+ echo $TOMCAT_HOME
+ ```
+
+ 3. Shell脚本的多行注释
+
+ ```shell
+ :<1为false)
+
+ ```shell
+ #!/bin/bash
+ #案例1 比较字符串 =
+ if [ "ok" = "ok" ]
+ then
+ echo "equal"
+ fi
+ #案例2 比较数字 -gt -lt -eq (可合并) -ne
+ if [ 23 -le 32 ]
+ then
+ echo "大于"
+ fi
+ #案例3 判断文件权限 -r -w -x 判断文件存在-f(常规文件) -e(文件存在) -d(目录)
+ if [ -f /root/shcode/a.txt ]
+ then
+ echo "存在"
+ fi
+ #案例4 [ ]空为假 非空为真
+ if [ jy ]
+ then
+ echo "HH"
+ fi
+ ```
+
+ * 多分支
+
+ 1. if 和elif和else
+
+ ```shell
+ #!/bin/bash
+ if [ $1 -ge 60 ]
+ then
+ echo "及格"
+ :<<同c)
+
+ ```shell
+ #案例2 for 从1加到100
+ SUM=0
+ for (( i=1 ; i<=100 ; i++ ))
+ do
+ SUM=$[$SUM+$i]
+ done
+ echo "SUM=$SUM"
+ ```
+
+ 3. while [ ]
+
+ ```shell
+ while [ $i -le $1 ]
+ do
+ i=$[$i+1] (注意i++要这么)
+ done
+ ```
+
+* read读取控制台输入
+
+ read [选项] (参数)
+
+ ```shell
+ #!/bin/bash
+ #案例1 /-p 指定读取值时的提示符
+ read -p "请输入一个NUM1=" NUM1
+ echo "你输入的NUM1=$NUM1"
+ #案例2 /t 限制等待时间
+ read -t 10 -p "请输入一个NUM2=" NUM2
+ echo "你输入的NUM2=$NUM2"
+ ```
+
+* 函数
+
+ * 系统函数
+
+ basename 返回完整路径最后/的部分 获取文件名
+
+ basename /home/aaa/test.txt (可加 .txt 返回test)返回test.txt
+
+ dirname函数
+
+ dirname /home/aaa/test.txt 返回 /home/aaa
+
+ * 自定义函数
+
+ [ function ] funname[()]
+
+ {
+
+ Action;
+
+ [return int;]
+
+ }
+
+ 调用 funname [值]
+
+ ```shell
+ #!/bin/bash
+ #案例1 计算输入的两个参数的和 getSum
+ function getSum(){
+ SUM=$[$n1+$n2]
+ echo "和为=$SUM"
+ }
+ #输入两个值
+ read -p "请输入一个值n1=" n1
+ read -p "请输入一个值n2=" n2
+ #调用函数
+ getSum $n1 $n2
+ ```
+
+
+* 数据库备份案例
+ * 备份命令格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql
+ * 备份压缩:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 | gzip > 文件名.sql.gz
+ * 备份同个库多个表:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 表1 表2 .... > 文件名.sql
+ * 同时备份多个库:mysqldump -h主机名 -P端口 -u用户名 -p密码 --databases 数据库名1 数据库名2 数据库名3 > 文件名.sql
+
+ ```mysql
+ mysqldump -uroot -pjymysql --host=localhost -q -R --databases db1 | gzip > /data/backup/db/1.sql.gz
+ ```
+
+ 实例:
+
+ ```shell
+ #!/bin/bash
+ #备份目录
+ BACKUP=/data/backup/db
+ #当前时间
+ DATETIME=$(date +%Y-%m-%d_%H%M%S)
+ echo $DATETIME
+ #数据库地址
+ HOST=localhost
+ DB_USER=root
+ DB_PW=jymysql
+ DATABASE=db1
+ #备份创建目录(如不存在,则创建)
+ [ ! -d "${BACKUP}/${DATETIME}" ] && mkdir -p "${BACKUP}/${DATETIME}"
+
+ #备份数据库
+ mysqldump -u${DB_USER} -p${DB_PW} -h${HOST} -q -R ${DATABASE} | gzip >${BACKUP}/${DATETIME}/$DATETIME.sql.gz
+
+ #将文件处理成tar.gz
+ cd ${BACKUP}
+ tar -zcvf $DATETIME.tar.gz ${DATETIME}
+ #将目录删除
+ rm -rf ${DATETIME}
+ find ${BACKUP} -atime +10 -name "*.tar.gz" -exec rm -rf{} \;
+ echo "备份数据库${DATABASE} 成功!"
+ ```
+
+
+
+
+
+### 磁盘进程分区
+
+p58-p81
+
+
+
+### 安装篇
+
+* rpm包的管理
+
+ * rpm -qa|grep xx(可查询当前已安装的文件)
+
+ firefox-78.14.0-1.el7.centos.x86_64
+
+ 78.14.0-1版本号 el7.centos.x86_64适合的操作系统 (如i686、i386则表示32位 系统,noarch表示通用)
+
+ * rpm -qi 软件包名 查询软件包信息;
+
+ rpm -ql软件包名 查询包中文件
+
+ rpm -qf 文件全路径
+
+ rpm -ivh RPM包全路径名称 i=install v=verbose提示 h=hash进度条
+
+ rpm -e RPM包 删除软件包
+
+* yum shell前端软件包管理器 基于RPM包管理
+
+ yum (-y) install
+
+* Tomcat
+
+ ```
+ (用yum安装后路径会在/var/lib;还要安装webapps和)
+ systemctl start tomcat
+ systemctl status tomcat
+ systemctl restart tomcat
+ systemctl stop tomcat
+ 打开防火墙
+ firewall-cmd --permanent --add-port=8080/tcp
+ firewall-cmd --reload
+ firewall-cmd --query-port=8080/tcp
+ 通过ip:8080即可查看到tomcat网址
+ cd /var/lib/webapps 编写html文件
+ 通过ip:8080/html查看文件
+ ```
+
+
+
+* Java
+
+
+
+```
+下载后用Xftp传到Linux
+解压 tar
+在/etc/profile中配置环境变量
+jdk8
+```
+
+* 运行java和gcc
+
+![image-20211008172721458](C:\Users\12390\AppData\Roaming\Typora\typora-user-images\image-20211008172721458.png)
+
+
+
+p82-89
+
+
+
+### 番外
+
+#### 在Linux上安装MySQL
+
+(此处安装的是Redhat版本)
+
+```linux
+wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
+rpm -Uvh mysql57-community-release-el7-9.noarch.rpm
+vi /etc/yum.repos.d/mysql-community.repo(可选择把默认的8.0版本换成5.7 把enabled=0改成1)
+yum -y install mysql-community-server
+# 安装完成
+```
+
+* MySQL改密码
+
+ ```mysql
+ systemctl status mysqld
+ systemctl start mysqld
+ grep 'temporary password' /var/log/mysqld.log(查看临时密码)
+ 登陆 mysql -uroot -p 粘贴
+
+ #方法一 在MySQL中
+ show variables like "%validate%";
+ set global validate_password_length=6(自己set)
+
+ #方法二
+ #在 /etc/my.cnf中的最后加上在两行
+ plugin-load=validate_password.so
+ validate-password=OFF
+ ...
+
+ systemctl restart mysqld
+ systemctl status mysqld
+ alter user 'root'@'localhost' identified by '新密码';
+ ```
+
diff --git a/blogs/miniprogram/map.md b/blogs/miniprogram/map.md
index b2b9a1f..5760fd1 100644
--- a/blogs/miniprogram/map.md
+++ b/blogs/miniprogram/map.md
@@ -1,6 +1,6 @@
---
title: 微信小程序-莞工地图
-date: 2021-9-15
+date: 2021-9-19
tags:
- miniprogram
- made_by_jy
@@ -8,6 +8,7 @@ categories:
- miniprogram
---
# 自定义地图
+
## 一、展示
@@ -28,7 +29,7 @@ categories:
## 三、展望
后续将会更新**私人定制maker** (设置自己当前所处坐标和图片自定义maker)
-运用云开发储存数据和图片
+运用**云开发**储存数据和图片
diff --git a/docs/theme-reco/live.md b/docs/theme-reco/live.md
index 7f493fc..da3758e 100644
--- a/docs/theme-reco/live.md
+++ b/docs/theme-reco/live.md
@@ -1,6 +1,12 @@
---
title: 成长史
-date: 2021-08-17
+date: 2021-09-30
---
-这几天还没开始大方向的学习,接下来我会按照[大佬的思维导图](https://www.pdai.tech/)开始我的java学习!
\ No newline at end of file
+* [大佬的思维导图](https://www.pdai.tech/)开始我的java学习!
+
+* [MVC SpringMVC](https://www.pdai.tech/files/kaitao-springMVC.pdf) MVC
+
+* Java核心技术卷一
+
+* http图解
\ No newline at end of file
diff --git a/public b/public
index 00bac16..ebe64dc 160000
--- a/public
+++ b/public
@@ -1 +1 @@
-Subproject commit 00bac16d74fc75c63624b1fb6996573e4ff117a7
+Subproject commit ebe64dcdd6f4f77d874903dabf99ca4fa69d76c7