无题
Linux 从入门到项目部署完全指南
本文整合了Linux教程的Word文档与PPT核心内容,构建结构化知识体系,涵盖Linux基础、常用命令、软件安装及项目部署全流程,适用于学习笔记和教学文档,兼顾实用性与易懂性。
一、Linux概述
1.1 什么是Linux
Linux是一套免费使用、自由传播的操作系统,与Windows、MacOS并列主流操作系统,广泛应用于服务器领域。作为JavaEE开发工程师,Linux是部署数据库(MySQL)、中间件(Redis、MQ)及项目的核心环境,其基础使用是必备技能。
1.2 主流操作系统分类
| 领域 | 代表系统 | 特点 |
|---|---|---|
| 桌面操作系统 | Windows、MacOS、Linux | Windows用户最多,MacOS体验佳,Linux用户少 |
| 服务器操作系统 | Unix、Linux、Windows Server | Linux安全稳定且免费,占有率最高 |
| 移动设备操作系统 | Android、iOS、HarmonyOS | Android基于Linux开源,iOS闭源 |
| 嵌入式操作系统 | Linux(嵌入式版本) | 轻量化、适配嵌入式硬件 |
1.3 Linux系统版本
-
内核版:由Linus Torvalds团队开发维护,免费开源,负责控制硬件。
-
发行版:基于内核扩展,厂商维护,分收费/免费版本,常用发行版包括:
-
Ubuntu:桌面应用为主,免费
-
RedHat:企业级,收费
-
CentOS:RedHat社区版,免费(推荐学习使用)
-
Fedora:功能完备,快速更新,免费
-
红旗Linux:国内厂商开发
-
1.4 系统安装
1.4.1 安装方式
| 安装方式 | 概述 | 适用场景 |
|---|---|---|
| 物理机安装 | 直接安装到服务器硬件 | 企业生产环境 |
| 虚拟机安装 | 通过虚拟机软件模拟硬件环境安装 | 学习阶段(推荐使用VMware) |
1.4.2 虚拟机安装步骤(VMware)
-
下载并安装VMware(课程资料提供安装包,已安装则无需重复)。
-
配置虚拟网络:打开VMware→编辑→虚拟网络编辑器,选择NAT模式,设置子网IP为
192.168.100.0,应用并确定。 -
挂载Linux镜像:解压CentOS7镜像到无中文目录,双击
.vmx文件用VMware打开。 -
启动虚拟机:选择“我已移动该虚拟机”,登录用户名
root,密码1234(Linux输入密码不显示)。
1.5 远程连接工具
1.5.1 工具介绍
SSH(Secure Shell)是远程连接Linux的安全协议,常用工具:FinalShell、Putty、Xshell,课程推荐FinalShell(免费且功能全面)。
1.5.2 FinalShell连接步骤
-
安装FinalShell(课程资料提供安装包,双击默认安装)。
-
新建SSH连接:主机
192.168.100.128,端口22,用户名root,密码1234。 -
双击连接:连接成功后即可通过FinalShell操作Linux。
1.6 Linux目录结构
核心特点
-
根目录
/是所有目录的顶点,目录结构呈倒挂树状。 -
与Windows的盘符(C盘、D盘)结构不同,Linux无盘符概念。
主要目录功能
| 目录 | 功能描述 |
|---|---|
/bin |
存放二进制可执行文件(普通用户可执行) |
/sbin |
存放系统管理二进制文件(仅root可执行) |
/etc |
存放系统配置文件 |
/home |
普通用户主目录 |
/root |
超级用户(root)主目录 |
/usr |
存放系统应用程序 |
/var |
存放动态数据(如日志文件) |
/tmp |
存放临时文件 |
/boot |
存放系统引导相关文件 |
二、Linux常用命令
2.1 命令基础
-
格式:
command [-options] [parameter]-
command:命令名(如ls、cd) -
[-options]:命令选项(可选,如-l、-a) -
[parameter]:命令参数(可选,如目录名、文件名)
-
-
使用技巧:
-
Tab键自动补全命令/路径
-
连续两次Tab键显示操作提示
-
上下箭头快速调用历史命令
-
clear或Ctrl+l清屏
-
2.2 目录操作命令
2.2.1 ls(列出目录内容)
-
作用:显示指定目录下的文件和目录
-
语法:
ls [-al] [dir] -
选项:
-
-a:显示所有文件(含隐藏文件,以.开头) -
-l:显示详细信息(文件类型、权限、大小等),简写为ll
-
-
示例:
-
ls -al:查看当前目录所有文件详细信息 -
ls -al /etc:查看/etc目录所有文件详细信息
-
2.2.2 cd(切换目录)
-
作用:切换当前工作目录
-
语法:
cd [dirName] -
特殊符号:
-
~:用户主目录(root用户为/root) -
.:当前目录 -
..:上级目录
-
-
示例:
-
cd ..:切换到上级目录 -
cd ~:切换到主目录 -
cd /usr/local:切换到指定目录
-
2.2.3 mkdir(创建目录)
-
作用:创建目录
-
语法:
mkdir [-p] dirName -
选项:
-p:递归创建多层目录(父目录不存在则自动创建) -
示例:
-
mkdir itcast:创建单层目录 -
mkdir -p itcast/test:创建多层目录
-
2.2.4 rm(删除文件/目录)
-
作用:删除文件或目录
-
语法:
rm [-rf] name -
选项:
-
-r:递归删除(用于目录) -
-f:强制删除(无需确认)
-
-
示例:
-
rm -f 1.txt:强制删除文件 -
rm -rf itcast/:强制删除目录及所有内容(谨慎使用!)
-
2.3 文件操作命令
2.3.1 cat(查看文件内容)
-
作用:显示文件全部内容
-
语法:
cat [-n] fileName -
选项:
-n:显示行号 -
示例:
cat -n /etc/profile:查看文件并显示行号
2.3.2 more(分页查看文件)
-
作用:分页显示大文件内容
-
语法:
more fileName -
操作:
-
回车键:向下滚动一行
-
空格键:向下滚动一屏
-
b:返回上一屏 -
q/Ctrl+C:退出
-
-
示例:
more /etc/profile:分页查看文件
2.3.3 head/tail(查看文件首尾)
-
head:查看文件开头-
语法:
head [-n] fileName(默认前10行,-n指定行数) -
示例:
head -20 1.log:查看前20行
-
-
tail:查看文件结尾-
语法:
tail [-n/-f] fileName -
选项:
-f:动态监控文件(常用于日志) -
示例:
tail -f /var/log/messages:动态查看日志
-
2.4 拷贝移动命令
2.4.1 cp(复制文件/目录)
-
作用:复制文件或目录
-
语法:
cp [-r] source dest -
选项:
-r:复制目录(含子目录和文件) -
示例:
-
cp 1.txt itcast/:复制文件到目录 -
cp -r itcast/ itheima/:复制目录
-
2.4.2 mv(移动/重命名)
-
作用:移动文件/目录或重命名
-
语法:
mv source dest -
规则:若
dest是已存在目录则移动,否则重命名 -
示例:
-
mv 1.txt 2.txt:重命名文件 -
mv 2.txt itcast/:移动文件到目录
-
2.5 打包压缩命令(tar)
-
作用:打包、解包、压缩、解压
-
语法:
tar [-zcxvf] fileName [files] -
选项说明:
-
-z:通过gzip压缩/解压 -
-c:创建包文件 -
-x:解包/解压 -
-v:显示执行过程 -
-f:指定包文件名
-
-
示例:
-
打包:
tar -cvf itcast.tar itcast/(仅打包,无压缩) -
打包压缩:
tar -zcvf itcast.tar.gz itcast/(.tar.gz格式) -
解压:
tar -zxvf itcast.tar.gz(解压到当前目录) -
指定目录解压:
tar -zxvf itcast.tar.gz -C /usr/local
-
2.6 文本编辑命令(vim)
2.6.1 安装vim
- 语法:
yum install vim(CentOS默认未安装,执行后输入y确认)
2.6.2 vim三种模式及操作
| 模式 | 进入方式 | 核心操作 |
|---|---|---|
| 命令模式 | 打开文件默认进入 | 移动光标(gg到首行、G到尾行)、删除(dd删行、ndd删n行)、撤销(u) |
| 插入模式 | 命令模式按i/a/o |
编辑文件内容,按ESC返回命令模式 |
| 底行模式 | 命令模式按:或/ |
:wq保存退出、:q!强制退出、:set nu显示行号、/关键字查找内容 |
- 示例:
vim /etc/profile:打开文件→i编辑→ESC→:wq保存退出
2.7 查找命令
2.7.1 find(查找文件)
-
作用:按文件名查找文件/目录
-
语法:
find dirName -option fileName -
示例:
-
find . -name "*.java":当前目录及子目录查找.java文件 -
find /usr -name "*.txt":/usr目录及子目录查找.txt文件
-
2.7.2 grep(查找文件内容)
-
作用:查找文件中指定关键字
-
语法:
grep [-inAB] word fileName -
选项:
-
-i:忽略大小写 -
-n:显示行号 -
-A5:显示关键字行及后5行 -
-B5:显示关键字行及前5行
-
-
示例:
grep -n "spring" application.yml:查找文件中含spring的行并显示行号
三、Linux软件安装
3.1 安装方式分类
| 安装方式 | 特点 | 适用场景 |
|---|---|---|
| 二进制发布包 | 已编译打包,解压+配置即可使用 | JDK、Tomcat等 |
| rpm安装 | 红帽标准包,无法自动解决依赖 | 简单软件安装 |
| yum安装 | 在线安装,自动解决依赖(需联网) | 系统工具、依赖库 |
| 源码编译安装 | 需编译打包,灵活性高 | Nginx、自定义软件 |
3.2 安装JDK(二进制发布包)
-
上传安装包:通过FinalShell将
jdk-17.0.10_linux-x64_bin.tar.gz上传到/root目录。 -
解压到指定目录:
tar -zxvf jdk-17.0.10_linux-x64_bin.tar.gz -C /usr/local/。 -
配置环境变量:
-
编辑配置文件:
vim /etc/profile -
末尾添加:
1
-
生效配置:
source /etc/profile
-
-
验证安装:
java -version(显示版本号则成功)
3.3 安装MySQL(二进制发布包)
3.3.1 准备工作(卸载冲突软件)
-
查找冲突软件:
rpm -qa | grep mariadb(CentOS默认自带) -
卸载冲突软件:
rpm -e --nodeps 软件名(如mariadb-libs-5.5.60-1.el7_5.x86_64)
3.3.2 安装步骤
-
上传并解压:将
mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz上传到/root,解压后移动到/usr/local/mysql:1
-
配置环境变量:
-
编辑
/etc/profile,末尾添加:1
-
生效配置:
source /etc/profile
-
-
注册系统服务:
1
-
初始化数据库:
1
- 记录初始化日志中的临时密码(如
1bR3oPP-DUut)
- 记录初始化日志中的临时密码(如
3.3.3 启动与配置MySQL
-
启动服务:
systemctl start mysql -
登录MySQL:
mysql -uroot -p临时密码 -
修改密码+授权远程访问:
1
-
防火墙配置(开放3306端口):
1
3.4 安装Nginx(源码编译安装)
-
安装依赖:
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel -
上传并解压:将
nginx-1.20.2.tar.gz上传到/root,解压:tar -zxvf nginx-1.20.2.tar.gz -
编译配置:
1
-
编译安装:
1
-
启动Nginx:
1
-
验证:浏览器访问
192.168.100.128,显示“Welcome to nginx!”则成功
四、项目部署
4.1 前端项目部署(Nginx)
-
清理默认资源:删除
/usr/local/nginx/html目录下的默认文件(50x.html、index.html)。 -
上传前端资源:将前端打包后的静态资源(assets、index.html等)上传到
/usr/local/nginx/html。 -
配置Nginx反向代理:
-
编辑配置文件:
vim /usr/local/nginx/conf/nginx.conf -
替换server节点配置:
1
-
-
重启Nginx:
/usr/local/nginx/sbin/nginx -s reload -
访问测试:浏览器输入
192.168.100.128,正常显示前端页面则成功
4.2 后端项目部署(SpringBoot)
4.2.1 环境准备
-
修改项目配置:编辑
application.yml,配置Linux上的MySQL信息:1
-
打包项目:通过Maven执行
package命令(跳过测试),生成jar包(如tlias-web-management-0.0.1-SNAPSHOT.jar)。
4.2.2 部署步骤
-
上传jar包:通过FinalShell将jar包上传到Linux的
/usr/local/app目录(无目录则创建:mkdir -p /usr/local/app)。 -
配置阿里云OSS环境变量(若项目使用OSS):
1
-
后台运行项目:
1
-
nohup:后台运行(关闭终端不停止) -
&> tlias.log:日志输出到tlias.log文件
-
-
查看运行状态:
-
查看进程:
ps -ef | grep tlias -
停止服务:
kill -9 进程ID -
查看日志:
tail -f tlias.log
-
4.2.3 访问测试
- 前端页面操作接口,或直接访问后端接口(如
http://192.168.100.128/api/emp/list),返回正常数据则部署成功。
五、常用工具与命令汇总
5.1 Nginx常用命令
1 |
5.2 防火墙常用命令
1 |
5.3 服务管理命令
1 |
要不要我帮你整理一份Linux命令速查手册(含所有核心命令的语法、选项、示例),方便你随时查阅使用?
(注:文档部分内容可能由 AI 生成)
