1.基础指令
1.1 lunix pwd/cd 切换目录,进入目录,返回上一层目录:cd …
ls -a( 全部文件) - l(明细) -r( 逆向)-R(递归)
1.2 touch 创建文本文件 (在linux中区分大小写)
1.3 mv 1.txt(原文件) /home(目标目录)
1.4 创建目录 mkdir ,嵌套-p a/b/c 删除mvdir a/b/c
1.5 罗列功能 man cp ? ls ?mv?
1.6 bzip2 文件,bunzip2 文件名,压缩和解压,gzip 文件,gunzip 文件
1.7将文件或目录进行打包、或者解压缩 tar
tar cvf test.tar /home/test 将home 下目录test打包成tar包
tar xvf test.tar 将test.tar解压缩
1.7读取文件内容 more , -10 显示10行,+3从第三行查起
1.8 更改权限 chmod xxx +文件名
ls -l 读取权限状态最前面那个 - 代表的是类型,中间那三个 rw- 代表的是所有者(user), rw- 代表的是组群(group), 最后那三个 r-- 代表的是其他人(other)
1.9 用户创建 user add zhang
2.0 删除用户,userdel or userdel -r
2.1 chgrp 修改群组,chown修改拥有者
2.网络配置
2.1 切换用户 su hou, su -l root ,加上-l是环境变量一起切 passwd修改密
2.2 重启,关机,几分钟后关机,什么时候关机
reboot,/// shutdown -r now or 11:30 /// shutdown -t 2
2.3 进程操作 ps : process id /// process yao , ps hou // top
ctrl+c 或是q离开程序
2.3 停止进程kill + pid
2.4 显示时间:查看日期和日历,和各个用户或文件时间
2.5 磁盘空间命令 df . du . cd
2.6 网络操作 ifconfig /// ping // 网络配置所在文件夹
ctrl+c退出当前
2.7 网络动态配置,第一种:网关自动配置IP
3.Shell脚本
3.1shell 脚本
shell环境:只要有一个能编写代码的文本编辑器VI(可视化编辑器)和一个脚本解析器(bash) /bin/bash
脚本固定搭配,#!/bin/bash,#! 指定当前脚本编写完成后用到的解析器
解析方式一:chmod +x 脚本文件的名字,/脚本文件的名字
3.2 创建多个测试步骤的脚本
敲i进入编辑模式
4.Dos和变量操作
4.1目录操作
D:直接进入D盘;cd aaa 进入AAA的文件夹 ; dir 是列出文件夹内容
md test, 在当前文件目录里创建test文件夹;rd test, 移除test文件夹(test文件夹必须是空的)
**4.2 功能操作 **
属性操作,读写
**4.3 Powershell vs cmd差异 **
cmd 可以直接 CD \ XXX 切,但POWER不行
4.4 字符串操作
关键字:指的是特殊含义的一些词 cat vi
1.字符串的拼接
2.长度获取$(#变量名)
3.字符串的提取 下标 $(变量名:开始字符的下表:截取长度)
数组操作
1.数组的定义:数组名=(值1,值2,值3)
4.5 获取所有数据 ${数组名[@]}
获取长度 length = $ {#数组名[@]}
获取单个元素长度echo ${#string[1]}
4.6 关系运算符 操作的对象是数字
str = “123”
-eq 是否相等 ==,返回ture ;-ne 不相等 != ;-gt 大于 > ; -ge 大于等于>= ; lt < 小于 ;-le 小于等于<=
文件测试运算符:-d 判断是否为目录,-f 是否为文件,-r可读属性,-w可写,-x可执行,-s是否为空,-e是否存在
echo 命令输出 :\字符 --》\n 回车,\t 水平制表符 \b后退
5.LAMP搭建
5.1 root用户和根目录互换
5.2 安装和启动 apache
5.3 查询文件位置命令:-q :仅查询,后面接的套件名称是否有安装;-qa :列出所有的,已经安装在本机 Linux 系统上面的所有套件名称;-qi :列出该套件的详细信息 (information),包含开发商、版本与说明等;-ql :列出该套件所有的档案与目录所在完整文件名 (list);
-qc :列出该套件的所有设定档 (找出在 /etc/ 底下的檔名而已);-qd :列出该套件的所有说明档 (找出与 man 有关的档案而已);-qR :列出与该套件有关的相依套件所含的档案 (Required 的意思);-qf :由后面接的文件名称,找出该档案属于哪一个已安装的套件;
5.4 设置apache开机自启动
5.5 安装MYSQL
rm -rf * 删除当前目录下的所有文件;rm -f 忽略不存在的文件,从不给出提示
查看是否安装MYSQL
删除文件夹
5.6安装mysql
1、yum仓库下载MySQL:sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
2、yum安装MySQL:sudo yum install mysql-community-server
解决方法:vi /etc/yum.repos.d/mysql-community.repo 修改 mysql80-community下面gpgcheck=0,保存退出,执行 yum clean packages
再次执行安装命令
3、启动MySQL服务:sudo service mysqld start
4、检查MySQL服务状态:sudo service mysqld status
5、查看初始密码(如无内容直接跳过):sudo grep ‘temporary password’ /var/log/mysqld.log
6、本地MySQL客户端登录:mysql -uroot -p
7、输入密码为第5步查出的,如果没有,直接回车,然后输入命令 flush privileges
8、修改root登录密码:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘密码’;(注意要切换到mysql数据库,使用use mysql)
5.7 安装PHP
下载:wget https://www.php.net/distributions/php-7.4.22.tar.gz
解压:tar -zvxf php-7.4.22.tar.gz
进入目录:cd php-7.4.22
编译:./configure --prefix=/home/php --enable-fpm
下载依赖:
yum -y install libxml2-devel
yum -y install sqlite-devel
ps -aux |grep php-fpm #查看启动状态(下面成功启动)
测试
5.8 安装ngnix
下载 wget http://nginx.org/download/nginx-1.20.1.tar.gz
解压:tar -zvxf nginx-1.20.1.tar.gz
Docker部署
6.1 安装docker
查看centos 版本要7.0以上
(centos 7.9安装)
安装 docker
加入开机启动
查看版本
查看位置
6.2 docker 里面安装 LAMP
搜索应用
6.3 创建LAMP容器
在根目录下创建一个新的文件夹-》用docker run将文件移植过去
6.4 参数配置化工作
进入容器,执行exec指令
升级更新:apt :Advanced Package Tool,高级包工具
6.5 winSCP 上传和下载
Mysql基础
7.1关系模型
笛卡尔积:集合A={a, b},集合B={0, 1, 2},两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}
主从表:学生表主表(学号、姓名、班级),选课表从表(学号、选课)- 若从表输入新记录会先检查主表学号
完整性约束:实体、域、参照、用户完整性,3个范式:
ER图:
7.2登录和启动
获取临时密码: sudo grep ‘temporary password’ /var/log/mysqld.log (系统自带)
设置新的密码: mysql -u root -p , 输入原始密码—》 mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new password’;
查看端口 : cat my.conf ------> netstat -ntlp
2.更改加密方式:mysql> ALTER USER ‘%’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.10 sec)
3.更改密码:mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
Query OK, 0 rows affected (0.35 sec)
4.刷新:mysql> FLUSH PRIVILEGES;
7.3表的创建
添加一个字段
Navicat 建表过程,或命令建表
- alter table employee add phone varchar(11) ;alter table 表明 add 字段名数据类型
- 修改字段数据类型 :alter table 表名 modify 字段 属性
- 修改字段的字段名(同时改数据类型):alter table 表名 change 原字段名 新字段名 数据类型;
修改表
删除字段: alter table 表名 drop 字段 ; alter table student drop phone ;
修改表名:rename table 原表名 to 新表名 ;
添加表:create table 表名(具体内容和属性)
添加属性:insert into 表名 values (具体内容)
查询slect * from 表名
7.4 Navicat 建表
两种建表方式,建表完点击刷新
基本操作
show databases;
use yao;
show create database yao;
create table classese(c_id int,c_name varchar(100));
create table student01(s_id int,s_name varchar(100),sex enum(‘男’,‘女’),age int,addr varchar(100),cid int);
insert into student01 values(1,‘张三丰’,‘男’,‘200’,‘武当’,1905);
insert into student01 values(2,‘张三丰1’,‘男’,‘500’,‘武当’,1905);
create table course(c_id int,c_name varchar(100));
create table score(sid int,cname varchar(100),score int,time varchar(100));
alter table student01 add birthday date;
alter table student drop canme;
desc score;
rename table student01 to stu
7.5 主键约束
主键约束,唯一约束,域完整性
sno 主键,sname唯一,sdept 和sage 非空约束,sage默认18;
添加内容
外键非空依赖
**改字段 **
update 表名 set 字段名=新值
建表,填值,改值
** 查询,select 和 desc **
7.6 数据操作
操作库,表,数据的语句:
constraint 前缀的用意(PK、UK、DF、CK、FK); --主键,constraint PK_字段 primary key(字段),–唯一约束,constraint UK_字段 unique key(字段),–默认约束 constrint DF_字段 default(‘默认值’) for 字段, --检查约束,constraint CK_字段 check(约束。如:len(字段)>1),–主外键关系,constraint FK_主表_从表 foreign(外键字段) ,references 主表(主表主键字段)
**查询数据 **
添加多列,删除列,添加多值
查询多种方式:
删除可以通过多个字段定位,或是位置标识定位
7.7 基础表格优化
Navicat 导入本地EXCEL,进行操作, 用alter 和update 对表格进行整理,alter是更改表结构的,而update是更改表数据的.
选择,模糊(select * from student where sname like’'张%),判空(select * from student where sage is not null),聚合函数(select sum(salary) from staff;)
分页查询
select * from 表名 limit
函数命令
7.8 语言操作说明
一、DML
DML(data manipulation language)数据操纵语言:常用到的 SELECT、UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一些操作。
SELECT 列名称 FROM 表名称、UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值、INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,…)、DELETE FROM 表名称 WHERE 列名称 = 值
二、DDL
DDL(data definition language)数据库定义语言:创建表的时候用到的一些sql,比如说:CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上
三、DCL
DCL(Data Control Language)数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句