From 0ccf6ab760de62bf2f39f897d604f2d54aba38ca Mon Sep 17 00:00:00 2001
From: XiaoJia849 <18870241505@163.com>
Date: Sun, 15 Nov 2020 22:54:29 +0800
Subject: [PATCH 1/9] =?UTF-8?q?20201115-Java=E8=BF=9E=E6=8E=A5=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=BA=93-XiaoJia849?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...45\346\225\260\346\215\256\345\272\223.md" | 240 ++++++++++++++++++
1 file changed, 240 insertions(+)
create mode 100644 "docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
diff --git "a/docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md" "b/docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
new file mode 100644
index 00000000..fb100986
--- /dev/null
+++ "b/docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
@@ -0,0 +1,240 @@
+---
+layout: post
+title: Java连接数据库
+date: 2020-11-01
+author: XiaoJia849
+categories:
+ - 开发部
+tags:
+ - 后端
+ - 数据库
+ - Java
+---
+
+# 下载
+
+mysql-installer-community-8.0.20.0下载:
+
+[https://pan.baidu.com/s/1JowAkm1O5O7iLn1H-072Zw](https://pan.baidu.com/s/1JowAkm1O5O7iLn1H-072Zw)
+
+提取码:yf69
+
+navicat 下载
+
+[https://pan.baidu.com/s/17_z76E9DgIlCBwY81maSVQ](https://pan.baidu.com/s/17_z76E9DgIlCBwY81maSVQ)
+
+提取码:1hdt
+
+ecplise
+
+自行在官网下载,安装
+
+mysql-connector-java-5.1.46-bin 用于数据库的连接
+
+[https://pan.baidu.com/s/19UtMM4TzlicRkEPuv7hyzw](https://pan.baidu.com/s/19UtMM4TzlicRkEPuv7hyzw)
+
+提取码:ovhx
+
+下载包链接如上,具体安装请查询CSDN
+
+# 数据库的准备
+
+## 建立连接
+
+打开Navicat——点击连接——MySQL
+
+
+
+连接名——自拟
+
+用户名,密码——与MySQL下载时保持一致
+
+先连接测试确认成功后再按确定
+
+## 建立数据库
+
+双击 连接名 得到:
+
+
+
+以上4个数据库请不要随意使用
+
+右键 连接名 新建数据库
+
+
+
+数据库名——自拟
+
+如果使用的数据库内包含中文字符,最好
+
+字符集使用gb2312或者utf8
+
+对应的排序规则(我不清楚有什么特别的规定,我的习惯是:)
+
+对应的是gb2312_chinese_ci utf8_unicode_ci
+
+## 例子:
+
+双击数据库得到如下:
+
+
+
+右键 表 新建表
+
+开始设置字段的 名 类型 长度 小数点 ,,,,
+
+设置结束后 点击保存
+
+得到弹窗 输入表名即可
+
+## 转储数据库
+
+右键 数据库名 转储SQL文件结构和数据
+
+选择地址
+
+即得到这个数据库的SQL文件
+
+## 运行SQL文件
+
+右键连接名 运行SQL文件
+
+
+
+找到文件的地址
+
+编码与文件编码对应即可,例如:建立此数据库时采用gb2312,那么打开时也这么使用
+
+## 可能遇到的问题
+
+1.无法通过 右键 连接名 运行SQL文件 的方式打开此文件
+
+解决方案:自己创立一个数据库后,点击 表 右键 运行SQL文件
+
+2.运行SQL文件失败
+
+Debug方法,只需观察报错信息的第一行,查询错误代码对应的意义,针对性的de
+
+如果爆语法错误,可能是因为MySQL的版本不太统一造成的。
+
+# ecplise上web项目的创建和连接数据库
+
+## 创建项目
+
+File-new-Dynamic Fragment-Project
+
+
+
+Project name 项目名 自拟
+
+服务器 我使用的是tomcat9
+
+版本 注意!!!! 请使用2.5
+
+原因:2.5的会自动在创建servlet时更行web.xml,非常方便!!!
+
+## 补充没有的jar
+
+右键 项目名Build Path
+
+
+
+点击Add External JARS 连接mysql-connector-java-5.1.46-bin这个jar包
+
+点击Apply and Close结束
+
+所有的添加tomcat和jre没有的jar包的方式都是这样
+
+## 文件书写的结构(仅用来记录个人习惯)
+
+
+
+Java Resources内的src中
+
+创建Ja包内写入JAVA文件
+
+创建Se包内写入SERVLET文件
+
+在WebContent内写入jsp和html文件
+
+## 详细介绍JAVA 连接数据库和运用数据库的步骤
+
+### 在Se包内创建servlet文件,DB.java
+
+```java
+package Se;
+
+import java.sql.*;
+
+public class DB {
+
+public static Connection dbCon(){
+
+ Connection con = null;
+
+ try {
+
+ Class.forName("com.mysql.jdbc.Driver");
+
+ con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?useSSL=false", "MySQL用户名", "MySQL密码");
+
+ } catch (Exception e) {
+
+ e.printStackTrace();//用于打印错误
+
+ }
+
+ return con;
+
+ }
+
+}
+```
+?useSSL=false是为了防止因为MySQL版本过高报错
+
+### 查询数据库
+
+```java
+ try {
+
+ PreparedStatement ps =DB.dbCon().prepareStatement("select user_age from user_info where user_name=? and user_password=?");
+
+ ps.setString(1, name);
+
+ ps.setString(2, pass);
+
+ ResultSet rs = ps.executeQuery();
+
+ if(rs.next()){
+
+ userInfo.setAge(rs.getInt(1));
+
+ }else{
+
+ }
+
+ }catch (Exception e) {
+
+}
+```
+### 插入数据库
+
+```java
+try {
+
+ PreparedStatement ps =DB.dbCon().prepareStatement("insert into user_info (user_name,user_password,user_age) values(?,?,?)");
+
+ ps.setString(1,user_name);
+
+ ps.setString(2, lpassword);
+
+ ps.setInt(3, age);
+
+ ps.executeUpdate();
+
+}catch (Exception e) {
+
+ e.printStackTrace();
+
+}
+```
\ No newline at end of file
From a83e7ee96f1728d29da52f5a21022b75e3ee0092 Mon Sep 17 00:00:00 2001
From: XiaoJia849 <18870241505@163.com>
Date: Sun, 15 Nov 2020 22:59:39 +0800
Subject: [PATCH 2/9] =?UTF-8?q?20201115-Linux=E5=B0=B1=E8=AF=A5=E8=BF=99?=
=?UTF-8?q?=E4=B9=88=E5=AD=A61-XiaoJia849?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...5\350\277\231\344\271\210\345\255\2461.md" | 261 ++++++++++++++++++
1 file changed, 261 insertions(+)
create mode 100644 "docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md"
diff --git "a/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md" "b/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md"
new file mode 100644
index 00000000..2a406ef7
--- /dev/null
+++ "b/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md"
@@ -0,0 +1,261 @@
+---
+layout: post
+title: Linux就该这么学1
+date: 2020-11-14
+author: XiaoJia849
+categories:
+ - 开发部
+tags:
+ - 后端
+ - Linux
+---
+
+
+## 系统工作命令:
+
+ **1. echo 字符串|$变量名**
+
+ **2. date:**
+
+查看时间,并设置形式:
+
+Date ”+%Y-%m-%d %H:%M:%S”
+
+设定电脑此刻的时间:
+
+Date -s “20201001 2:30:45”
+
+%j用来查看今天是本年的第几天
+
+**3. reboot重启,只有管理员才可使用**
+
+**4. poweroff关闭系统,只有管理员才可使用**
+
+**5. wget下载网络文件**
+
+ wget -r -p http://www.linuxprobe.com用来下载此网站下所有内容,保存到www.linuxprobe.com的文件下
+
+**6. ps查看系统中的进程状态**
+
+记住3个,-a显示所有,-u显示用户以及其他所有详细信息,-x显示没有控制终端的进程
+
+
+
+观察上图:
+
+- R运行中的进程。
+
+- S中断/休眠。
+
+- D不可中断,使用kill也无法使他中止的进程,此进程不影响系统异步信号。
+
+- Z僵死,进程已经终止,等待父进程将其释放。
+
+- T停止,进程收到停止信号后停止
+
+Ps aux即ps -a -u -x的三者合并。
+
+**7. top动态监控进程活动与系统负载**
+
+
+观察前5行获取信息:
+
+- top:当前时间,运行时间,几个用户,5 10 15分钟内的平均负载。
+
+- Tasks:总任务数目,正在运行的任务数目,睡眠的任务数目,等等
+
+- CPU:关注一下99.3id就行,表示还有99.3%的cpu是空闲的。
+
+- KIB Mem:物理内存,总数,空闲数,被使用数目
+
+- KiB Swap:虚拟内存,总数,空闲数,被使用数目
+
+**8. pidof查询指定服务的pid值**
+
+pidof sshd
+
+得到2156
+
+**9. kill 进程号**
+
+kill 2156
+
+**10. killall用于中止某个指定名称的服务所对应的所有进程**
+
+kill sshd
+
+
+## 系统状态检测命令
+
+**1. ifconfig获取,IP地址,网卡名称,网卡物理地址,RX/TX的收发流量数据大小**
+
+**2. uname查看系统内核和系统版本**
+
+
+
+
+
+
+**3. uptime查看系统负载信息**
+
+内容相当于top的第一行,而且不会实时更新。
+
+**4. free显示当前系统中内存的使用量**
+
+内容相当于top的第4 5行
+
+**5. who 查看登入主机的用户的终端信息**
+
+**6. last查看登录记录**
+
+**7. history查看最近使用过的命令,最多1000条**
+
+cat ~/.bash_history可以查看history
+
+**8. sosreport用来生成一个文档,记录着所有系统配置和框架信息**
+
+
+
+存放在上面提示的地址中,将这个文件发送给某个工作人员,让其协助解决问题。
+
+## 工作目录切换命令
+
+**1. pwd显示用户当前所处的工作目录**
+
+
+
+**2. cd跳转目录**
+
+**3. ls显示目录下的文件-a显示所有文件,包括隐藏文件,-l查看文件的属性,大小等信息**
+
+
+## 文本文件编辑命令:
+
+**1. cat查看文件 -n同时显示行号**
+
+**2. more 查看长纯文本文件**
+
+**3. head 查看纯文本文件的前N行**
+
+head -n 20 某文件
+
+**4. tail纯文本文件 ,与head相对应,如果想看最新文件,请添加-f**
+
+**5. tr批量替换文本文件中的字符**
+
+cat 某文件|tr [a-z] [A-Z]
+
+将某文件所有的小写转换为大写
+
+**6. wc 统计指定文件的行数-l,字数-w,字节数-c**
+
+**7. stat查看文件的具体存储信息等**
+
+
+
+主要的有用信息是access,modify,change
+
+**8. cut 按列提取文本字符**
+
+效果如下:
+
+
+
+
+
+提取的正好是每行的第一个单词,也就是第一列的内容
+
+**9. diff比较多个文件是否相同**
+
+diff –brief 文件1 文件2
+
+
+## 文件目录管理命令。
+
+**1.touch**
+
+创建文件同时可以设置文件内容的修改时间mtime,文件权限ctime文件读取时间atime,用-a读取,-m修改 ,-d读取和修改
+
+```
+touch -d “2017-05-04 15:44” 某文件
+```
+**2.mkdir创建空白目录在a/b/c/s下**
+
+```
+mkdir -p a/b/c/s
+```
+**3.cp复制文件或者目录**
+
+cp 源文件 目标文件
+-p保留原文件属性,-d若为链接同p,-r复制目录时使用,-i覆盖目标文件,-a以上全部
+
+**4.mv剪切文件或者将文件重命名**
+
+**5.rm删除文件或者目录**
+
+**6.dd按照指定大小和个数的数据块复制和转换文件**
+
+这个命令有4个参数。
+- if输入文件的名称
+- of输出文件的名称
+- bs设置每个块的大小
+- count设置复制块的个数
+```
+dd if=/dev/zero of=文件名 count=1 bs=560M
+从/dv/zero中取出一个560M的数据块保存在文件名的下面
+```
+其中bs和count具体多少不重要,乘积才重要。
+dd命令可以用来转换文件保存的类型。只要确定好of的类型,就有了转换后的类型
+
+**7.file查看文件类型**
+
+## 打包压缩与搜索命令
+
+**1.tar用于压缩**
+
+-c创建压缩文件
+-x解压缩
+-t查看压缩包内的内容
+-z用Gzip压缩哟或者解压缩
+-j用bzip2压缩或者解压缩
+-f目标文件名
+-p保留原始文件的属性和权限
+-C指定解压到的目录
+-v用来显示压缩和解压的过程
+注意!!!-f必须放在最后位
+
+**2.grep 在文本中执行关键字搜索**
+
+-b将执行文件当作txt来搜索
+-c只显示目标所在行号
+-i忽略大小写
+-n显示目标所在行号
+-v反向选择
+
+**3.find 按照指定条件查询文件**
+
+-name按名字
+-perm按权限
+-user按所有者
+-group按所有组
+-mtime +n 修改内容时间在n天以前的
+-mtime -n修改时间在n天以内的
+-atime访问文件时间
+-ctime 修改文件权限时间
+-nouser没有所有者的
+-nogroup没有所有组的
+-newerf1!f2比f1新但是比f2旧的
+–type按文件类型匹配
+-size按大小
+-exec搜索到的结果给后面的执行
+
+```
+find / -user xiao -exec cp -a () /root/sss/\
+```
+
+找到属于xiao用户的所有文件复制到/root/sss/\下面
+
+
+## 参考
+
+- [1] [刘遄.Linux就该4这么学[M].北京:人民邮电出版社,2016:405-456]
From 74864c6d6e15bb187f3e74f834b99a06a66baa27 Mon Sep 17 00:00:00 2001
From: XiaoJia849 <18870241505@163.com>
Date: Sun, 15 Nov 2020 22:59:52 +0800
Subject: [PATCH 3/9] =?UTF-8?q?20201115-Linux=E5=B0=B1=E8=AF=A5=E8=BF=99?=
=?UTF-8?q?=E4=B9=88=E5=AD=A62-XiaoJia849?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...5\350\277\231\344\271\210\345\255\2462.md" | 171 ++++++++++++++++++
1 file changed, 171 insertions(+)
create mode 100644 "docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md"
diff --git "a/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md" "b/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md"
new file mode 100644
index 00000000..7acdead3
--- /dev/null
+++ "b/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md"
@@ -0,0 +1,171 @@
+---
+layout: post
+title: Linux就该这么学2
+date: 2020-11-14
+author: XiaoJia849
+categories:
+ - 开发部
+tags:
+ - 后端
+ - Linux
+---
+
+输入重定向——把文件导入到命令中
+输出重定向——把原本要输出到屏幕的数据信息写到指定文件中
+
+输入重定向:标准输入重定向。STDIN,可从键盘,其他文件或命令中输入。
+
+输出重定向最常使用,分为:标准输出重定向,错误输出重定向
+
+## 输出重定向:
+
+Man bash > readme.txt 把屏幕中的内容输出到readme.txt文件内。
+
+覆盖写入:echo “WELcome” > readme.txt——把双引号内内容覆盖readme.txt的原本内容
+
+追加写入:echo “WELcome” >>readme.txt——把双引号内内容追加到readme.txt
+
+把命令的所有报错信息写入文件,使用SHELL脚本。
+
+Ls -l xxxxx 2>/root/stdeer.txt
+
+把ls -l xxxxx 2的所有提示信息输入到/root/stdeer.txt
+
+/root/stdeer.txt是一个只读文件。
+
+## 输入重定向:
+
+Wc -l < readme.txt 这个是统计文本行数
+
+输出readme.txt这个文件内容的行数
+
+## 管道命令符
+
+| 管道符
+
+A | B 把A命令原本要输入到屏幕的数据当作是后一个命令的标准输入。
+```
+grep “/sbin/nologin” /etc/password | wc -1
+```
+这个是找到在 /etc/password 里“/sbin/nologin”出现的次数
+
+重置用户root的密码:
+```
+echo “linuxprobe” | password –stdin root
+```
+发送邮件
+```
+echo “Content” | mail -s “Subject” 用户名
+```
+
+
+
+
+
+
+## 关于发送邮件的详细过程如下:
+
+### 1.安装
+
+- sendmail:yum install -y sendmail
+- mail:yum install -y mailx
+- 安装mutt:yum install -y mutt
+
+### 2.修改配置文件
+
+```
+vim /etc/mail.rc
+```
+在此文件下补充以下内容
+
+```
+set ssl-verify=ignore 无需ssl确认
+set nss-config-dir=/etc/pki/nssdb
+set from=邮箱
+set smtp=smtps://smtp.qq.com:465 如果是qq邮箱就这么写
+set smtp-auth-user=邮箱,同上
+set smtp-auth-password=IMAP/SMTP服务密码
+set smtp-auth=login
+```
+
+启动sendmail : systemctl restart sendmail
+
+[详细配置mail.rc的参考网址](https://blog.csdn.net/thinkthewill/article/details/80868442?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare)
+
+```
+echo "邮件内容" | mail -s "邮件名" 目标邮箱
+```
+用这一条命令是表示,我从我的本地账户(mail.rc配置的邮箱)发送邮件到目标邮箱
+
+## 命令行的通配符
+
+*匹配0个或者多个
+
+?匹配单个字符
+
+[0-9]匹配0-9之间的单个数字的字符
+
+[abc]匹配abc中的任意一个字符
+
+ls -l /dev/sda* 展示所有sda开头的文件的信息。
+
+## 常用转义字符\ ‘’ “”
+
+$$是显示当前进程号,第一个 \$ 表示显示内容
+
+\\$$ 的第一个 \$ 没有特殊含义
+
+
+
+当要执行某命令也可以这么写
+
+
+
+
+## 重要的环境变量
+
+命令在linux内执行的步骤:
+
+第一步:判断用户是否以绝对路径或者相对路径的方式输入命令
+
+第二步:检查输入命令是否为别名命令
+
+可以用alias命令创建属于自己的命令别名
+
+- alias 别名 =命令 运用此别名
+
+- unalias 别名 释放此别名
+
+第三步:Bash解释器判断用户输入的是内部命令还是外部命令
+
+内部命令:解释器内部的指令,直接执行
+
+外部命令:由下一步执行,用 type 命令名称 判断用户输入的是内部命令还是外部命令
+
+
+cat是bin里的,说明是内部命令
+
+第四步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫PATH
+
+
+
+
+不能将当前目录(.)添加到PATH,因为:如果黑客在共用目录/tmp中存放了和ls或者cd命令同名的木马文件,用户如果在公共目录下执行了这些命令,就有可能中招。
+
+设定解释器搜索所执行的命令的路径——PATH变量
+
+注意:不同用户下的同一变量代表的意义不同
+
+
+
+
+
+
+随便使用一个命令就可以创建这样的变量,例如WI=/home/workdir cd $WI就可以跳转到这个目录。
+
+但是这种变量的作用范围有限,不可以被其他用户使用。但是可以使用export WI 把WI这个命令转换为全局变量。
+
+## 参考
+
+- [1] [刘遄.Linux就该4这么学[M].北京:人民邮电出版社,2016:100-371]
+- [2] [详细配置mail.rc的参考网址](https://blog.csdn.net/thinkthewill/article/details/80868442?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare)
\ No newline at end of file
From 124f83a9a7b385577dcce144ead0c2f42394b05d Mon Sep 17 00:00:00 2001
From: XiaoJia849 <18870241505@163.com>
Date: Tue, 17 Nov 2020 11:51:32 +0800
Subject: [PATCH 4/9] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...45\346\225\260\346\215\256\345\272\223.md" | 240 ----------------
...5\350\277\231\344\271\210\345\255\2461.md" | 261 ------------------
...5\350\277\231\344\271\210\345\255\2462.md" | 171 ------------
3 files changed, 672 deletions(-)
delete mode 100644 "docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
delete mode 100644 "docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md"
delete mode 100644 "docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md"
diff --git "a/docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md" "b/docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
deleted file mode 100644
index fb100986..00000000
--- "a/docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
+++ /dev/null
@@ -1,240 +0,0 @@
----
-layout: post
-title: Java连接数据库
-date: 2020-11-01
-author: XiaoJia849
-categories:
- - 开发部
-tags:
- - 后端
- - 数据库
- - Java
----
-
-# 下载
-
-mysql-installer-community-8.0.20.0下载:
-
-[https://pan.baidu.com/s/1JowAkm1O5O7iLn1H-072Zw](https://pan.baidu.com/s/1JowAkm1O5O7iLn1H-072Zw)
-
-提取码:yf69
-
-navicat 下载
-
-[https://pan.baidu.com/s/17_z76E9DgIlCBwY81maSVQ](https://pan.baidu.com/s/17_z76E9DgIlCBwY81maSVQ)
-
-提取码:1hdt
-
-ecplise
-
-自行在官网下载,安装
-
-mysql-connector-java-5.1.46-bin 用于数据库的连接
-
-[https://pan.baidu.com/s/19UtMM4TzlicRkEPuv7hyzw](https://pan.baidu.com/s/19UtMM4TzlicRkEPuv7hyzw)
-
-提取码:ovhx
-
-下载包链接如上,具体安装请查询CSDN
-
-# 数据库的准备
-
-## 建立连接
-
-打开Navicat——点击连接——MySQL
-
-
-
-连接名——自拟
-
-用户名,密码——与MySQL下载时保持一致
-
-先连接测试确认成功后再按确定
-
-## 建立数据库
-
-双击 连接名 得到:
-
-
-
-以上4个数据库请不要随意使用
-
-右键 连接名 新建数据库
-
-
-
-数据库名——自拟
-
-如果使用的数据库内包含中文字符,最好
-
-字符集使用gb2312或者utf8
-
-对应的排序规则(我不清楚有什么特别的规定,我的习惯是:)
-
-对应的是gb2312_chinese_ci utf8_unicode_ci
-
-## 例子:
-
-双击数据库得到如下:
-
-
-
-右键 表 新建表
-
-开始设置字段的 名 类型 长度 小数点 ,,,,
-
-设置结束后 点击保存
-
-得到弹窗 输入表名即可
-
-## 转储数据库
-
-右键 数据库名 转储SQL文件结构和数据
-
-选择地址
-
-即得到这个数据库的SQL文件
-
-## 运行SQL文件
-
-右键连接名 运行SQL文件
-
-
-
-找到文件的地址
-
-编码与文件编码对应即可,例如:建立此数据库时采用gb2312,那么打开时也这么使用
-
-## 可能遇到的问题
-
-1.无法通过 右键 连接名 运行SQL文件 的方式打开此文件
-
-解决方案:自己创立一个数据库后,点击 表 右键 运行SQL文件
-
-2.运行SQL文件失败
-
-Debug方法,只需观察报错信息的第一行,查询错误代码对应的意义,针对性的de
-
-如果爆语法错误,可能是因为MySQL的版本不太统一造成的。
-
-# ecplise上web项目的创建和连接数据库
-
-## 创建项目
-
-File-new-Dynamic Fragment-Project
-
-
-
-Project name 项目名 自拟
-
-服务器 我使用的是tomcat9
-
-版本 注意!!!! 请使用2.5
-
-原因:2.5的会自动在创建servlet时更行web.xml,非常方便!!!
-
-## 补充没有的jar
-
-右键 项目名Build Path
-
-
-
-点击Add External JARS 连接mysql-connector-java-5.1.46-bin这个jar包
-
-点击Apply and Close结束
-
-所有的添加tomcat和jre没有的jar包的方式都是这样
-
-## 文件书写的结构(仅用来记录个人习惯)
-
-
-
-Java Resources内的src中
-
-创建Ja包内写入JAVA文件
-
-创建Se包内写入SERVLET文件
-
-在WebContent内写入jsp和html文件
-
-## 详细介绍JAVA 连接数据库和运用数据库的步骤
-
-### 在Se包内创建servlet文件,DB.java
-
-```java
-package Se;
-
-import java.sql.*;
-
-public class DB {
-
-public static Connection dbCon(){
-
- Connection con = null;
-
- try {
-
- Class.forName("com.mysql.jdbc.Driver");
-
- con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?useSSL=false", "MySQL用户名", "MySQL密码");
-
- } catch (Exception e) {
-
- e.printStackTrace();//用于打印错误
-
- }
-
- return con;
-
- }
-
-}
-```
-?useSSL=false是为了防止因为MySQL版本过高报错
-
-### 查询数据库
-
-```java
- try {
-
- PreparedStatement ps =DB.dbCon().prepareStatement("select user_age from user_info where user_name=? and user_password=?");
-
- ps.setString(1, name);
-
- ps.setString(2, pass);
-
- ResultSet rs = ps.executeQuery();
-
- if(rs.next()){
-
- userInfo.setAge(rs.getInt(1));
-
- }else{
-
- }
-
- }catch (Exception e) {
-
-}
-```
-### 插入数据库
-
-```java
-try {
-
- PreparedStatement ps =DB.dbCon().prepareStatement("insert into user_info (user_name,user_password,user_age) values(?,?,?)");
-
- ps.setString(1,user_name);
-
- ps.setString(2, lpassword);
-
- ps.setInt(3, age);
-
- ps.executeUpdate();
-
-}catch (Exception e) {
-
- e.printStackTrace();
-
-}
-```
\ No newline at end of file
diff --git "a/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md" "b/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md"
deleted file mode 100644
index 2a406ef7..00000000
--- "a/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md"
+++ /dev/null
@@ -1,261 +0,0 @@
----
-layout: post
-title: Linux就该这么学1
-date: 2020-11-14
-author: XiaoJia849
-categories:
- - 开发部
-tags:
- - 后端
- - Linux
----
-
-
-## 系统工作命令:
-
- **1. echo 字符串|$变量名**
-
- **2. date:**
-
-查看时间,并设置形式:
-
-Date ”+%Y-%m-%d %H:%M:%S”
-
-设定电脑此刻的时间:
-
-Date -s “20201001 2:30:45”
-
-%j用来查看今天是本年的第几天
-
-**3. reboot重启,只有管理员才可使用**
-
-**4. poweroff关闭系统,只有管理员才可使用**
-
-**5. wget下载网络文件**
-
- wget -r -p http://www.linuxprobe.com用来下载此网站下所有内容,保存到www.linuxprobe.com的文件下
-
-**6. ps查看系统中的进程状态**
-
-记住3个,-a显示所有,-u显示用户以及其他所有详细信息,-x显示没有控制终端的进程
-
-
-
-观察上图:
-
-- R运行中的进程。
-
-- S中断/休眠。
-
-- D不可中断,使用kill也无法使他中止的进程,此进程不影响系统异步信号。
-
-- Z僵死,进程已经终止,等待父进程将其释放。
-
-- T停止,进程收到停止信号后停止
-
-Ps aux即ps -a -u -x的三者合并。
-
-**7. top动态监控进程活动与系统负载**
-
-
-观察前5行获取信息:
-
-- top:当前时间,运行时间,几个用户,5 10 15分钟内的平均负载。
-
-- Tasks:总任务数目,正在运行的任务数目,睡眠的任务数目,等等
-
-- CPU:关注一下99.3id就行,表示还有99.3%的cpu是空闲的。
-
-- KIB Mem:物理内存,总数,空闲数,被使用数目
-
-- KiB Swap:虚拟内存,总数,空闲数,被使用数目
-
-**8. pidof查询指定服务的pid值**
-
-pidof sshd
-
-得到2156
-
-**9. kill 进程号**
-
-kill 2156
-
-**10. killall用于中止某个指定名称的服务所对应的所有进程**
-
-kill sshd
-
-
-## 系统状态检测命令
-
-**1. ifconfig获取,IP地址,网卡名称,网卡物理地址,RX/TX的收发流量数据大小**
-
-**2. uname查看系统内核和系统版本**
-
-
-
-
-
-
-**3. uptime查看系统负载信息**
-
-内容相当于top的第一行,而且不会实时更新。
-
-**4. free显示当前系统中内存的使用量**
-
-内容相当于top的第4 5行
-
-**5. who 查看登入主机的用户的终端信息**
-
-**6. last查看登录记录**
-
-**7. history查看最近使用过的命令,最多1000条**
-
-cat ~/.bash_history可以查看history
-
-**8. sosreport用来生成一个文档,记录着所有系统配置和框架信息**
-
-
-
-存放在上面提示的地址中,将这个文件发送给某个工作人员,让其协助解决问题。
-
-## 工作目录切换命令
-
-**1. pwd显示用户当前所处的工作目录**
-
-
-
-**2. cd跳转目录**
-
-**3. ls显示目录下的文件-a显示所有文件,包括隐藏文件,-l查看文件的属性,大小等信息**
-
-
-## 文本文件编辑命令:
-
-**1. cat查看文件 -n同时显示行号**
-
-**2. more 查看长纯文本文件**
-
-**3. head 查看纯文本文件的前N行**
-
-head -n 20 某文件
-
-**4. tail纯文本文件 ,与head相对应,如果想看最新文件,请添加-f**
-
-**5. tr批量替换文本文件中的字符**
-
-cat 某文件|tr [a-z] [A-Z]
-
-将某文件所有的小写转换为大写
-
-**6. wc 统计指定文件的行数-l,字数-w,字节数-c**
-
-**7. stat查看文件的具体存储信息等**
-
-
-
-主要的有用信息是access,modify,change
-
-**8. cut 按列提取文本字符**
-
-效果如下:
-
-
-
-
-
-提取的正好是每行的第一个单词,也就是第一列的内容
-
-**9. diff比较多个文件是否相同**
-
-diff –brief 文件1 文件2
-
-
-## 文件目录管理命令。
-
-**1.touch**
-
-创建文件同时可以设置文件内容的修改时间mtime,文件权限ctime文件读取时间atime,用-a读取,-m修改 ,-d读取和修改
-
-```
-touch -d “2017-05-04 15:44” 某文件
-```
-**2.mkdir创建空白目录在a/b/c/s下**
-
-```
-mkdir -p a/b/c/s
-```
-**3.cp复制文件或者目录**
-
-cp 源文件 目标文件
--p保留原文件属性,-d若为链接同p,-r复制目录时使用,-i覆盖目标文件,-a以上全部
-
-**4.mv剪切文件或者将文件重命名**
-
-**5.rm删除文件或者目录**
-
-**6.dd按照指定大小和个数的数据块复制和转换文件**
-
-这个命令有4个参数。
-- if输入文件的名称
-- of输出文件的名称
-- bs设置每个块的大小
-- count设置复制块的个数
-```
-dd if=/dev/zero of=文件名 count=1 bs=560M
-从/dv/zero中取出一个560M的数据块保存在文件名的下面
-```
-其中bs和count具体多少不重要,乘积才重要。
-dd命令可以用来转换文件保存的类型。只要确定好of的类型,就有了转换后的类型
-
-**7.file查看文件类型**
-
-## 打包压缩与搜索命令
-
-**1.tar用于压缩**
-
--c创建压缩文件
--x解压缩
--t查看压缩包内的内容
--z用Gzip压缩哟或者解压缩
--j用bzip2压缩或者解压缩
--f目标文件名
--p保留原始文件的属性和权限
--C指定解压到的目录
--v用来显示压缩和解压的过程
-注意!!!-f必须放在最后位
-
-**2.grep 在文本中执行关键字搜索**
-
--b将执行文件当作txt来搜索
--c只显示目标所在行号
--i忽略大小写
--n显示目标所在行号
--v反向选择
-
-**3.find 按照指定条件查询文件**
-
--name按名字
--perm按权限
--user按所有者
--group按所有组
--mtime +n 修改内容时间在n天以前的
--mtime -n修改时间在n天以内的
--atime访问文件时间
--ctime 修改文件权限时间
--nouser没有所有者的
--nogroup没有所有组的
--newerf1!f2比f1新但是比f2旧的
-–type按文件类型匹配
--size按大小
--exec搜索到的结果给后面的执行
-
-```
-find / -user xiao -exec cp -a () /root/sss/\
-```
-
-找到属于xiao用户的所有文件复制到/root/sss/\下面
-
-
-## 参考
-
-- [1] [刘遄.Linux就该4这么学[M].北京:人民邮电出版社,2016:405-456]
diff --git "a/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md" "b/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md"
deleted file mode 100644
index 7acdead3..00000000
--- "a/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md"
+++ /dev/null
@@ -1,171 +0,0 @@
----
-layout: post
-title: Linux就该这么学2
-date: 2020-11-14
-author: XiaoJia849
-categories:
- - 开发部
-tags:
- - 后端
- - Linux
----
-
-输入重定向——把文件导入到命令中
-输出重定向——把原本要输出到屏幕的数据信息写到指定文件中
-
-输入重定向:标准输入重定向。STDIN,可从键盘,其他文件或命令中输入。
-
-输出重定向最常使用,分为:标准输出重定向,错误输出重定向
-
-## 输出重定向:
-
-Man bash > readme.txt 把屏幕中的内容输出到readme.txt文件内。
-
-覆盖写入:echo “WELcome” > readme.txt——把双引号内内容覆盖readme.txt的原本内容
-
-追加写入:echo “WELcome” >>readme.txt——把双引号内内容追加到readme.txt
-
-把命令的所有报错信息写入文件,使用SHELL脚本。
-
-Ls -l xxxxx 2>/root/stdeer.txt
-
-把ls -l xxxxx 2的所有提示信息输入到/root/stdeer.txt
-
-/root/stdeer.txt是一个只读文件。
-
-## 输入重定向:
-
-Wc -l < readme.txt 这个是统计文本行数
-
-输出readme.txt这个文件内容的行数
-
-## 管道命令符
-
-| 管道符
-
-A | B 把A命令原本要输入到屏幕的数据当作是后一个命令的标准输入。
-```
-grep “/sbin/nologin” /etc/password | wc -1
-```
-这个是找到在 /etc/password 里“/sbin/nologin”出现的次数
-
-重置用户root的密码:
-```
-echo “linuxprobe” | password –stdin root
-```
-发送邮件
-```
-echo “Content” | mail -s “Subject” 用户名
-```
-
-
-
-
-
-
-## 关于发送邮件的详细过程如下:
-
-### 1.安装
-
-- sendmail:yum install -y sendmail
-- mail:yum install -y mailx
-- 安装mutt:yum install -y mutt
-
-### 2.修改配置文件
-
-```
-vim /etc/mail.rc
-```
-在此文件下补充以下内容
-
-```
-set ssl-verify=ignore 无需ssl确认
-set nss-config-dir=/etc/pki/nssdb
-set from=邮箱
-set smtp=smtps://smtp.qq.com:465 如果是qq邮箱就这么写
-set smtp-auth-user=邮箱,同上
-set smtp-auth-password=IMAP/SMTP服务密码
-set smtp-auth=login
-```
-
-启动sendmail : systemctl restart sendmail
-
-[详细配置mail.rc的参考网址](https://blog.csdn.net/thinkthewill/article/details/80868442?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare)
-
-```
-echo "邮件内容" | mail -s "邮件名" 目标邮箱
-```
-用这一条命令是表示,我从我的本地账户(mail.rc配置的邮箱)发送邮件到目标邮箱
-
-## 命令行的通配符
-
-*匹配0个或者多个
-
-?匹配单个字符
-
-[0-9]匹配0-9之间的单个数字的字符
-
-[abc]匹配abc中的任意一个字符
-
-ls -l /dev/sda* 展示所有sda开头的文件的信息。
-
-## 常用转义字符\ ‘’ “”
-
-$$是显示当前进程号,第一个 \$ 表示显示内容
-
-\\$$ 的第一个 \$ 没有特殊含义
-
-
-
-当要执行某命令也可以这么写
-
-
-
-
-## 重要的环境变量
-
-命令在linux内执行的步骤:
-
-第一步:判断用户是否以绝对路径或者相对路径的方式输入命令
-
-第二步:检查输入命令是否为别名命令
-
-可以用alias命令创建属于自己的命令别名
-
-- alias 别名 =命令 运用此别名
-
-- unalias 别名 释放此别名
-
-第三步:Bash解释器判断用户输入的是内部命令还是外部命令
-
-内部命令:解释器内部的指令,直接执行
-
-外部命令:由下一步执行,用 type 命令名称 判断用户输入的是内部命令还是外部命令
-
-
-cat是bin里的,说明是内部命令
-
-第四步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫PATH
-
-
-
-
-不能将当前目录(.)添加到PATH,因为:如果黑客在共用目录/tmp中存放了和ls或者cd命令同名的木马文件,用户如果在公共目录下执行了这些命令,就有可能中招。
-
-设定解释器搜索所执行的命令的路径——PATH变量
-
-注意:不同用户下的同一变量代表的意义不同
-
-
-
-
-
-
-随便使用一个命令就可以创建这样的变量,例如WI=/home/workdir cd $WI就可以跳转到这个目录。
-
-但是这种变量的作用范围有限,不可以被其他用户使用。但是可以使用export WI 把WI这个命令转换为全局变量。
-
-## 参考
-
-- [1] [刘遄.Linux就该4这么学[M].北京:人民邮电出版社,2016:100-371]
-- [2] [详细配置mail.rc的参考网址](https://blog.csdn.net/thinkthewill/article/details/80868442?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare)
\ No newline at end of file
From bb3561f3f2d6af94ff0c27ff3e789c1e66c2e4ed Mon Sep 17 00:00:00 2001
From: XiaoJia849 <18870241505@163.com>
Date: Tue, 17 Nov 2020 11:52:41 +0800
Subject: [PATCH 5/9] =?UTF-8?q?201101-Java=E8=BF=9E=E6=8E=A5=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=BA=93-XiaoJia849?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...45\346\225\260\346\215\256\345\272\223.md" | 240 ++++++++++++++++++
1 file changed, 240 insertions(+)
create mode 100644 "docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
diff --git "a/docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md" "b/docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
new file mode 100644
index 00000000..fb100986
--- /dev/null
+++ "b/docs/views/dev/2020-11-15-Java\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
@@ -0,0 +1,240 @@
+---
+layout: post
+title: Java连接数据库
+date: 2020-11-01
+author: XiaoJia849
+categories:
+ - 开发部
+tags:
+ - 后端
+ - 数据库
+ - Java
+---
+
+# 下载
+
+mysql-installer-community-8.0.20.0下载:
+
+[https://pan.baidu.com/s/1JowAkm1O5O7iLn1H-072Zw](https://pan.baidu.com/s/1JowAkm1O5O7iLn1H-072Zw)
+
+提取码:yf69
+
+navicat 下载
+
+[https://pan.baidu.com/s/17_z76E9DgIlCBwY81maSVQ](https://pan.baidu.com/s/17_z76E9DgIlCBwY81maSVQ)
+
+提取码:1hdt
+
+ecplise
+
+自行在官网下载,安装
+
+mysql-connector-java-5.1.46-bin 用于数据库的连接
+
+[https://pan.baidu.com/s/19UtMM4TzlicRkEPuv7hyzw](https://pan.baidu.com/s/19UtMM4TzlicRkEPuv7hyzw)
+
+提取码:ovhx
+
+下载包链接如上,具体安装请查询CSDN
+
+# 数据库的准备
+
+## 建立连接
+
+打开Navicat——点击连接——MySQL
+
+
+
+连接名——自拟
+
+用户名,密码——与MySQL下载时保持一致
+
+先连接测试确认成功后再按确定
+
+## 建立数据库
+
+双击 连接名 得到:
+
+
+
+以上4个数据库请不要随意使用
+
+右键 连接名 新建数据库
+
+
+
+数据库名——自拟
+
+如果使用的数据库内包含中文字符,最好
+
+字符集使用gb2312或者utf8
+
+对应的排序规则(我不清楚有什么特别的规定,我的习惯是:)
+
+对应的是gb2312_chinese_ci utf8_unicode_ci
+
+## 例子:
+
+双击数据库得到如下:
+
+
+
+右键 表 新建表
+
+开始设置字段的 名 类型 长度 小数点 ,,,,
+
+设置结束后 点击保存
+
+得到弹窗 输入表名即可
+
+## 转储数据库
+
+右键 数据库名 转储SQL文件结构和数据
+
+选择地址
+
+即得到这个数据库的SQL文件
+
+## 运行SQL文件
+
+右键连接名 运行SQL文件
+
+
+
+找到文件的地址
+
+编码与文件编码对应即可,例如:建立此数据库时采用gb2312,那么打开时也这么使用
+
+## 可能遇到的问题
+
+1.无法通过 右键 连接名 运行SQL文件 的方式打开此文件
+
+解决方案:自己创立一个数据库后,点击 表 右键 运行SQL文件
+
+2.运行SQL文件失败
+
+Debug方法,只需观察报错信息的第一行,查询错误代码对应的意义,针对性的de
+
+如果爆语法错误,可能是因为MySQL的版本不太统一造成的。
+
+# ecplise上web项目的创建和连接数据库
+
+## 创建项目
+
+File-new-Dynamic Fragment-Project
+
+
+
+Project name 项目名 自拟
+
+服务器 我使用的是tomcat9
+
+版本 注意!!!! 请使用2.5
+
+原因:2.5的会自动在创建servlet时更行web.xml,非常方便!!!
+
+## 补充没有的jar
+
+右键 项目名Build Path
+
+
+
+点击Add External JARS 连接mysql-connector-java-5.1.46-bin这个jar包
+
+点击Apply and Close结束
+
+所有的添加tomcat和jre没有的jar包的方式都是这样
+
+## 文件书写的结构(仅用来记录个人习惯)
+
+
+
+Java Resources内的src中
+
+创建Ja包内写入JAVA文件
+
+创建Se包内写入SERVLET文件
+
+在WebContent内写入jsp和html文件
+
+## 详细介绍JAVA 连接数据库和运用数据库的步骤
+
+### 在Se包内创建servlet文件,DB.java
+
+```java
+package Se;
+
+import java.sql.*;
+
+public class DB {
+
+public static Connection dbCon(){
+
+ Connection con = null;
+
+ try {
+
+ Class.forName("com.mysql.jdbc.Driver");
+
+ con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?useSSL=false", "MySQL用户名", "MySQL密码");
+
+ } catch (Exception e) {
+
+ e.printStackTrace();//用于打印错误
+
+ }
+
+ return con;
+
+ }
+
+}
+```
+?useSSL=false是为了防止因为MySQL版本过高报错
+
+### 查询数据库
+
+```java
+ try {
+
+ PreparedStatement ps =DB.dbCon().prepareStatement("select user_age from user_info where user_name=? and user_password=?");
+
+ ps.setString(1, name);
+
+ ps.setString(2, pass);
+
+ ResultSet rs = ps.executeQuery();
+
+ if(rs.next()){
+
+ userInfo.setAge(rs.getInt(1));
+
+ }else{
+
+ }
+
+ }catch (Exception e) {
+
+}
+```
+### 插入数据库
+
+```java
+try {
+
+ PreparedStatement ps =DB.dbCon().prepareStatement("insert into user_info (user_name,user_password,user_age) values(?,?,?)");
+
+ ps.setString(1,user_name);
+
+ ps.setString(2, lpassword);
+
+ ps.setInt(3, age);
+
+ ps.executeUpdate();
+
+}catch (Exception e) {
+
+ e.printStackTrace();
+
+}
+```
\ No newline at end of file
From 0f1e9b59846ba196b4a9511d0c2408a7b3f68e32 Mon Sep 17 00:00:00 2001
From: XiaoJia849 <18870241505@163.com>
Date: Tue, 17 Nov 2020 11:53:26 +0800
Subject: [PATCH 6/9] =?UTF-8?q?201102-Linux=E5=B0=B1=E8=AF=A5=E8=BF=99?=
=?UTF-8?q?=E4=B9=88=E5=AD=A61-XiaoJia849?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...5\350\277\231\344\271\210\345\255\2461.md" | 261 ++++++++++++++++++
1 file changed, 261 insertions(+)
create mode 100644 "docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md"
diff --git "a/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md" "b/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md"
new file mode 100644
index 00000000..2a406ef7
--- /dev/null
+++ "b/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2461.md"
@@ -0,0 +1,261 @@
+---
+layout: post
+title: Linux就该这么学1
+date: 2020-11-14
+author: XiaoJia849
+categories:
+ - 开发部
+tags:
+ - 后端
+ - Linux
+---
+
+
+## 系统工作命令:
+
+ **1. echo 字符串|$变量名**
+
+ **2. date:**
+
+查看时间,并设置形式:
+
+Date ”+%Y-%m-%d %H:%M:%S”
+
+设定电脑此刻的时间:
+
+Date -s “20201001 2:30:45”
+
+%j用来查看今天是本年的第几天
+
+**3. reboot重启,只有管理员才可使用**
+
+**4. poweroff关闭系统,只有管理员才可使用**
+
+**5. wget下载网络文件**
+
+ wget -r -p http://www.linuxprobe.com用来下载此网站下所有内容,保存到www.linuxprobe.com的文件下
+
+**6. ps查看系统中的进程状态**
+
+记住3个,-a显示所有,-u显示用户以及其他所有详细信息,-x显示没有控制终端的进程
+
+
+
+观察上图:
+
+- R运行中的进程。
+
+- S中断/休眠。
+
+- D不可中断,使用kill也无法使他中止的进程,此进程不影响系统异步信号。
+
+- Z僵死,进程已经终止,等待父进程将其释放。
+
+- T停止,进程收到停止信号后停止
+
+Ps aux即ps -a -u -x的三者合并。
+
+**7. top动态监控进程活动与系统负载**
+
+
+观察前5行获取信息:
+
+- top:当前时间,运行时间,几个用户,5 10 15分钟内的平均负载。
+
+- Tasks:总任务数目,正在运行的任务数目,睡眠的任务数目,等等
+
+- CPU:关注一下99.3id就行,表示还有99.3%的cpu是空闲的。
+
+- KIB Mem:物理内存,总数,空闲数,被使用数目
+
+- KiB Swap:虚拟内存,总数,空闲数,被使用数目
+
+**8. pidof查询指定服务的pid值**
+
+pidof sshd
+
+得到2156
+
+**9. kill 进程号**
+
+kill 2156
+
+**10. killall用于中止某个指定名称的服务所对应的所有进程**
+
+kill sshd
+
+
+## 系统状态检测命令
+
+**1. ifconfig获取,IP地址,网卡名称,网卡物理地址,RX/TX的收发流量数据大小**
+
+**2. uname查看系统内核和系统版本**
+
+
+
+
+
+
+**3. uptime查看系统负载信息**
+
+内容相当于top的第一行,而且不会实时更新。
+
+**4. free显示当前系统中内存的使用量**
+
+内容相当于top的第4 5行
+
+**5. who 查看登入主机的用户的终端信息**
+
+**6. last查看登录记录**
+
+**7. history查看最近使用过的命令,最多1000条**
+
+cat ~/.bash_history可以查看history
+
+**8. sosreport用来生成一个文档,记录着所有系统配置和框架信息**
+
+
+
+存放在上面提示的地址中,将这个文件发送给某个工作人员,让其协助解决问题。
+
+## 工作目录切换命令
+
+**1. pwd显示用户当前所处的工作目录**
+
+
+
+**2. cd跳转目录**
+
+**3. ls显示目录下的文件-a显示所有文件,包括隐藏文件,-l查看文件的属性,大小等信息**
+
+
+## 文本文件编辑命令:
+
+**1. cat查看文件 -n同时显示行号**
+
+**2. more 查看长纯文本文件**
+
+**3. head 查看纯文本文件的前N行**
+
+head -n 20 某文件
+
+**4. tail纯文本文件 ,与head相对应,如果想看最新文件,请添加-f**
+
+**5. tr批量替换文本文件中的字符**
+
+cat 某文件|tr [a-z] [A-Z]
+
+将某文件所有的小写转换为大写
+
+**6. wc 统计指定文件的行数-l,字数-w,字节数-c**
+
+**7. stat查看文件的具体存储信息等**
+
+
+
+主要的有用信息是access,modify,change
+
+**8. cut 按列提取文本字符**
+
+效果如下:
+
+
+
+
+
+提取的正好是每行的第一个单词,也就是第一列的内容
+
+**9. diff比较多个文件是否相同**
+
+diff –brief 文件1 文件2
+
+
+## 文件目录管理命令。
+
+**1.touch**
+
+创建文件同时可以设置文件内容的修改时间mtime,文件权限ctime文件读取时间atime,用-a读取,-m修改 ,-d读取和修改
+
+```
+touch -d “2017-05-04 15:44” 某文件
+```
+**2.mkdir创建空白目录在a/b/c/s下**
+
+```
+mkdir -p a/b/c/s
+```
+**3.cp复制文件或者目录**
+
+cp 源文件 目标文件
+-p保留原文件属性,-d若为链接同p,-r复制目录时使用,-i覆盖目标文件,-a以上全部
+
+**4.mv剪切文件或者将文件重命名**
+
+**5.rm删除文件或者目录**
+
+**6.dd按照指定大小和个数的数据块复制和转换文件**
+
+这个命令有4个参数。
+- if输入文件的名称
+- of输出文件的名称
+- bs设置每个块的大小
+- count设置复制块的个数
+```
+dd if=/dev/zero of=文件名 count=1 bs=560M
+从/dv/zero中取出一个560M的数据块保存在文件名的下面
+```
+其中bs和count具体多少不重要,乘积才重要。
+dd命令可以用来转换文件保存的类型。只要确定好of的类型,就有了转换后的类型
+
+**7.file查看文件类型**
+
+## 打包压缩与搜索命令
+
+**1.tar用于压缩**
+
+-c创建压缩文件
+-x解压缩
+-t查看压缩包内的内容
+-z用Gzip压缩哟或者解压缩
+-j用bzip2压缩或者解压缩
+-f目标文件名
+-p保留原始文件的属性和权限
+-C指定解压到的目录
+-v用来显示压缩和解压的过程
+注意!!!-f必须放在最后位
+
+**2.grep 在文本中执行关键字搜索**
+
+-b将执行文件当作txt来搜索
+-c只显示目标所在行号
+-i忽略大小写
+-n显示目标所在行号
+-v反向选择
+
+**3.find 按照指定条件查询文件**
+
+-name按名字
+-perm按权限
+-user按所有者
+-group按所有组
+-mtime +n 修改内容时间在n天以前的
+-mtime -n修改时间在n天以内的
+-atime访问文件时间
+-ctime 修改文件权限时间
+-nouser没有所有者的
+-nogroup没有所有组的
+-newerf1!f2比f1新但是比f2旧的
+–type按文件类型匹配
+-size按大小
+-exec搜索到的结果给后面的执行
+
+```
+find / -user xiao -exec cp -a () /root/sss/\
+```
+
+找到属于xiao用户的所有文件复制到/root/sss/\下面
+
+
+## 参考
+
+- [1] [刘遄.Linux就该4这么学[M].北京:人民邮电出版社,2016:405-456]
From 014aaf829daf86c39c5c50b13d262ac007f0c833 Mon Sep 17 00:00:00 2001
From: XiaoJia849 <18870241505@163.com>
Date: Tue, 17 Nov 2020 11:53:45 +0800
Subject: [PATCH 7/9] =?UTF-8?q?201103-Linux=E5=B0=B1=E8=AF=A5=E8=BF=99?=
=?UTF-8?q?=E4=B9=88=E5=AD=A62-XiaoJia849?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...5\350\277\231\344\271\210\345\255\2462.md" | 171 ++++++++++++++++++
1 file changed, 171 insertions(+)
create mode 100644 "docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md"
diff --git "a/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md" "b/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md"
new file mode 100644
index 00000000..7acdead3
--- /dev/null
+++ "b/docs/views/dev/2020-11-15-Linux\345\260\261\350\257\245\350\277\231\344\271\210\345\255\2462.md"
@@ -0,0 +1,171 @@
+---
+layout: post
+title: Linux就该这么学2
+date: 2020-11-14
+author: XiaoJia849
+categories:
+ - 开发部
+tags:
+ - 后端
+ - Linux
+---
+
+输入重定向——把文件导入到命令中
+输出重定向——把原本要输出到屏幕的数据信息写到指定文件中
+
+输入重定向:标准输入重定向。STDIN,可从键盘,其他文件或命令中输入。
+
+输出重定向最常使用,分为:标准输出重定向,错误输出重定向
+
+## 输出重定向:
+
+Man bash > readme.txt 把屏幕中的内容输出到readme.txt文件内。
+
+覆盖写入:echo “WELcome” > readme.txt——把双引号内内容覆盖readme.txt的原本内容
+
+追加写入:echo “WELcome” >>readme.txt——把双引号内内容追加到readme.txt
+
+把命令的所有报错信息写入文件,使用SHELL脚本。
+
+Ls -l xxxxx 2>/root/stdeer.txt
+
+把ls -l xxxxx 2的所有提示信息输入到/root/stdeer.txt
+
+/root/stdeer.txt是一个只读文件。
+
+## 输入重定向:
+
+Wc -l < readme.txt 这个是统计文本行数
+
+输出readme.txt这个文件内容的行数
+
+## 管道命令符
+
+| 管道符
+
+A | B 把A命令原本要输入到屏幕的数据当作是后一个命令的标准输入。
+```
+grep “/sbin/nologin” /etc/password | wc -1
+```
+这个是找到在 /etc/password 里“/sbin/nologin”出现的次数
+
+重置用户root的密码:
+```
+echo “linuxprobe” | password –stdin root
+```
+发送邮件
+```
+echo “Content” | mail -s “Subject” 用户名
+```
+
+
+
+
+
+
+## 关于发送邮件的详细过程如下:
+
+### 1.安装
+
+- sendmail:yum install -y sendmail
+- mail:yum install -y mailx
+- 安装mutt:yum install -y mutt
+
+### 2.修改配置文件
+
+```
+vim /etc/mail.rc
+```
+在此文件下补充以下内容
+
+```
+set ssl-verify=ignore 无需ssl确认
+set nss-config-dir=/etc/pki/nssdb
+set from=邮箱
+set smtp=smtps://smtp.qq.com:465 如果是qq邮箱就这么写
+set smtp-auth-user=邮箱,同上
+set smtp-auth-password=IMAP/SMTP服务密码
+set smtp-auth=login
+```
+
+启动sendmail : systemctl restart sendmail
+
+[详细配置mail.rc的参考网址](https://blog.csdn.net/thinkthewill/article/details/80868442?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare)
+
+```
+echo "邮件内容" | mail -s "邮件名" 目标邮箱
+```
+用这一条命令是表示,我从我的本地账户(mail.rc配置的邮箱)发送邮件到目标邮箱
+
+## 命令行的通配符
+
+*匹配0个或者多个
+
+?匹配单个字符
+
+[0-9]匹配0-9之间的单个数字的字符
+
+[abc]匹配abc中的任意一个字符
+
+ls -l /dev/sda* 展示所有sda开头的文件的信息。
+
+## 常用转义字符\ ‘’ “”
+
+$$是显示当前进程号,第一个 \$ 表示显示内容
+
+\\$$ 的第一个 \$ 没有特殊含义
+
+
+
+当要执行某命令也可以这么写
+
+
+
+
+## 重要的环境变量
+
+命令在linux内执行的步骤:
+
+第一步:判断用户是否以绝对路径或者相对路径的方式输入命令
+
+第二步:检查输入命令是否为别名命令
+
+可以用alias命令创建属于自己的命令别名
+
+- alias 别名 =命令 运用此别名
+
+- unalias 别名 释放此别名
+
+第三步:Bash解释器判断用户输入的是内部命令还是外部命令
+
+内部命令:解释器内部的指令,直接执行
+
+外部命令:由下一步执行,用 type 命令名称 判断用户输入的是内部命令还是外部命令
+
+
+cat是bin里的,说明是内部命令
+
+第四步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫PATH
+
+
+
+
+不能将当前目录(.)添加到PATH,因为:如果黑客在共用目录/tmp中存放了和ls或者cd命令同名的木马文件,用户如果在公共目录下执行了这些命令,就有可能中招。
+
+设定解释器搜索所执行的命令的路径——PATH变量
+
+注意:不同用户下的同一变量代表的意义不同
+
+
+
+
+
+
+随便使用一个命令就可以创建这样的变量,例如WI=/home/workdir cd $WI就可以跳转到这个目录。
+
+但是这种变量的作用范围有限,不可以被其他用户使用。但是可以使用export WI 把WI这个命令转换为全局变量。
+
+## 参考
+
+- [1] [刘遄.Linux就该4这么学[M].北京:人民邮电出版社,2016:100-371]
+- [2] [详细配置mail.rc的参考网址](https://blog.csdn.net/thinkthewill/article/details/80868442?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare)
\ No newline at end of file
From 9355c695aa7e2def2f0229dde5f5b91c0b7ef92f Mon Sep 17 00:00:00 2001
From: XiaoJia849 <62590724+XiaoJia849@users.noreply.github.com>
Date: Sun, 27 Dec 2020 16:29:33 +0800
Subject: [PATCH 8/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6:=20doc?=
=?UTF-8?q?s/views/dev/2020-12-06-=E5=AE=9E=E8=AE=AD=E9=A1=B9=E7=9B=AE.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...36\350\256\255\351\241\271\347\233\256.md" | 454 ++++++++++++++++++
1 file changed, 454 insertions(+)
create mode 100644 "docs/views/dev/2020-12-06-\345\256\236\350\256\255\351\241\271\347\233\256.md"
diff --git "a/docs/views/dev/2020-12-06-\345\256\236\350\256\255\351\241\271\347\233\256.md" "b/docs/views/dev/2020-12-06-\345\256\236\350\256\255\351\241\271\347\233\256.md"
new file mode 100644
index 00000000..779e9f1a
--- /dev/null
+++ "b/docs/views/dev/2020-12-06-\345\256\236\350\256\255\351\241\271\347\233\256.md"
@@ -0,0 +1,454 @@
+---
+layout: post
+title: 2020-12-06-实训项目
+date: 2020-12-6
+author: XiaoJia849
+categories:
+ - 开发部
+tags: 后端,springboot,文件处理
+ - 后端
+ - springboot
+ - 文件处理
+---
+
+
+
+项目实训已经度过3周,三周内被迫学会了springboot 和mybatis的基本使用,以下是我的一点总结。以及对文件的操作记录。
+
+* Maven
+* Mybatis
+* Springboot
+* 上传excel与解析
+* 上传任意类型文件且保存
+* 浏览器下载文件
+* java处理word模板
+
+### Maven
+
+Maven是个好东西,如果在配置pom.xml时不经常爆红的话。
+Maven在我的理解中是一个jar包管理库,使用Maven让我无需导入jar包,如果需要使用这个jar包时,只需要在pom.xml内写入依赖即可,非常方便。
+
+### Mybatis
+
+Mybatis内写sql语句调用数据库的资源,把所有涉及与数据库交互的过程全部封装在mapper内的xml文件中,但是对于初次接触MyBatis的我而言不是很友好。~~当我需要写嵌套查询时,发现此时仅仅是更改sql语句只会引发一串报错,这也就意味着,当sql语句跳出了简简单单的一层插入,更新,查询时,难度大幅度上升了。~~其实只是我太菜了,要写嵌套查询还是很方便的。
+
+#### 例子
+```java
+