Linux(超级详细)

Linux(超级详细)_第1张图片
个人相关ip信息
image.png

Linux简介

不同应用领域的主流操作系统

  • 桌面操作系统
    • windows
    • Mac OS
    • Linux
  • 服务器OS
    • UNIX
    • Linux
    • Windows Server
  • 移动设备
    • Android
    • ios
  • 嵌入式操作系统
    • Linux(交换机等)

Linux发展历史和系统版本

Linux(超级详细)_第2张图片
Linux(超级详细)_第3张图片
Linux(超级详细)_第4张图片

  • 企业级应用:RHEL/CentOS
  • 桌面平台:Ubuntu
  • 开源服务器:CentOS

现如今我们一般称 Linux 为 GNU/Linux。
Linux 实际上只是⼀个内核,这正是 GNU 系统的⼀个重要空⽩,⽽ GNU 系统也为 Linux 内核提供了⾮常多且必要的系统组件,⼈们把 Linux 和GNU 系统结合起来组成⼀个完整的⾃由系统——⼀个带有 Linux 的 GNU 系统。换句话说,就是 GNU/Linux 系统。
GNU 的含义就很宽泛了:
可以指代操作系统——GNU 操作系统
可以指代软件——GNU 软件
可以指代为了完成这个操作系统⽽发起的庞⼤的⼯程——GNU ⼯程
或者是想要完成 GNU 系统/⼯程⽽聚集在⼀起的⼀帮⼈——GNU 组织
甚⾄ GNU 是⼀种精神或者信仰
Linux 发行线路图 GitHub 地址:https://github.com/FabioLolix/LinuxTimeLine/releases

Linux安装

安装方式

  • 物理机安装
  • 虚拟机安装

Linux(超级详细)_第5张图片
安装

  1. 安装VMWare
  2. 安装CentOS镜像

网卡设置
Linux(超级详细)_第6张图片
Linux(超级详细)_第7张图片
安装SSH连接工具
Linux(超级详细)_第8张图片
Linux(超级详细)_第9张图片

Linux 的文件系统

万事万物皆文件

文件系统:操作系统如何管理文件,内部定义了一些规则或者定义。在 Linux 中所有的东西都是以文件的方式进行操作,在 Linux 中,文件的访问和 Window 的不一样。Window 依靠的是通过盘符进行访问,而 Linux 维护着一个树状结构的文件模型,只有一个根节点,他的名字叫做 / ,一个节点上可以有多个子节点。
Linux(超级详细)_第10张图片

Linux常用命令

Linux 命令在线查询:https://www.linuxcool.com/

Linux(超级详细)_第11张图片
Linux(超级详细)_第12张图片
Linux(超级详细)_第13张图片
Linux(超级详细)_第14张图片
Linux(超级详细)_第15张图片
Linux(超级详细)_第16张图片
Linux(超级详细)_第17张图片
Linux(超级详细)_第18张图片
Linux(超级详细)_第19张图片
Linux(超级详细)_第20张图片
Linux(超级详细)_第21张图片
Linux(超级详细)_第22张图片
Linux(超级详细)_第23张图片
Linux(超级详细)_第24张图片
Linux(超级详细)_第25张图片
Linux(超级详细)_第26张图片
Linux(超级详细)_第27张图片
Linux(超级详细)_第28张图片
Linux(超级详细)_第29张图片
Linux(超级详细)_第30张图片

  • 命令模式:每一个按键都有其具体的功能。
  • 编辑模式:输入什么就是什么。
  • 底行(命令行)模式:保存文件或对文件中的指定内容执行查找或替换等操作。

Linux(超级详细)_第31张图片
Linux(超级详细)_第32张图片

文件操作命令小结
cd 改变当前工作目录
ls / ll 显示指定目录下所有文件
mkdir 创建文件目录
rmdir 删除空文件夹
cp 拷贝文件或文件目录
mv 移动文件或文件夹
rm 删除
touch 没有就新建一个
stat 查看文件状态
读取文件信息小结
cat 一次性显示整个文档(load到内存),除非接管道,传递数据
tac 和上一样,逆序显示
more less 分页查看
head 从头开始读
tail 从末尾读
find 查找指定文件
Linux的系统进程
// 进程信息
ps -ef 
    UID 所属用户
    PID 当前进程编号
    PPID 当前进程编号的父进程编号

ps -ef | grep redis

ps -aux 所有信息

top 当前服务器内存使用率


// 后台进程 只需要在命令的后面添加一个 & 符号即可将进程切换为后台执行

    //杀死进程 kill -9 17599
Linux软件安装

Linux(超级详细)_第33张图片

rpm 命令来自于英文语句 “RedHat Package Manager” 的缩写,中文译为红帽软件包管理器,其功能是用于在Linux/RedHat 系列系统下对软件包进行安装、卸载、查询、验证、升级等工作
[root@node01 ~]# rpm [选项] 软件包

 yum 命令是基于 RPM 的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理 RPM 软件包,能够从指定
的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下
载、安装。
  yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。该命令基本格式如下:
[root@node01 ~]# yum [选项]     

Linux(超级详细)_第34张图片
Linux(超级详细)_第35张图片
Linux(超级详细)_第36张图片
Linux(超级详细)_第37张图片
Linux(超级详细)_第38张图片
Linux(超级详细)_第39张图片
Linux(超级详细)_第40张图片
Linux(超级详细)_第41张图片
Linux(超级详细)_第42张图片

// 安装 MySQL 数据库

// MySQL 的下载地址:https://downloads.mysql.com/archives/community/

# 安装 MySQL 依赖
yum -y install perl net-tools openssl-devel
# 卸载 mariadb
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
# 安装 MySQL
tar -xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.18-1.el7.x86_64.rpm
# 启动 MySQL
systemctl start mysqld
# 查找密码并登陆 MySQL
cat /var/log/mysqld.log | grep password
mysql -u root -p
# 修改 MySQL 密码
SET GLOBAL validate_password.policy = low;
SET GLOBAL validate_password.length = 6;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# 允许远程用户登录访问 MySQL
USE mysql;
UPDATE user SET host = '%' WHERE user = 'root';
COMMIT;
FLUSH PRIVILEGES;
EXIT;
# 接下来即可使用 Navicat 等客户端工具连接 MySQL

Linux(超级详细)_第43张图片

项目部署
  1. 手工部署

Linux(超级详细)_第44张图片
Linux(超级详细)_第45张图片
③启动SpringBoot程序 java -jar helloworld-1.0-snapshop.jar
Linux(超级详细)_第46张图片
Linux(超级详细)_第47张图片
Linux(超级详细)_第48张图片

  1. shell脚本自动部署

Linux(超级详细)_第49张图片
Linux(超级详细)_第50张图片
Linux(超级详细)_第51张图片
Linux(超级详细)_第52张图片
Linux(超级详细)_第53张图片
Linux(超级详细)_第54张图片
Linux(超级详细)_第55张图片
Linux(超级详细)_第56张图片
Linux(超级详细)_第57张图片
Linux(超级详细)_第58张图片

[CentOS7.6] 的下载安装 (保姆级讲解)

CentOS 7 生命周期到 2024 年 6 月 30 日:
Linux 官网:https://linux.org/
Linux 下载页面:https://linux.org/pages/download/
CentOS 下载地址:https://wiki.centos.org/Download
阿里云 CentOS 镜像站:https://mirrors.aliyun.com/centos-vault/
CentOS7.6 下载地址:http://vault.centos.org/7.6.1810/

Linux(超级详细)_第59张图片
安装镜像文件版本解析:

  • DVD.iso:标准安装版
  • Everything.iso:完整版,集成所有软件
  • Minimal.iso:最小安装版,自带的软件最少,用什么装什么(学习阶段我们使用这个镜像)
  • NetInstall.iso:网络安装镜像,联网进行安装,可自行选择需要安装的软件
  • LiveGNOME.iso:GNOME 桌面版
  • LiveKDE.iso:KDE 桌面版
  • LiveCD.iso:光盘上运行的系统,类拟于 Windows PE

虚拟机安装与配置

Linux(超级详细)_第60张图片
本文使用 Windows 10 操作系统安装 VMware Workstation 16 来进行讲解。鼠标双击下载好的 VMware-workstation-full-16.1.0-17198959.exe 文件,然后按以下步骤完成安装:
Linux(超级详细)_第61张图片
勾选我接收许可协议中的条款,点击下一步。
Linux(超级详细)_第62张图片
根据个人习惯自定义安装位置,点击下一步。
Linux(超级详细)_第63张图片
使用破解版,把下面两个选项都取消勾选,点击下一步。
Linux(超级详细)_第64张图片
自行选择是否创建快捷方式,点击下一步。
Linux(超级详细)_第65张图片
点击安装,耐心等待。
Linux(超级详细)_第66张图片
image.png
点击许可证,这里需要输入密钥。
Linux(超级详细)_第67张图片
输入密钥后点击输入即可。
Linux(超级详细)_第68张图片
最后点击完成退出安装向导,整个安装流程结束。
Linux(超级详细)_第69张图片
安装完成后第一时间检查网络连接是否有 VMnet1 和 VMnet8 ,如果没有卸载虚拟机清理注册表并重新安装。
Linux(超级详细)_第70张图片
接下来,打开虚拟机软件,点击 编辑 → 首选项 修改虚拟机默认创建位置:
Linux(超级详细)_第71张图片
Linux(超级详细)_第72张图片

创建虚拟机

创建虚拟机前请先检查电脑是否开启虚拟化。打开任务管理器,在性能选项中查看虚拟化信息。如果没开启需要进入BIOS 系统进行开启(不同类型的电脑进入方式不同),这方面内容请自行搜索。
Linux(超级详细)_第73张图片
接下来,请按以下流程完成虚拟机创建。
Linux(超级详细)_第74张图片
点击自定义,定制化安装虚拟机。
Linux(超级详细)_第75张图片
选择硬件兼容性,可以调整是否向下兼容,本文就使用默认值了。
Linux(超级详细)_第76张图片
选择刚才下载好的 CentOS7 镜像文件。
Linux(超级详细)_第77张图片
根据个人习惯修改虚拟机创建位置并填写虚拟机名称。
Linux(超级详细)_第78张图片
根据需求设置虚拟机处理器数量。
image.png
根据需求设置虚拟机内存大小。
Linux(超级详细)_第79张图片
选择 NAT 网络模式。
Linux(超级详细)_第80张图片
选择 IO 控制器类型,默认即可。
Linux(超级详细)_第81张图片
选择磁盘类型,默认即可。
Linux(超级详细)_第82张图片
选择创建新虚拟磁盘。
Linux(超级详细)_第83张图片
设置最大磁盘大小,暂时使用 100G。这里并不是马上分配 100G 出去,而是用多少分多少,最大上限
100G,所以切记不要勾选立即分配所有磁盘空间,否则会立刻将物理磁盘 100G 分配给该虚拟机。
Linux(超级详细)_第84张图片
设置虚拟磁盘名称,默认即可。
Linux(超级详细)_第85张图片
点击完成,虚拟机创建结束。
Linux(超级详细)_第86张图片

安装虚拟机

选择刚才创建好的虚拟机,点击开启此虚拟机。
Linux(超级详细)_第87张图片
底部提示信息直接关闭即可,然后点击屏幕用键盘上下键切换至 Install CentOS 7 ,回车。
Linux(超级详细)_第88张图片
接下来耐心等待虚拟机初始化,直到出现选择语言界面,选择英文并点击 Continue 。
Linux(超级详细)_第89张图片
点击 DATE & TIME 设置时区和时间,后面通过命令也可以实现修改
Linux(超级详细)_第90张图片
设置完成后点击 Done 返回。
Linux(超级详细)_第91张图片
点击 INSTALLATION DESTINATION 设置硬盘分区。
Linux(超级详细)_第92张图片
选择自定义分区并点击 Done 开始设置。
Linux(超级详细)_第93张图片
点击 + 号开始设置分区。
Linux(超级详细)_第94张图片
引导分区 /boot 设置 256M 并点击 Add mount point 进行添加。
Linux(超级详细)_第95张图片
交换分区 swap 设置 2G 并点击 Add mount point 进行添加。
Linux(超级详细)_第96张图片
然后选择 / 并点击 Add mount point 将剩余所有空间分配给 / 分区。
Linux(超级详细)_第97张图片
分区设置完成后点击 Done 。
Linux(超级详细)_第98张图片
点击 Accept Changes 接受修改内容。
Linux(超级详细)_第99张图片
接下来点击 Begin Installation 开启安装。
Linux(超级详细)_第100张图片
安装时可通过 ROOT PASSWORD 给虚拟机设置密码。
Linux(超级详细)_第101张图片
设置密码后点击 Done 返回安装界面,耐心等待安装。
Linux(超级详细)_第102张图片
USER CREATION 用于创建用户,我们暂时不创建,使用默认用户 root 即可。后期可通过命令创建用户-组-权限等
Linux(超级详细)_第103张图片
直到出现以下界面,表示虚拟机安装完成,点击 Reboot 重启虚拟机。
Linux(超级详细)_第104张图片
输入默认用户 root 与密码回车登入虚拟机。注意:考虑到安全问题,输入密码时是不会显示在屏幕上的。
Linux(超级详细)_第105张图片

配置虚拟机

网络

首先打开虚拟机的虚拟网络编辑器,查看 NAT 设置中的 IP 段和网关信息。
Linux(超级详细)_第106张图片
NAT 设置中的 IP 段和网关信息如下。
Linux(超级详细)_第107张图片
然后输入以下命令打开网络配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-ens33

注意:切记不要手动输入,使用 Tab 键自动补齐,因为有的人是 ifcfg-ens33 有的是 ifcfg-ens32 防止出错。

原文件内容如下:
Linux(超级详细)_第108张图片

TYPE=Ethernet     # 网卡类型(通常是 Ethernet 以太网)
PROXY_METHOD=none   # 代理方式:为关闭状态
BROWSER_ONLY=no    # 只是浏览器:否
BOOTPROTO=static   # 网卡的引导协议(static:静态IP dhcp:动态IP none:不指定,不指定容易出现各种各样的网络受限)
DEFROUTE=yes     # 默认路由
IPV4_FAILURE_FATAL=no # 是否开启 IPV4 致命错误检测
IPV6INIT=yes     # IPV6 是否自动初始化:是(现在还未用到 IPV6,不会有任何影响)
IPV6_AUTOCONF=yes   # IPV6 是否自动配置:是
IPV6_DEFROUTE=yes   # IPV6 是否可以为默认路由:是
IPV6_FAILURE_FATAL=no # 是否开启 IPV6 致命错误检测
IPV6_ADDR_GEN_MODE=stable-privacy # IPV6 地址生成模型
    NAME=ens33      # 网卡物理设备名称
UUID=070892f0-514c-46c5-8593-c379854dcce1 # 通用唯一识别码,每一个网卡都会有,不能重复,否则两台 Linux 机器只有一台可上网
DEVICE=ens33     # 网卡设备名称,必须和‘NAME’的值一样
ONBOOT=yes      # 是否开机启动网络,要想网卡开机就启动或通过`systemctl restart network`控制网卡,必须设置为 yes
IPADDR=192.168.88.100 # 本机 IP
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.88.2 # 默认网关
DNS1=192.168.88.2   # DNS 服务器
DNS2=114.114.114.114  # DNS 服务器
DNS3=8.8.8.8      # DNS 服务器

我们只需要修改 2 行,删除 1 行,新增 6 行即可。首先 i 键进入编辑模式,然后开始编辑文件
修改

  • ``ONBOOT=yes (是否开机启动网络)
  • BOOTPROTO=static (使用静态网络 IP,就是自己手动设置)

删除
UUID=xxxxx 每一个网卡都会有,不能重复,否则两台 Linux 机器只有一台可上网

新增:

IPADDR=192.168.88.100
NETMASK=255.255.255.0
GATEWAY=192.168.88.2
DNS1=192.168.88.2
DNS2=114.114.114.114
DNS3=8.8.8.8

文件操作完毕后 Esc 退出编辑模式,然后 : 进入底行模式 :wq 保存并退出文件。
然后输入以下命令重启网络:
systemctl restart network
然后 ping 一下百度(其它也行,比如京东),如果出现以下效果则表示网络配置成功(Ctrl + C 终止 ping 命令的执行)
Linux(超级详细)_第109张图片

防火墙

防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。

查看防火墙状态

systemctl status firewalld

本次服务内关闭防火墙(重启虚拟机后会自动开启)

systemctl stop firewalld

启动防火墙

systemctl start firewalld

重启防火墙

systemctl restart firewalld

禁用防火墙服务

systemctl disable firewalld

SELINUX

SELinux 是「Security-Enhanced Linux」的简称,是美国国家安全局「NSA=The National Security Agency」 和SCC(Secure Computing Corporation)开发的 Linux 的一个扩张强制访问控制安全模块。

使用以下命令打开 SELinux 的配置文件:
vi /etc/selinux/config
修改 SELinux=disabled ,然后 :wq 保存并退出。

关闭虚拟机

可以通过以下命令关闭虚拟机:

  • halt :相当于直接拔掉电源,不推荐。
  • poweroff :直接关闭机器,但是有可能当前虚拟机有其他用户正在使用,不推荐。
  • shutdown -h now :马上关闭计算机 ,但是会给其他用户发送消息,推荐。
  • reboot :重启虚拟机

快照与克隆

可以通过拍摄快照记录当前虚拟机的状态,以防出问题时可以及时还原。虚拟机运行时也可以拍摄快照,只不过速度
会非常慢,且运行时虚拟机也会不停的产生数据,为了防止数据丢失或出错,建议关闭虚拟机后再拍摄快照。
Linux(超级详细)_第110张图片

后期可通过快照管理器选择回到某一个历史快照的节点。

Linux(超级详细)_第111张图片
除此之外,还可以通过克隆复制虚拟机的当前状态或某一个历史快照节点。
Linux(超级详细)_第112张图片
Linux(超级详细)_第113张图片
克隆又分为链接克隆和完整克隆:
Linux(超级详细)_第114张图片
完整克隆

  • 就是基于原始节点完全拷贝到新节点的文件夹中
  • 优点:耦合性抵
  • 缺点:硬盘空间使用大
  • 推荐使用完整克隆

链接克隆 (当前节点文件夹只存储差异性数据, 相同数据存放在原始节点上, 可节省硬盘空间, 耦合性大)

移除虚拟机

可以通过右键虚拟机→移除来移除此虚拟机,但是这种方式只是将虚拟机从 VMware 界面中移除而并非从磁盘上删除。
Linux(超级详细)_第115张图片
如果要从磁盘上删除虚拟机,使用以下方式或自行找到虚拟机存储在磁盘上的位置并进行删除。
Linux(超级详细)_第116张图片

连接虚拟机

  • Xshell:负责向虚拟机输入命令
  • Xftp:负责向虚拟机传输文件

写在最后 : 本文仅用作个人复习

你可能感兴趣的:(Linux,linux,服务器,运维)