Linux 概述
1. Linux 的安装
了解什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源, 如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使 用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架设方 式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
1. VMWare 的安装
1. 官网下载VMware 15.X pro https://www.vmware.com/cn.html
2. 在BIOS中设置当前电脑支持虚拟化(部分机器需要设置)
3. 安装VMware 没什么好说的,一路下一步就行,需要注意不要放入中文目录中。
掌握VMware网络配置
1. 桥接模式 什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的 作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接 口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互 可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网 关与DNS需要与主机网卡一致。其网络结构如下图所示:2. NAT模式 刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是 最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构 如下图所示:
在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连 接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟 网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟 网卡主要是为了实现主机与虚拟机之间的通信。在之后的设置步骤中,我们可以加以验证。
如何配置NAT网络连接
1.打开VM设置虚拟机网络
2.在centos中配置地址信息
3.关闭防火墙
systemctl stop firewalld.service
4.刷新网络
systemctl restart network
2. centos7 的安装
设置Centos7的下载源(可不做)
配置清华大学数据源 https://mirrors.cnnic.cn/
配置阿里云数据源 https://developer.aliyun.com/mirror/
3. MobX的安装
2. Linux内核
1. Linux是什么
Linux是一种自由和开放源码的类UNIX 操作系统,存在着许多不同的Linux版本,但它们都使用了Linux 内核。 Linux 是在 1991 年由林纳斯·托瓦兹在赫尔辛基大学上学时创立的,主要受到 Minix 和 Unix 思想的启 发。 Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机
2. centos和Linux的关系
CentOS(Community Enterprise Operating System)是基于 Linux 内核的一个免费开源操作系统,属于 Linux 发行版之一。
- Linux 是一个开源内核,由 Linus Torvalds 开发,而 CentOS 是基于该内核的完整操作系统。
- CentOS 源自 Red Hat Enterprise Linux(RHEL),移除了 RHEL 的商标和商业支持,提供与 RHEL 高度兼容的免费版本。
- 简而言之,CentOS 是众多 Linux 发行版中的一种,专注于企业级需求,并依托 Linux 内核和开源生态构建
3. Linux的常见命令
4. VI和VIM记事本
VI/VIM概述
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 Vim是从 vi 发展出来的一个文本编辑器。
代码补完、编译及错误跳转等方便编程的功能特别丰富,在程 序员中被广泛使用。 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
vim 则可以 说是程序开发者的一项很好用的工具。 连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。
VI/VIM的基本模式
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和 底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲键盘会被Vim识别为命令,而非输入字符。比如我们按下i,并不会输入字符,i被当作一 个命令。
以下是常用的几个命令: i a o 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。 : 切换到底线命令模式,以在最底一行输入命令。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i a o就进入了输入模式。
在输入模式中,可以使用以下按键
字符按键以及Shift组合,输入字符
ENTER,回车键,换行 BACK SPACE,退格键,删除光标前一个字符 DEL,删除键,删除光标后一个字符 方向键,在文本中移动光标 HOME/END,移动光标到行首/行尾 Page Up/Page Down,上/下翻页 Insert,切换光标为输入/替换模式,光标将变成竖线/下划线 ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多
。 在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
wq 退出保存
q!强制退出
5. Linux中如何安装常用的软件
1. java的安装
安装 Java
查看是否存在Java
java -version
删除Java JDK
官网上下载Linux Java JDK
通过ftp上传到Linux
解压到指定文件夹
##解压缩到当前文件夹
tar -zxvf jdk-8u281-linux-x64.tar.gz
##删除压缩包
rm -rf jdk-8u281-linux-x64.tar.gz
配置环境变量
vim /etc/profile
##文件最底部引入以下内容,注意具体路径
export JAVA_HOME=/dailyblue/soft/java/jdk1.8.0_281
export
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools
.jar
export PATH=$PATH:$JAVA_HOME/bin
刷新文件并测试
source /etc/profile
2. tomcat的安装
# 上传
# 解压
# 配置环境变量
export CATALINA_HOME=/opt/soft/tomcat/apache-tomcat-8.5.30
export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib
export PATH=$PATH:$CATALINA_HOME/bin
# 刷新
3. mysql的安装
1. 安装
安装 MySQL 前需要安装 gcc 环境,而 gcc 环境需要更换源镜像为阿里云。
更换源镜像
1. 查看云环境
cat /etc/yum.repos.d/CentOS-Base.repo
2. 备份官方云环境
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
3. 更改为阿里云
curl -o /etc/yum.repos.d/CentOS-Base.repo
http://mirrors.aliyun.com/repo/Centos-7.repo
4. 刷新缓存
# 分别执行以下代码
yum clean all
yum makecache
安装 GCC
yum install -y gcc
下载 RPM 文件
我们 MySQL 以在线下载的方式下载,下载版本为 8.0.28 。
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.28-1.el7.x86_64.rpmbundle.tar
解压
tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
安装各个组件
#1.安装common
rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm --nodeps --force
#2.安装 libs
rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm --nodeps --force
#3.安装client
rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm --nodeps --force
#4.安装server
rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm --nodeps --force
初始化操作
mysqld --initialize;
授予相关权限
chown mysql:mysql /var/lib/mysql -R;
启动并检查
# 启动
systemctl start mysqld.service;
# 检查状态
systemctl status mysqld.service;
# 停止
systemctl stop mysqld.service;
修改密码
1. 获取初始密码
cat /var/log/mysqld.log | grep password
2. 登陆
mysql -u root -p
3. 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的
密码';
2. 远程访问
默认情况下, MySQL 自带的账号 root 没有远程访问权限,我们可以通过创建新账号并授予权限方式进 行远程访问。
1. 创建新账号
CREATE USER '账号名'@'%' IDENTIFIED BY '密码';
2. 授权
GRANT ALL PRIVILEGES ON *.* TO '账号名'@'%' WITH GRANT OPTION;
3. 刷新
FLUSH PRIVILEGES;
4. 测试
打开 windows 下的 Navicat 进行远程测试
4. redis的安装
1. 安装
下载
wget https://download.redis.io/releases/redis-7.2.1.tar.gz
解压
编译安装
注意:需要在指定目录( redis )下编译安装
[root@localhost redis]# make MALLOC=libc
启动
注意:这里要进入 src 目录下执行命令
[root@localhost src]# ./redis-server ../redis.conf
6. 用户和组
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管 理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另 一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
用户标志符UID与GID
我们登录Linux系统时通常运用用户名,但是Linux系统只识别一组号码,因此该号码与用户名之间存 在对应关系,记录在/etc/passwd文件中,称呼这组号码为UID即用户在系统中的唯一验证符号,同样的 用户组也有用户组名与用户组ID的对应关系也存放在/etc/group文件中,称为GID。
登录系统时系统会去查找这两个文件,只有找到相应的ID之后才会进入到记录密码的文 件/etc/shadow中去核对密码是否正确,进而确认是否可以进入系统。
详解用户配置文件/etc/passwd
1. 账号密码文件/etc/shadow
2. 用户配置文件/ect/group
3. 用户组密码文件/etc/gshadow
7.用户的增删改
用户的新增
当我们执行创建用户操作时,系统会帮助我们修改相应的文件,添加一些信息: 在/etc/passwd文件中创建一行数据,对应的记录账号的UID,GID,账号密码,主文件夹等信息; 在/etc/shadow里面将账号密码的相关参数填入,但是尚未有密码; 在/etc/group里面加入一个与账号名称一模一样的组名; 在/home目录下添加一个与账号同名的子目录作为用户主文件夹,且权限为700;-d情况下不会创建 主目录; 注意:使用useradd -r 指令添加系统用户时不会创建用户的主文件夹,且用户与用户组的UID和GID都小 于500;
用户的修改
用户的删除
用户组的增删改
基本组(私有组)——伴随着用户创建而创建 与用户同名(也可以自己设置) 但创建一个用户的时候必 有其组
附加组(公有组)——直接创建空组,可以添加已有的用户,给组设置权限,该组中所有用户都具备此 权限
用户组的添加
groupadd [-g] [-r] 用户名
-g:设置当前组编号;
-r:新建系统用户组,与/etc/login.defs内的GID_MIN有关,不建议使用
用户组的修改
groupmod [-g gid] [-n group_name] 用户组名
-g:修改既有的GID数字
-n:修改既有的组名;
例如:
#修改xiaozu1的组名是xiaozu2,新的GID是4444
groupmod -g 4444 -n xiaozu2 xiaozu1
用户组的删除
# 只有某个用户组不是用户的初始用户组时才能被删除,也就是说要删除某个用户组,必须确
认/etc/passwd内的账号没# 有任何人使用用户组作为初始用户组。
groupdel 用户组名
8.权限管理
访问权限
读取 r:允许查看文件内容、显示目录列表。
写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录。
可执行 x:允许运行程序、切换目录。
归属
属主:拥有该文件或目录的用户账号。
属组:拥有该文件或目录的组账号。
以demo.tar.gz为例
[root@dailyblue test]# ls -l demo.tar.gz
-rw-r--r--. 1 root root 126 3月 10 16:20 demo.tar.gz
-开头代表普通文件(文件类型:d 目录,- 普通文件,l 链接文件)
文件所有者rw权限 具备读写权限
文件所属组r权限 具备读权限
其他用户r权限 具备读权限
所属用户root
所属组root
文件字节大小 126
创建时间 3月10日 16:20
文件名 demo.tar.gz
更改操作权限
chmod修改文件权限命令(change mode)参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的)
例如:chmod u+x /dailyblue/test/demo.tar.gz #给demo.tar.gz文件所属用户添加x权限
操作权限各项含义
操作对象可以是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+添加某个权限。
-取消某个权限。
=赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
chown命令
chown概述
更改某个文件或目录的属主和属组。
chown语法
chown [选项] 用户或组 文件 - R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。 - v 显示chown命令所做的工作。