Linux - 基础操作

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 建表过程,或命令建表

  1. alter table employee add phone varchar(11) ;alter table 表明 add 字段名数据类型
  2. 修改字段数据类型 :alter table 表名 modify 字段 属性
  3. 修改字段的字段名(同时改数据类型):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等)语句


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值