Linux新手入门必看:常用软件安装与运维保姆级指南,看完直接上手

19 阅读20分钟

很多新手接触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 初始化更新

# 更新本地软件源索引(同步官方最新软件列表)
sudo apt update

# 升级所有已安装软件包(修复漏洞、更新依赖)
sudo apt upgrade -y

# 安装基础依赖工具(后续所有软件安装必备)
sudo apt install -y wget curl vim net-tools unzip zip

1.4.2 CentOS/Rocky Linux 初始化更新

# 更新软件源与系统软件
sudo yum update -y

# 安装基础依赖工具
sudo yum install -y wget curl vim net-tools unzip zip

执行完成后,系统基础环境搭建完毕,后续所有软件安装均可正常进行。

Linux所有软件安装、更新、卸载、依赖修复,全部依赖包管理工具。新手不用纠结源码编译,99%场景使用系统自带包管理即可,高效、稳定、无报错。本章详解两大主流包管理工具的完整用法,覆盖新手所有运维场景。

2.1 APT工具完整教程(Ubuntu/Debian专属)

APT是Ubuntu官方标配包管理工具,语法简洁、自动解决依赖,是新手最优选择,替代老旧的apt-get。

2.1.1 核心基础命令

# 1. 更新软件源索引(每次安装新软件前建议执行)
sudo apt update

# 2. 安装软件(通用格式)
sudo apt install 软件名 -y
# -y 参数:自动确认安装,无需手动输入y确认,节省时间

# 3. 安装指定版本软件
sudo apt install nginx=1.18.0-0ubuntu1 -y

# 4. 搜索软件(不确定软件名时使用)
apt search nginx

# 5. 查看软件详细信息(版本、依赖、介绍)
apt show nginx

2.1.2 卸载软件两种模式(重点区分)

很多新手卸载软件不彻底,导致重装报错,必须区分两种卸载方式:

# 1. 普通卸载:删除软件程序,保留配置文件(适合后续重装)
sudo apt remove 软件名 -y

# 2. 彻底卸载:删除程序+所有配置文件+缓存数据(彻底清空)
sudo apt purge 软件名 -y

# 3. 清理无用依赖(卸载软件后必执行,释放磁盘空间)
sudo apt autoremove -y
sudo apt clean

2.1.3 高级实用技巧

# 锁定软件版本,禁止自动升级(避免新版本兼容报错)
sudo apt-mark hold 软件名

# 解锁软件版本,恢复自动升级
sudo apt-mark unhold 软件名

# 查看所有已锁定软件
apt-mark showhold

2.2 YUM/DNF工具完整教程(CentOS专属)

CentOS7使用yum,CentOS8+使用dnf(语法完全兼容),企业运维必备,稳定性极强。

2.2.1 核心基础命令

# 1. 安装软件
sudo yum install 软件名 -y

# 2. 搜索软件
yum search 软件名

# 3. 查看软件信息
yum info 软件名

# 4. 升级指定软件
yum update 软件名 -y

# 5. 升级系统所有软件
yum update -y

2.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/Debian
sudo apt install -y vim

# CentOS/Rocky
sudo yum install -y vim

3.1.2 新手极简使用教程

1. 打开文件:vim 文件名(文件不存在则新建)

2. 进入编辑模式:按下 i 键,左下角出现INSERT即可输入内容

3. 退出编辑模式:按下 Esc

4. 保存退出:输入 :wq 回车

5. 不保存强制退出:输入 :q! 回车

3.1.3 基础配置优化(新手友好)

修改Vim全局配置,开启行号、自动缩进、语法高亮,告别空白编辑器:

# 打开全局配置文件
sudo vim /etc/vim/vimrc

# 在文件末尾添加以下配置
set nu          # 显示行号
set autoindent  # 自动缩进
set syntax=on   # 语法高亮
set tabstop=4   # Tab键等于4个空格
set softtabstop=4

保存退出后,重启终端即可生效。

3.2 网络工具(网络排查、文件传输必备)

net-tools、curl、wget是网络运维核心工具,用于查看IP、测试网络、下载文件、排查网络故障。

3.2.1 安装命令

# Ubuntu/Debian
sudo apt install -y net-tools curl wget

# CentOS/Rocky
sudo yum install -y net-tools curl wget

3.2.2 高频使用命令

# 查看服务器IP地址、网卡信息
ifconfig

# 测试网络连通性(测试能否联网)
ping www.baidu.com

# 从网络下载文件
wget 文件链接

# 模拟网页访问,测试服务是否正常
curl 网址/接口地址

3.3 解压压缩工具(ZIP/UNZIP)

Linux日常下载的软件包、压缩文件均需该工具解压,新装系统默认没有,必须手动安装。

3.3.1 安装命令

# Ubuntu/Debian
sudo apt install -y zip unzip

# CentOS/Rocky
sudo yum install -y zip unzip

3.3.2 常用解压/压缩命令

# 解压zip文件
unzip 文件名.zip

# 压缩文件为zip
zip 压缩包名.zip 待压缩文件/文件夹

# 解压tar.gz文件(Linux最常用压缩格式)
tar -zxvf 文件名.tar.gz

Web服务是Linux运维核心场景,本章详解Nginx、Apache两大主流Web服务器的完整安装、配置、启停、开机自启、卸载流程,适配网站部署、反向代理、静态资源访问等场景。

4.1 Nginx 保姆级安装与运维(新手首选Web服务)

Nginx轻量、稳定、并发能力强,是目前主流Web服务器,用于搭建网站、反向代理、负载均衡、静态资源托管。

4.1.1 一键安装(全程自动解决依赖)

# Ubuntu/Debian
sudo apt update
sudo apt install -y nginx

# CentOS/Rocky
sudo yum install -y nginx

4.1.2 核心运维命令(必记)

Linux所有系统服务均通过systemctl管理,Nginx也不例外,掌握以下命令即可完成全运维:

# 查看Nginx运行状态
sudo systemctl status nginx

# 启动Nginx服务
sudo systemctl start nginx

# 停止Nginx服务
sudo systemctl stop nginx

# 重启Nginx(修改配置后必执行)
sudo systemctl restart nginx

# 设置开机自启(服务器重启后自动运行)
sudo systemctl enable nginx

# 关闭开机自启
sudo systemctl disable nginx

4.1.3 验证安装是否成功

安装完成后,在浏览器输入服务器IP地址,若出现Nginx默认欢迎页面,代表安装成功。

本地验证命令:curl localhost,返回默认页面代码即为正常。

4.1.4 核心配置文件路径(新手必记)

主配置文件:/etc/nginx/nginx.conf

站点配置目录:/etc/nginx/sites-available/

默认网站根目录:/var/www/html/

4.1.5 彻底卸载Nginx

# 停止服务
sudo systemctl stop nginx

# 彻底卸载(删除配置+程序)
sudo apt purge nginx -y  # Ubuntu
sudo yum erase nginx -y  # CentOS

# 清理残留依赖
sudo apt autoremove -y
sudo yum clean all

4.2 Apache Web服务安装与运维

Apache是经典Web服务器,适配PHP项目、静态网站部署,生态成熟、兼容性极强。

4.2.1 安装命令

# Ubuntu/Debian
sudo apt install -y apache2

# CentOS/Rocky
sudo yum install -y httpd

4.2.2 服务运维命令

# Ubuntu 运维命令
sudo systemctl start/stop/restart/status apache2
sudo systemctl enable/disable apache2

# CentOS 运维命令
sudo systemctl start/stop/restart/status httpd
sudo systemctl enable/disable httpd

4.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服务
sudo apt update
sudo apt install -y mysql-server

# CentOS/Rocky 安装MySQL
sudo yum install -y mysql-server

5.1.2 基础运维命令

# 启停、重启、状态查看
sudo systemctl start/stop/restart/status mysql

# 设置开机自启
sudo systemctl enable mysql

5.1.3 安全配置(新手必做,解决空密码、远程无法连接)

新装MySQL默认无密码、禁止远程连接,必须执行安全配置:

# 执行安全初始化配置
sudo mysql_secure_installation

按照提示依次操作:开启密码验证、设置root密码、删除匿名用户、禁止远程root登录、删除测试数据库、刷新权限。

5.1.4 远程连接配置(实操刚需)

默认MySQL仅支持本地连接,需要远程工具连接需开启权限:

# 登录MySQL
sudo mysql

# 授权root用户远程连接(替换自定义密码)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

# 刷新权限
FLUSH PRIVILEGES;

# 退出
exit;

5.1.5 彻底卸载MySQL

# 停止服务
sudo systemctl stop mysql

# 彻底卸载
sudo apt purge mysql-server -y  # Ubuntu
sudo yum erase mysql-server -y  # CentOS

# 清理残留数据
sudo apt autoremove -y
sudo rm -rf /etc/mysql /var/lib/mysql

5.2 Redis 内存数据库保姆级部署

Redis是高性能内存数据库,用于缓存、限流、会话存储、消息队列,运维简单、性能极高,后端开发必备。

5.2.1 一键安装

# Ubuntu/Debian
sudo apt install -y redis-server

# CentOS/Rocky
sudo yum install -y redis

5.2.2 运维命令与状态验证

# 服务运维
sudo systemctl start/stop/restart/status redis
sudo systemctl enable redis

# 验证是否启动成功
redis-cli ping
# 返回 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/Debian
sudo apt install -y openjdk-11-jdk

# CentOS/Rocky
sudo yum install -y java-11-openjdk-devel

6.1.2 验证环境

java -version
javac -version

输出版本信息即为安装成功,环境变量自动配置,无需手动修改。

6.2 Python3 环境安装与配置

Linux系统默认预装Python3,但版本老旧,可通过包管理器安装最新稳定版,搭配pip依赖工具使用。

6.2.1 安装Python3与pip

# Ubuntu/Debian
sudo apt install -y python3 python3-pip

# CentOS/Rocky
sudo yum install -y python3 python3-pip

6.2.2 常用运维命令

# 查看Python版本
python3 -V

# 查看pip版本
pip3 -V

# 安装第三方依赖
pip3 install 依赖包名

# 批量安装项目依赖
pip3 install -r requirements.txt

6.3 Node.js 前端/后端环境安装

适配Vue、React前端打包、Node后端项目运行,安装稳定版,配套npm包管理工具。

6.3.1 安装命令

# Ubuntu/Debian
sudo apt install -y nodejs npm

# CentOS/Rocky
sudo yum install -y nodejs npm

6.3.2 基础使用命令

# 查看版本
node -v
npm -v

# 安装项目依赖
npm install

# 全局安装工具
npm install -g 工具名

软件安装只是基础,运维才是Linux核心。本章讲解新手必须掌握的日常运维技能:服务管理、日志查看、磁盘内存监控、进程管理、开机自启配置、防火墙配置,覆盖99%日常运维场景。

7.1 Systemctl 服务管理终极用法

所有Linux系统服务(Nginx、MySQL、Redis等)均由systemctl统一管理,核心命令通用,一通百通。

# 通用模板:systemctl 操作 服务名
sudo systemctl start 服务名      # 启动服务
sudo systemctl stop 服务名       # 停止服务
sudo systemctl restart 服务名    # 重启服务
sudo systemctl status 服务名     # 查看运行状态
sudo systemctl enable 服务名     # 开机自启
sudo systemctl disable 服务名    # 关闭开机自启
sudo systemctl is-active 服务名  # 判断服务是否运行
sudo systemctl is-enabled 服务名 # 判断是否开机自启

7.2 系统资源监控(排查卡顿、服务异常)

服务器卡顿、服务掉线、运行缓慢,均需通过资源监控排查问题,以下为新手必备监控命令。

7.2.1 内存/CPU监控

# 实时查看进程、CPU、内存占用(top交互式界面)
top

# 简洁查看内存使用情况
free -h

7.2.2 磁盘空间监控

# 查看磁盘整体使用情况
df -h

# 查看当前文件夹占用空间
du -sh

新手重点:磁盘占用100%会导致软件无法运行、日志报错、服务启动失败,需定期清理无用文件、日志缓存。

7.3 进程管理(杀死异常进程、释放资源)

软件卡死、端口占用、服务重启失败,大多是进程残留导致,需手动管理进程。

# 查找指定进程
ps -ef | grep 进程名

# 根据端口查找进程(排查端口占用)
sudo lsof -i :端口号

# 杀死异常进程(PID为进程ID)
kill -9 PID

7.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 -n 100 日志文件路径

# 搜索日志关键词报错
grep "关键词" 日志文件路径

7.5 防火墙配置(安全防护核心)

Linux默认开启防火墙,未放行端口会导致外网无法访问网站、数据库、服务,新手必须掌握端口放行操作。

7.5.1 Ubuntu 防火墙(ufw)

# 开启防火墙
sudo ufw enable

# 放行指定端口(例:80、443、3306)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3306/tcp

# 查看已放行端口
sudo ufw status

# 关闭端口
sudo ufw deny 端口号

7.5.2 CentOS 防火墙(firewalld)

# 放行端口
sudo firewall-cmd --permanent --add-port=80/tcp

# 重载防火墙生效
sudo firewall-cmd --reload

# 查看所有放行端口
sudo firewall-cmd --list-ports

汇总新手安装软件、日常运维中99%会遇到的报错,附带一键解决方案,无需百度,直接复制修复。

8.1 权限不足报错 Permission denied

报错原因:普通用户无操作权限

解决方案:命令前加sudo提升权限,或修改文件权限

# 赋予文件最高权限(新手临时解决方案)
sudo chmod 777 文件路径

# 赋予文件夹递归权限
sudo chmod -R 777 文件夹路径

8.2 命令不存在 Command not found

报错原因:软件未安装、命令拼写错误、环境变量未配置

解决方案:1. 检查命令大小写拼写;2. 使用apt/yum search搜索软件名重新安装;3. 配置环境变量。

8.3 端口被占用 Address already in use

报错原因:当前启动的服务端口已被其他进程占用

解决方案:查找占用进程并杀死重启服务

# 查找占用端口进程
sudo lsof -i :端口号

# 杀死进程
kill -9 进程ID

# 重启服务
sudo systemctl restart 服务名

8.4 软件安装依赖报错 Dependency error

报错原因:系统依赖缺失、软件源缓存异常

解决方案:更新软件源、修复依赖

# Ubuntu 修复依赖
sudo apt update
sudo apt -f install

# CentOS 修复依赖
sudo yum clean all
sudo yum update

8.5 服务启动失败 Job failed to start

报错原因:配置文件语法错误、端口占用、磁盘满、权限不足

解决方案:优先查看日志排查具体报错

# 查看服务详细报错日志
sudo systemctl status 服务名 -l

掌握安装和基础运维后,做好系统优化和规范运维,可大幅提升服务器稳定性,减少故障概率,适合新手长期使用。

9.1 定期系统更新与清理

每周执行一次系统维护,清理缓存、更新安全补丁:

# Ubuntu 一键维护
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt clean

# CentOS 一键维护
sudo yum update -y && yum clean all

9.2 开机自启管理规范

仅将刚需服务设置开机自启(Nginx、MySQL、Redis),无用服务关闭自启,减少系统资源占用:

# 查看所有开机自启服务
systemctl list-unit-files --type=service | grep enabled

9.3 磁盘空间定期清理

重点清理日志文件、无用压缩包、缓存文件,避免磁盘爆满:

# 清理系统日志缓存
sudo journalctl --vacuum-size=100M

# 清理apt缓存
sudo apt clean

9.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运维常备工具书,后续会持续更新更多软件部署、高级运维、服务器安全优化内容。