Linux新手入门必看:常用软件安装与运维保姆级指南,看完直接上手
很多新手接触Linux时,都会陷入同一个困境:看懂教程命令,自己实操必翻车。要么软件安装报错、要么服务启动失败、要么不知道如何日常维护、出错后无从排查。不同于Windows可视化点点操作,Linux以命令行为核心、以服务运维为重点,看似门槛高,实则有固定的操作逻辑和标准化流程,只要掌握核心规则,零基础也能快速上手。
本文是专为Linux新手打造的保姆级全流程指南,全程无废话、纯实操、步骤细化到每一条命令、每一个报错解决方案。全文聚焦新手刚需:从Linux核心基础认知、系统环境适配、两大主流包管理工具(APT/YUM)精讲,到开发、运维、网络、数据库等高频软件的完整安装、配置、启动、卸载流程,再到日常运维、日志排查、系统优化、安全防护、常见报错解决全覆盖。
无论你是学生入门学习、职场新人运维实操、个人服务器搭建,看完本文,均可独立完成Linux软件部署与日常运维工作,无需再翻阅零散教程,真正实现看完即懂、复制即用、上手就会。本文总字数超12000字,可收藏作为Linux新手常备工具书。
很多新手操作失误、安装报错,根源都是基础认知缺失。在学习软件安装和运维之前,必须掌握核心前置知识,这是后续所有操作的基石,彻底避免低级错误。
1.1 主流Linux系统版本区别(新手必懂)
Linux发行版众多,但新手和职场运维仅需掌握两大派系,不同系统对应的软件安装命令、包管理工具完全不同,命令不通用、选错直接报错。
1.1.1 Debian/Ubuntu派系(APT工具)
代表系统:Ubuntu 20.04/22.04/24.04、Debian 10/11/12、树莓派系统
核心特点:界面友好、适配性强、开源生态丰富、新手首选,个人服务器、开发机、桌面端使用最多。
专属包管理工具:apt / apt-get(本文全程主推apt,语法更简洁、功能更全面)
1.1.2 CentOS/RHEL派系(YUM/DNF工具)
代表系统:CentOS 7/8、Rocky Linux、AlmaLinux、RedHat
核心特点:稳定性极强、企业服务器标配、运维生态成熟,生产环境90%服务器均使用该派系。
专属包管理工具:yum(CentOS7)、dnf(CentOS8+)
1.1.3 新手选型建议
个人学习、本地虚拟机、开发测试:优先选择Ubuntu 22.04 LTS(长期支持、bug最少、教程适配度最高)
企业服务器、生产环境运维:优先选择CentOS7 / Rocky Linux9(稳定无冗余)
1.2 核心权限认知:root与普通用户
Linux是权限严格分级的系统,90%安装报错都是权限不足。
1.2.1 root超级管理员
系统最高权限账号,拥有所有操作权限,可修改系统所有文件、安装卸载软件、修改系统配置。
终端标识:命令行末尾为#
切换root命令:sudo su(Ubuntu)、su(CentOS)
1.2.2 普通用户
默认创建的日常账号,权限受限,无法直接修改系统文件、安装系统级软件。
终端标识:命令行末尾为$
权限提升:所有系统级操作前加sudo,临时获取管理员权限
1.2.3 新手禁忌
禁止长期使用root账号操作!容易误删系统文件、篡改核心配置,导致系统崩溃。日常使用普通用户,需要运维操作时临时加sudo即可。
1.3 终端核心规则(新手必记)
1.命令严格区分大小写:Linux系统大小写完全不同,Apt和apt、NGINX和nginx是完全不同的命令,输入错误直接提示command not found。
2.空格不可省略:命令、参数、路径之间必须有空格,如sudoapt是错误命令,必须写sudo apt。
3.Tab键自动补全:输入命令、文件路径前几个字符,按Tab键可自动补全,避免拼写错误,新手一定要养成习惯。
4.快捷键必备:Ctrl+C 终止当前执行命令、Ctrl+L 清空终端屏幕、上下箭头调取历史命令。
5.注释规则:命令中#后面的内容为注释,系统不会执行,本文所有带#的内容均为讲解说明,无需输入。
1.4 系统基础初始化(新装系统必做)
新装Linux系统后,第一步必须完成初始化更新,否则会出现软件找不到、依赖缺失、安装失败等问题。
1.4.1 Ubuntu/Debian 初始化更新
# 更新本地软件源索引(同步官方最新软件列表)sudoaptupdate# 升级所有已安装软件包(修复漏洞、更新依赖)sudoaptupgrade-y# 安装基础依赖工具(后续所有软件安装必备)sudoaptinstall-ywgetcurlvimnet-toolsunzipzip1.4.2 CentOS/Rocky Linux 初始化更新
# 更新软件源与系统软件sudoyum update-y# 安装基础依赖工具sudoyuminstall-ywgetcurlvimnet-toolsunzipzip执行完成后,系统基础环境搭建完毕,后续所有软件安装均可正常进行。
Linux所有软件安装、更新、卸载、依赖修复,全部依赖包管理工具。新手不用纠结源码编译,99%场景使用系统自带包管理即可,高效、稳定、无报错。本章详解两大主流包管理工具的完整用法,覆盖新手所有运维场景。
2.1 APT工具完整教程(Ubuntu/Debian专属)
APT是Ubuntu官方标配包管理工具,语法简洁、自动解决依赖,是新手最优选择,替代老旧的apt-get。
2.1.1 核心基础命令
# 1. 更新软件源索引(每次安装新软件前建议执行)sudoaptupdate# 2. 安装软件(通用格式)sudoaptinstall软件名-y# -y 参数:自动确认安装,无需手动输入y确认,节省时间# 3. 安装指定版本软件sudoaptinstallnginx=1.18.0-0ubuntu1-y# 4. 搜索软件(不确定软件名时使用)aptsearch nginx# 5. 查看软件详细信息(版本、依赖、介绍)aptshow nginx2.1.2 卸载软件两种模式(重点区分)
很多新手卸载软件不彻底,导致重装报错,必须区分两种卸载方式:
# 1. 普通卸载:删除软件程序,保留配置文件(适合后续重装)sudoaptremove 软件名-y# 2. 彻底卸载:删除程序+所有配置文件+缓存数据(彻底清空)sudoaptpurge 软件名-y# 3. 清理无用依赖(卸载软件后必执行,释放磁盘空间)sudoaptautoremove-ysudoaptclean2.1.3 高级实用技巧
# 锁定软件版本,禁止自动升级(避免新版本兼容报错)sudoapt-mark hold 软件名# 解锁软件版本,恢复自动升级sudoapt-mark unhold 软件名# 查看所有已锁定软件apt-mark showhold2.2 YUM/DNF工具完整教程(CentOS专属)
CentOS7使用yum,CentOS8+使用dnf(语法完全兼容),企业运维必备,稳定性极强。
2.2.1 核心基础命令
# 1. 安装软件sudoyuminstall软件名-y# 2. 搜索软件yum search 软件名# 3. 查看软件信息yum info 软件名# 4. 升级指定软件yum update 软件名-y# 5. 升级系统所有软件yum update-y2.2.2 卸载与清理命令
# 卸载软件(保留配置)yum remove 软件名-y# 彻底卸载(删除配置)yum erase 软件名-y# 清理缓存yum clean all# 查看已安装软件yum list installed|grep软件名2.3 三种软件安装方式对比(新手必懂)
Linux软件安装分为三种方式,新手优先使用前两种,无需接触复杂源码编译。
| 安装方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 包管理器安装(APT/YUM) | 一键安装、自动解决依赖、稳定、易运维、可直接启停服务 | 软件版本可能不是最新 | 99%日常运维、服务器部署 |
| 压缩包安装(Zip/Tar) | 版本自由选择、无需依赖系统源 | 需手动配置环境变量、手动注册服务 | 需指定新版软件、特殊版本部署 |
| 源码编译安装 | 可自定义配置、最新版本、极致适配 | 操作复杂、依赖多、易报错、运维难度大 | 高级定制、企业特殊需求 |
本章讲解Linux运维、开发必备基础工具,所有工具均为刚需,新装系统必须安装,全程复制命令即可完成部署。
3.1 Vim编辑器(系统默认代码/配置编辑器)
Vim是Linux核心编辑器,所有配置文件修改、代码编写都依赖它,系统默认预装,若未预装可手动安装。
3.1.1 安装命令
# Ubuntu/Debiansudoaptinstall-yvim# CentOS/Rockysudoyuminstall-yvim3.1.2 新手极简使用教程
1. 打开文件:vim 文件名(文件不存在则新建)
2. 进入编辑模式:按下i键,左下角出现INSERT即可输入内容
3. 退出编辑模式:按下Esc键
4. 保存退出:输入:wq回车
5. 不保存强制退出:输入:q!回车
3.1.3 基础配置优化(新手友好)
修改Vim全局配置,开启行号、自动缩进、语法高亮,告别空白编辑器:
# 打开全局配置文件sudovim/etc/vim/vimrc# 在文件末尾添加以下配置setnu# 显示行号setautoindent# 自动缩进setsyntax=on# 语法高亮settabstop=4# Tab键等于4个空格setsofttabstop=4保存退出后,重启终端即可生效。
3.2 网络工具(网络排查、文件传输必备)
net-tools、curl、wget是网络运维核心工具,用于查看IP、测试网络、下载文件、排查网络故障。
3.2.1 安装命令
# Ubuntu/Debiansudoaptinstall-ynet-toolscurlwget# CentOS/Rockysudoyuminstall-ynet-toolscurlwget3.2.2 高频使用命令
# 查看服务器IP地址、网卡信息ifconfig# 测试网络连通性(测试能否联网)pingwww.baidu.com# 从网络下载文件wget文件链接# 模拟网页访问,测试服务是否正常curl网址/接口地址3.3 解压压缩工具(ZIP/UNZIP)
Linux日常下载的软件包、压缩文件均需该工具解压,新装系统默认没有,必须手动安装。
3.3.1 安装命令
# Ubuntu/Debiansudoaptinstall-yzipunzip# CentOS/Rockysudoyuminstall-yzipunzip3.3.2 常用解压/压缩命令
# 解压zip文件unzip文件名.zip# 压缩文件为zipzip压缩包名.zip 待压缩文件/文件夹# 解压tar.gz文件(Linux最常用压缩格式)tar-zxvf文件名.tar.gzWeb服务是Linux运维核心场景,本章详解Nginx、Apache两大主流Web服务器的完整安装、配置、启停、开机自启、卸载流程,适配网站部署、反向代理、静态资源访问等场景。
4.1 Nginx 保姆级安装与运维(新手首选Web服务)
Nginx轻量、稳定、并发能力强,是目前主流Web服务器,用于搭建网站、反向代理、负载均衡、静态资源托管。
4.1.1 一键安装(全程自动解决依赖)
# Ubuntu/Debiansudoaptupdatesudoaptinstall-ynginx# CentOS/Rockysudoyuminstall-ynginx4.1.2 核心运维命令(必记)
Linux所有系统服务均通过systemctl管理,Nginx也不例外,掌握以下命令即可完成全运维:
# 查看Nginx运行状态sudosystemctl status nginx# 启动Nginx服务sudosystemctl start nginx# 停止Nginx服务sudosystemctl stop nginx# 重启Nginx(修改配置后必执行)sudosystemctl restart nginx# 设置开机自启(服务器重启后自动运行)sudosystemctlenablenginx# 关闭开机自启sudosystemctl disable nginx4.1.3 验证安装是否成功
安装完成后,在浏览器输入服务器IP地址,若出现Nginx默认欢迎页面,代表安装成功。
本地验证命令:curl localhost,返回默认页面代码即为正常。
4.1.4 核心配置文件路径(新手必记)
主配置文件:/etc/nginx/nginx.conf
站点配置目录:/etc/nginx/sites-available/
默认网站根目录:/var/www/html/
4.1.5 彻底卸载Nginx
# 停止服务sudosystemctl stop nginx# 彻底卸载(删除配置+程序)sudoaptpurge nginx-y# Ubuntusudoyum erase nginx-y# CentOS# 清理残留依赖sudoaptautoremove-ysudoyum clean all4.2 Apache Web服务安装与运维
Apache是经典Web服务器,适配PHP项目、静态网站部署,生态成熟、兼容性极强。
4.2.1 安装命令
# Ubuntu/Debiansudoaptinstall-yapache2# CentOS/Rockysudoyuminstall-yhttpd4.2.2 服务运维命令
# Ubuntu 运维命令sudosystemctl start/stop/restart/status apache2sudosystemctl enable/disable apache2# CentOS 运维命令sudosystemctl start/stop/restart/status httpdsudosystemctl enable/disable httpd4.2.3 默认配置路径
主配置文件:/etc/apache2/apache2.conf(Ubuntu)、/etc/httpd/conf/httpd.conf(CentOS)
网站根目录:/var/www/html/
数据库是项目开发、数据存储核心,本章详解MySQL、Redis两大主流数据库的保姆级安装、配置、开机自启、远程连接、密码修改、卸载全流程,新手零报错部署。
5.1 MySQL 关系型数据库完整部署
MySQL是最常用的关系型数据库,适配Java、Python、PHP等所有开发项目,稳定、开源、易运维。
5.1.1 安装MySQL服务
# Ubuntu/Debian 安装MySQL服务sudoaptupdatesudoaptinstall-ymysql-server# CentOS/Rocky 安装MySQLsudoyuminstall-ymysql-server5.1.2 基础运维命令
# 启停、重启、状态查看sudosystemctl start/stop/restart/status mysql# 设置开机自启sudosystemctlenablemysql5.1.3 安全配置(新手必做,解决空密码、远程无法连接)
新装MySQL默认无密码、禁止远程连接,必须执行安全配置:
# 执行安全初始化配置sudomysql_secure_installation按照提示依次操作:开启密码验证、设置root密码、删除匿名用户、禁止远程root登录、删除测试数据库、刷新权限。
5.1.4 远程连接配置(实操刚需)
默认MySQL仅支持本地连接,需要远程工具连接需开启权限:
# 登录MySQLsudomysql# 授权root用户远程连接(替换自定义密码)GRANT ALL PRIVILEGES ON *.* TO'root'@'%'IDENTIFIED BY'你的密码'WITH GRANT OPTION;# 刷新权限FLUSH PRIVILEGES;# 退出exit;5.1.5 彻底卸载MySQL
# 停止服务sudosystemctl stop mysql# 彻底卸载sudoaptpurge mysql-server-y# Ubuntusudoyum erase mysql-server-y# CentOS# 清理残留数据sudoaptautoremove-ysudorm-rf/etc/mysql /var/lib/mysql5.2 Redis 内存数据库保姆级部署
Redis是高性能内存数据库,用于缓存、限流、会话存储、消息队列,运维简单、性能极高,后端开发必备。
5.2.1 一键安装
# Ubuntu/Debiansudoaptinstall-yredis-server# CentOS/Rockysudoyuminstall-yredis5.2.2 运维命令与状态验证
# 服务运维sudosystemctl start/stop/restart/status redissudosystemctlenableredis# 验证是否启动成功redis-cliping# 返回 PONG 即为正常5.2.3 开启远程连接、设置密码
1. 编辑配置文件:sudo vim /etc/redis/redis.conf
2. 注释本地绑定:# bind 127.0.0.1 ::1
3. 关闭保护模式:protected-mode no
4. 设置连接密码:requirepass 自定义密码
5. 重启服务生效:sudo systemctl restart redis
本章详解Java、Python、Node.js三大主流开发环境的Linux部署教程,适配项目开发、代码运行、依赖管理,全程标准化安装,解决环境变量配置难题。
6.1 JDK Java环境安装
Java项目运行必备环境,推荐安装开源OpenJDK,无需破解、稳定适配所有项目。
6.1.1 安装OpenJDK11(长期支持版本)
# Ubuntu/Debiansudoaptinstall-yopenjdk-11-jdk# CentOS/Rockysudoyuminstall-yjava-11-openjdk-devel6.1.2 验证环境
java-versionjavac-version输出版本信息即为安装成功,环境变量自动配置,无需手动修改。
6.2 Python3 环境安装与配置
Linux系统默认预装Python3,但版本老旧,可通过包管理器安装最新稳定版,搭配pip依赖工具使用。
6.2.1 安装Python3与pip
# Ubuntu/Debiansudoaptinstall-ypython3 python3-pip# CentOS/Rockysudoyuminstall-ypython3 python3-pip6.2.2 常用运维命令
# 查看Python版本python3-V# 查看pip版本pip3-V# 安装第三方依赖pip3install依赖包名# 批量安装项目依赖pip3install-rrequirements.txt6.3 Node.js 前端/后端环境安装
适配Vue、React前端打包、Node后端项目运行,安装稳定版,配套npm包管理工具。
6.3.1 安装命令
# Ubuntu/Debiansudoaptinstall-ynodejsnpm# CentOS/Rockysudoyuminstall-ynodejsnpm6.3.2 基础使用命令
# 查看版本node-vnpm-v# 安装项目依赖npminstall# 全局安装工具npminstall-g工具名软件安装只是基础,运维才是Linux核心。本章讲解新手必须掌握的日常运维技能:服务管理、日志查看、磁盘内存监控、进程管理、开机自启配置、防火墙配置,覆盖99%日常运维场景。
7.1 Systemctl 服务管理终极用法
所有Linux系统服务(Nginx、MySQL、Redis等)均由systemctl统一管理,核心命令通用,一通百通。
# 通用模板:systemctl 操作 服务名sudosystemctl start 服务名# 启动服务sudosystemctl stop 服务名# 停止服务sudosystemctl restart 服务名# 重启服务sudosystemctl status 服务名# 查看运行状态sudosystemctlenable服务名# 开机自启sudosystemctl disable 服务名# 关闭开机自启sudosystemctl is-active 服务名# 判断服务是否运行sudosystemctl is-enabled 服务名# 判断是否开机自启7.2 系统资源监控(排查卡顿、服务异常)
服务器卡顿、服务掉线、运行缓慢,均需通过资源监控排查问题,以下为新手必备监控命令。
7.2.1 内存/CPU监控
# 实时查看进程、CPU、内存占用(top交互式界面)top# 简洁查看内存使用情况free-h7.2.2 磁盘空间监控
# 查看磁盘整体使用情况df-h# 查看当前文件夹占用空间du-sh新手重点:磁盘占用100%会导致软件无法运行、日志报错、服务启动失败,需定期清理无用文件、日志缓存。
7.3 进程管理(杀死异常进程、释放资源)
软件卡死、端口占用、服务重启失败,大多是进程残留导致,需手动管理进程。
# 查找指定进程ps-ef|grep进程名# 根据端口查找进程(排查端口占用)sudolsof-i:端口号# 杀死异常进程(PID为进程ID)kill-9PID7.4 日志查看与故障排查
Linux所有报错、服务异常都会记录在日志中,会看日志=会排查80%故障。
7.4.1 系统日志
Ubuntu:/var/log/syslog
CentOS:/var/log/messages
7.4.2 服务专属日志
Nginx日志:/var/log/nginx/
MySQL日志:/var/log/mysql/
7.4.3 日志查看常用命令
# 实时滚动查看日志(排查实时报错必备)tail-f日志文件路径# 查看最后100行日志tail-n100日志文件路径# 搜索日志关键词报错grep"关键词"日志文件路径7.5 防火墙配置(安全防护核心)
Linux默认开启防火墙,未放行端口会导致外网无法访问网站、数据库、服务,新手必须掌握端口放行操作。
7.5.1 Ubuntu 防火墙(ufw)
# 开启防火墙sudoufwenable# 放行指定端口(例:80、443、3306)sudoufw allow80/tcpsudoufw allow443/tcpsudoufw allow3306/tcp# 查看已放行端口sudoufw status# 关闭端口sudoufw deny 端口号7.5.2 CentOS 防火墙(firewalld)
# 放行端口sudofirewall-cmd--permanent--add-port=80/tcp# 重载防火墙生效sudofirewall-cmd--reload# 查看所有放行端口sudofirewall-cmd --list-ports汇总新手安装软件、日常运维中99%会遇到的报错,附带一键解决方案,无需百度,直接复制修复。
8.1 权限不足报错 Permission denied
报错原因:普通用户无操作权限
解决方案:命令前加sudo提升权限,或修改文件权限
# 赋予文件最高权限(新手临时解决方案)sudochmod777文件路径# 赋予文件夹递归权限sudochmod-R777文件夹路径8.2 命令不存在 Command not found
报错原因:软件未安装、命令拼写错误、环境变量未配置
解决方案:1. 检查命令大小写拼写;2. 使用apt/yum search搜索软件名重新安装;3. 配置环境变量。
8.3 端口被占用 Address already in use
报错原因:当前启动的服务端口已被其他进程占用
解决方案:查找占用进程并杀死重启服务
# 查找占用端口进程sudolsof-i:端口号# 杀死进程kill-9进程ID# 重启服务sudosystemctl restart 服务名8.4 软件安装依赖报错 Dependency error
报错原因:系统依赖缺失、软件源缓存异常
解决方案:更新软件源、修复依赖
# Ubuntu 修复依赖sudoaptupdatesudoapt-finstall# CentOS 修复依赖sudoyum clean allsudoyum update8.5 服务启动失败 Job failed to start
报错原因:配置文件语法错误、端口占用、磁盘满、权限不足
解决方案:优先查看日志排查具体报错
# 查看服务详细报错日志sudosystemctl status 服务名-l掌握安装和基础运维后,做好系统优化和规范运维,可大幅提升服务器稳定性,减少故障概率,适合新手长期使用。
9.1 定期系统更新与清理
每周执行一次系统维护,清理缓存、更新安全补丁:
# Ubuntu 一键维护sudoaptupdate&&sudoaptupgrade-y&&sudoaptautoremove-y&&sudoaptclean# CentOS 一键维护sudoyum update-y&&yum clean all9.2 开机自启管理规范
仅将刚需服务设置开机自启(Nginx、MySQL、Redis),无用服务关闭自启,减少系统资源占用:
# 查看所有开机自启服务systemctl list-unit-files--type=service|grepenabled9.3 磁盘空间定期清理
重点清理日志文件、无用压缩包、缓存文件,避免磁盘爆满:
# 清理系统日志缓存sudojournalctl --vacuum-size=100M# 清理apt缓存sudoaptclean9.4 新手运维禁忌(必看)
1. 禁止随意修改/etc下的系统核心配置文件,修改前务必备份原文件。
2. 禁止直接删除/root、/etc、/usr等系统目录文件,极易导致系统崩溃。
3. 禁止长期使用root账号操作,避免误操作风险。
4. 服务配置修改后,先检查语法再重启,避免服务启动失败。
5. 新装服务务必放行防火墙端口,否则外网无法访问。
10.1 核心知识总结
本文从零搭建Linux新手完整技能体系,覆盖基础认知→包管理工具→常用软件安装→服务运维→故障排查→系统优化全流程。新手只需记住核心逻辑:Linux所有软件通过APT/YUM安装,所有服务通过systemctl管理,所有报错通过日志排查,所有权限问题加sudo解决。
10.2 新手7天实操学习路线
第1天:掌握系统区别、权限认知、终端基础规则、初始化系统
第2天:精通APT/YUM包管理工具,熟练安装、卸载、更新软件
第3天:部署Vim、网络工具、解压工具等基础环境
第4天:部署Nginx、Apache Web服务,掌握站点基础配置
第5天:部署MySQL、Redis数据库,实现远程连接与基础配置
第6天:搭建Java、Python、Node.js开发环境,测试代码运行
第7天:熟练系统监控、进程管理、日志排查、防火墙配置,解决高频报错
10.3 写在最后
Linux入门没有想象中复杂,核心在于标准化操作、熟记核心命令、规范运维习惯。本文摒弃晦涩理论,全部采用实操落地内容,所有命令均可直接复制使用,所有问题均有对应解决方案。新手无需死记硬背,实操多练、遇到报错对照本文排查,一周即可独立完成Linux日常运维工作,彻底摆脱新手小白身份。
本文可长期收藏,作为Linux运维常备工具书,后续会持续更新更多软件部署、高级运维、服务器安全优化内容。
