跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
Shell / Bashjava

Linux 入门:常用命令、软件安装与项目部署指南

综述由AI生成介绍 Linux 操作系统基础,涵盖系统安装(物理机/虚拟机)、远程连接工具使用及目录结构。详细讲解常用命令,包括目录操作、文件查看、压缩解压、文本编辑(vim)及查找命令。演示了 JDK、MySQL、Nginx 的安装配置与环境变量设置,以及防火墙管理。最后提供了前后端项目的 Linux 部署流程,包括静态资源上传、反向代理配置及 JAR 包后台运行方法。

FrontendX发布于 2026/3/23更新于 2026/5/519K 浏览

一、概述

Linux 是一套免费使用和自由传播的操作系统。

1. 系统安装

(1) Linux 系统分类
  • 内核版:由 Linux 核心团队开发、维护,负责控制硬件(无法直接使用)。
  • 发行版:基于 Linux 内核版进行扩展,由各个厂商开发、维护,有收费版本和免费版本。
(2) 安装方式
  • 物理机安装:直接将操作系统安装到服务器硬件上。
  • 虚拟机安装:通过虚拟机软件安装(如 VMware Workstation、VirtualBox)。
(3) VMware Workstation 安装

官网:https://www.vmware.com/

(4) 虚拟机网络配置

安装完毕后,需要配置网络,以便在 Windows 系统上连接虚拟机上的 Linux 系统。

(5) 挂载镜像

2. 远程连接

(1) 常用工具

SSH(Secure Shell,安全外壳协议) 远程连接工具包括 Putty、SecureCRT、Xshell、FinalShell 等。

(2) FinalShell 下载与安装

FinalShell SSH 工具支持 Windows, macOS, Linux。

3. 目录介绍

(1) 目录特点

Linux 系统中的根目录 / 是所有目录的顶点;目录结构像一颗倒挂的树。

二、Linux 常用命令

Linux 命令格式:command [-options] [parameter]

  • command:命令名
  • [-options]:选项,可选
  • [parameter]:参数,可选

使用技巧:

  • Tab 键自动补全
  • 连续两次 Tab 键,给出操作提示
  • 使用上下箭头快速调出使用过的命令
  • 使用 clear 命令或 Ctrl+l 快捷键实现清屏

1. 目录操作命令

(1) ls 命令
  • 作用:显示指定目录下的内容
  • 语法:ls [-al] [dir]
  • 选项:
    • -a:显示所有文件及目录(. 开头的隐藏目录也会列出)
    • -l:除文件名外,同时将文件类型、权限、拥有者、文件大小等详细信息列出(简写为 ll)
(2) cd 命令
  • 作用:用于切换当前工作目录
  • 语法:cd [dirName]
  • 说明:
  • .:表示目前所在的目录
  • ..:表示目前目录位置的上级目录
  • ~:表示用户的 home 目录
(3) mkdir 命令
  • 作用:创建目录
  • 语法:mkdir [-p] dirName
  • 说明:-p:确保目录名称存在,不存在则创建,可实现多层目录同时创建
(4) rm 命令
  • 作用:删除文件或者目录
  • 语法:rm [-rf] name
  • 说明:
    • -r:将目录及目录中所有文件逐一删除(递归删除)
    • -f:无需确认,直接删除

2. 文件操作命令

(1) cat 命令
  • 作用:用于显示文件的所有内容(适用于小文件)
  • 语法:cat [-n] fileName
  • 说明:-n:由 1 开始对所有输出的行数编号
(2) more 命令
  • 作用:以分页的形式显示文件内容(适用比较大的文件)
  • 语法:more fileName
  • 操作说明:
    • 回车键:向下滚动一行
    • 空格键:向下滚动一屏
    • b:返回上一屏
    • q 或 Ctrl+c:退出
(3) head 命令
  • 作用:查看文件开头的内容
  • 语法:head [-n] fileName
  • 说明:-n 输出文件开头的 n 行内容
(4) tail 命令
  • 作用:查看文件末尾的内容
  • 语法:tail [-nf] fileName
  • 说明:
    • -n:输出文件末尾的 n 行内容
    • -f:动态读取文件末尾内容,通常用于日志文件的内容输出

3. 拷贝移动命令

(1) cp 命令
  • 作用:用于复制文件或目录
  • 语法:cp [-r] source dest
  • 选项:-r:如果复制的目录需要使用此选项,此时将复制该目录下所有的子目录和文件
(2) mv 命令
  • 作用:为文件或目录重命名、或将文件或目录移动到其他位置
  • 语法:mv source dest

4. 打包压缩命令

(1) tar 命令
  • 作用:对文件进行打包、解包、压缩、解压
  • 语法:tar [-zcxvf] fileName [files]
  • 说明:
    • 后缀 .tar 表示只是完成了打包,并没有压缩
    • 后缀 .tar.gz 表示打包的同时还进行了压缩
  • 选项:
    • -z:gzip 处理文件,可以压缩或解压
    • -c:create,创建新的包文件
    • -x:extract,还原文件(与 -c 互斥)
    • -v:verbose,显示命令执行过程
    • -f:file,指定包文件名称
命令说明
tar -cvf wyyzs.tar wyyzs将 wyyzs 目录下所有文件打包,打包后的文件名为 wyyzs.tar
tar -zcvf wyyzs.tar.gz wyyzs将 wyyzs 目录下所有文件打包并压缩,打包后的文件名为 wyyzs.tar.gz
tar -xvf wyyzs.tar将 wyyzs.tar 文件进行解包,并将解包后的文件放在当前目录
tar -zxvf wyyzs.tar.gz将 wyyzs.tar.gz 文件进行解压,并将解压后的文件放在当前目录
tar -zxvf wyyzs.tar.gz -C /usr/local将 wyyzs.tar.gz 文件进行解压,解压后的文件放在 /usr/local 目录中

5. 文本编辑命令

(1) vi / vim 命令
  • 作用:vi 是 Linux 系统提供的文本编辑功能,类似于 Windows 中的记事本。vim 是从 vi 发展来的功能更强大的文本编辑工具。
  • 语法:vi fileName
  • 说明:要使用 vim 命令,可以通过 yum install vim 安装。
(2) vim 命令操作
  • 命令模式指令:
    • gg:定位到文本内容的第一行
    • G:定位到文本内容的最后一行
    • dd:删除光标所在行的数据
    • ndd:删除当前光标所在行及之后 n 行的数据
    • u:撤销操作
    • i 或 a 或 o:进入插入模式
  • 底行模式命令:
    • :wq:保存并退出
    • :q!:不保存退出
    • :set nu:显示行号
    • :set nonu:取消显示行号
    • :n:定位到第 n 行

6. 查找命令

(1) find 命令
  • 作用:在指定目录下查找文件
  • 语法:find dirName -option fileName(-option 最常用为 -name 根据文件名查找)
  • 示例:
    • find . -name "*.txt":在当前目录及其子目录下查找.txt 结尾的文件
    • find /wyyzs -name ".txt":在/wyyzs 目录及其子目录下查找.txt 结尾的文件
(2) grep 命令
  • 作用:从指定文件中查找指定的文本内容
  • 语法:grep [-inAB] word fileName
  • 选项:
    • -i:忽略大小写
    • -n:显示关键字所在的行号
    • -A:输出关键字所在行及之后的几行记录
    • -B:输出关键字所在行及之前的几行记录
  • 示例:
    • grep hello HelloWord.java:查找 HelloWord.java 文件中 hello 字符串的位置
    • grep hello *.java:查找当前目录中所有.java 结尾的文件中包含 hello 字符串的位置

三、Linux 软件安装

  1. 二进制发布包安装:软件已经针对具体平台编译打包发布,修改配置即可
  2. rpm 安装:使用 rpm 命令进行安装,不能自行解决库依赖问题
  3. yum 安装:在线安装方式,自动下载安装包并安装,自动解决库依赖问题
  4. 源码编译安装:软件以源码工程的形式发布,需要自己编辑打包

1. 安装 JDK

(1) 下载 Linux 版本的 JDK

官网:https://www.oracle.com/cn/java/technologies/downloads/

(2) 上传安装包

使用 FinalShell 自带的上传工具将 JDK 的二进制发布包上传到 Linux。

(3) 解压安装包
tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local
(4) 配置环境变量

使用 vim 命令修改 /etc/profile 文件,在文件末尾加入以下配置:

export JAVA_HOME=/usr/local/jdk-21.0.9
export PATH=$JAVA_HOME/bin:$PATH
(5) 重新加载 profile 文件
source /etc/profile
(6) 检查安装是否成功
java -version

2. 安装 MySQL

(1) 下载 Linux 版本的安装包

官网:https://dev.mysql.com/downloads/mysql/

(2) 卸载 Linux 系统中自带的 mysql/mariadb 安装包
  • 查找:rpm -qa | grep mariadb
  • 卸载:rpm -e -nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
(3) 上传下载的 MySQL 安装包
(4) 解压安装包
tar -zxvf mysql.tar.gz -C /usr/local
(5) 配置环境变量

编辑 /etc/profile,追加内容:

export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
(6) 注册 MySQL 为系统服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
(7) 初始化数据库
  • 创建用户组:groupadd mysql
  • 创建系统用户:useradd -r -g mysql -s /bin/false mysql
  • 初始化 mysql:
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

初始化完毕后,日志中会输出 MySQL 的 root 用户的临时密码。

(8) 启动服务登录 MySQL
  • 启动:systemctl start mysql
  • 登录:mysql -uroot -p
(9) 配置 MySQL 的 root 用户的密码,授权远程访问
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
CREATE USER 'root'@'%' IDENTIFIED BY '1234';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

3. Linux 防火墙

  1. 查看状态:systemctl status firewalld 或 firewall-cmd --state
  2. 关闭防火墙:systemctl stop firewalld
  3. 开启防火墙:systemctl start firewalld
  4. 永久关闭防火墙:systemctl disable firewalld
  5. 开放指定端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent
  6. 关闭指定端口:firewall-cmd --zone=public --remove-port=8080/tcp --permanent
  7. 立即生效:firewall-cmd --reload
  8. 查看开放的端口:firewall-cmd --zone=public --list-ports

注意:

  1. systemctl 是管理 Linux 中服务的命令。
  2. firewall-cmd 是 Linux 中专门用于控制防火墙的命令。
  3. 为了保证系统安全,生产服务器的防火墙不建议关闭。

4. 安装 Nginx

(1) 下载 nginx 安装包

官网:https://nginx.org/en/download.html

(2) 安装依赖
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
(3) 上传 nginx 的资源包
(4) 解压资源包
(5) 配置

进入解压后的目录,执行命令:

./configure --prefix=/usr/local/nginx
(6) 编译
make
(7) 安装
make install
(8) 启动

进入 nginx 安装目录 /usr/local/nginx,启动 nginx 服务:

sbin/nginx

四、Linux 项目部署

1. 前端项目部署

(1) 上传静态资源

将前端打包好的静态资源,上传到 Nginx 的 html 目录中。

(2) 配置 Nginx 配置文件

在 conf/nginx.conf 中配置反向代理服务器及路径重写规则:

server {
    listen 80;
    server_name localhost;
    client_max_body_size 10m;
    location / {
        root html;
        index index.html index.htm;
        try_files $uri $uri/ /index.html;
    }
    location ^~ /api/ {
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass http://localhost:8080;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root html;
    }
}
(3) 启动 Nginx 服务

在 nginx 的安装目录中,执行 sbin 目录下的 nginx 命令:

  • 未启动时:sbin/nginx
  • 已启动时:sbin/nginx -s reload

2. 后端项目部署

(1) 打包项目

执行 Maven 的父工程中的 package 生命周期,对项目进行打包。

(2) 上传 JAR 包

在 linux 服务器的 /usr/local 目录下,创建一个目录,将 jar 包上传到新建的目录下。

(3) 运行 JAR 包
java -jar xxxxxx.jar
(4) 后台运行服务

使用 nohup 指令,后台运行服务:

nohup java -jar xxxxxxx.jar > app.log &
(5) 查看进程
ps -ef | grep xxxx

Linux 中的特殊符号:

  • |:管道符。将前面命令的输出,作为后面命令的输入。
  • > 与 >>:重定向符号。> 覆盖重定向,>> 追加重定向。

目录

  1. 一、概述
  2. 1. 系统安装
  3. (1) Linux 系统分类
  4. (2) 安装方式
  5. (3) VMware Workstation 安装
  6. (4) 虚拟机网络配置
  7. (5) 挂载镜像
  8. 2. 远程连接
  9. (1) 常用工具
  10. (2) FinalShell 下载与安装
  11. 3. 目录介绍
  12. (1) 目录特点
  13. 二、Linux 常用命令
  14. 1. 目录操作命令
  15. (1) ls 命令
  16. (2) cd 命令
  17. (3) mkdir 命令
  18. (4) rm 命令
  19. 2. 文件操作命令
  20. (1) cat 命令
  21. (2) more 命令
  22. (3) head 命令
  23. (4) tail 命令
  24. 3. 拷贝移动命令
  25. (1) cp 命令
  26. (2) mv 命令
  27. 4. 打包压缩命令
  28. (1) tar 命令
  29. 5. 文本编辑命令
  30. (1) vi / vim 命令
  31. (2) vim 命令操作
  32. 6. 查找命令
  33. (1) find 命令
  34. (2) grep 命令
  35. 三、Linux 软件安装
  36. 1. 安装 JDK
  37. (1) 下载 Linux 版本的 JDK
  38. (2) 上传安装包
  39. (3) 解压安装包
  40. (4) 配置环境变量
  41. (5) 重新加载 profile 文件
  42. (6) 检查安装是否成功
  43. 2. 安装 MySQL
  44. (1) 下载 Linux 版本的安装包
  45. (2) 卸载 Linux 系统中自带的 mysql/mariadb 安装包
  46. (3) 上传下载的 MySQL 安装包
  47. (4) 解压安装包
  48. (5) 配置环境变量
  49. (6) 注册 MySQL 为系统服务
  50. (7) 初始化数据库
  51. (8) 启动服务登录 MySQL
  52. (9) 配置 MySQL 的 root 用户的密码,授权远程访问
  53. 3. Linux 防火墙
  54. 4. 安装 Nginx
  55. (1) 下载 nginx 安装包
  56. (2) 安装依赖
  57. (3) 上传 nginx 的资源包
  58. (4) 解压资源包
  59. (5) 配置
  60. (6) 编译
  61. (7) 安装
  62. (8) 启动
  63. 四、Linux 项目部署
  64. 1. 前端项目部署
  65. (1) 上传静态资源
  66. (2) 配置 Nginx 配置文件
  67. (3) 启动 Nginx 服务
  68. 2. 后端项目部署
  69. (1) 打包项目
  70. (2) 上传 JAR 包
  71. (3) 运行 JAR 包
  72. (4) 后台运行服务
  73. (5) 查看进程
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 使用U盘离线部署GLM-4.6V-Flash-WEB视觉模型
  • LeetCode 合并区间算法详解与 Python 实现
  • Pencil.dev:AI 驱动的开发设计工具安装与使用指南
  • AI 大模型助力专利翻译,妙算翻译亮相国际论坛
  • Python 实现中秋月相计算、月饼切分与可视化
  • LLaMA 大模型微调实践与 LoRA 调优经验
  • Python 汽车销售大屏数据分析可视化系统设计与实现
  • AI 产品经理面试高频 100 题及核心解析
  • ROS 基于 v4l2loopback 虚拟摄像头的 YOLO 目标检测与机器人控制
  • Diffusion Transformer (DiT) 架构解析:从图像生成到机器人动作预测
  • 自动化批量挖掘 SRC 漏洞实战指南
  • Python FastAPI 入门实战:从环境搭建到核心功能详解
  • 从三年前端到 CS 硕士:韩国留学复盘与前端回归之路
  • Springboot 整合 Java DL4J 打造自然语言处理之智能写作助手
  • Z-Image-Turbo 云端 AI 绘画一键部署指南
  • Node.js 最新安装教程及环境变量配置
  • Java 类加载机制详解
  • CMake 核心概念与实战指南
  • Windows 平台 Qwen1.5 大模型部署指南
  • Cursor+Codex 截图调试前端 Bug 实战(React/Chakra UI 案例)

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online