资讯详情

Linux入门全路线:选型、虚拟机、常用命令、部署与安全加固

发布时间:2026/9/28 7:49:24

500+
企业客户服务经验
120+
行业领域内容覆盖
3000+
原创页面设计沉淀
98%
客户满意度

Linux入门全路线:选型、虚拟机、常用命令、部署与安全加固

我隔三差五就会刷到一批新的 Linux 热搜词今天尤其热闹linux常用命令、linux安装docker、linux安装mysql、虚拟机安装linux蓝屏、kali linux、linux提权、嵌入式linux……几乎每一届新入门的朋友都会在这些词里转圈。看到这些词我就想与其让大家东搜一条西搜一条不如把这些高频痛点串成一条完整的上手路线从选系统、装虚拟机到常用命令、部署软件再到面试题自查一次性讲完。这篇文章就是按这个思路写的适合刚接触 Linux 的初学者也适合想系统梳理一遍的运维新人。1. 先选对发行版镜像、生态与国产系统怎么选1.1 不同场景下怎么挑发行版很多新手上来就问“哪个Linux系统最好”这个问题其实没有标准答案因为不同场景的答案完全不一样。桌面日常使用Ubuntu 是首选软件生态全、社区教程多、遇到问题随便一搜就有解决方案。服务器生产环境CentOS 停更之后 Rocky Linux 和 AlmaLinux 接手了老 CentOS 的生态很多人从 CentOS 7 平滑迁移过去如果追求极致稳定Debian 也是一个很扎实的选择软件版本老一点但非常省心。嵌入式开发则是另一个世界Yocto、Buildroot 自己裁剪系统跟桌面服务器的选型逻辑完全不是一回事。国产系统这两年也值得单独说。统信UOS、银河麒麟、openEuler 这些系统在政务、教育、金融等领域落地很多很多厂商的软件都已经做了适配像豆包客户端、希沃白板这些以前只有 Windows 版的软件现在都陆续出了 Linux 版。这意味着如果你在国产化项目里干活选 Deepin 或者 UOS 的桌面版日常办公的兼容性已经比前几年好太多了。值得一提的是生态最丰富的还是 Ubuntu/Debian 系因为软件源里的包最多遇到没有的软件也最容易找到第三方源或者现成的 .deb 包。1.2 镜像获取与安装前的准备选好发行版之后下一步是下镜像。我一般去国内几个大的开源镜像站下载比如清华TUNA镜像站、中科大USTC镜像站、阿里云开源镜像站、华为云镜像站这些站点的速度远比官网直连快得多。下载的时候记得核对一下 SHA256 校验值镜像站一般都会提供校验文件下载完比对一下避免拿到损坏的镜像否则后面安装过程中各种诡异报错会让人怀疑人生。如果只是想在 Windows 上体验 Linux不一定非要装虚拟机还可以试试 WSL。很多人在运行 wsl 命令时遇到 “WSL needs updating your version...” 的提示说明版本太旧直接在 PowerShell 里执行wsl --update然后重启终端就行了。WSL 2 的优势是启动快、占用小还能跟 Windows 文件系统互相访问做开发写代码非常方便。不过我还是建议新手至少完整装一次真实的 Linux 虚拟机因为服务器上碰到的网络配置、分区、引导这些东西在 WSL 里是感知不到的。2. 虚拟机安装从创建虚拟机到告别蓝屏2.1 虚拟机软件选型与虚拟化开启虚拟机软件我常用两个VMware Workstation Player 和 VirtualBox。前者免费版就够个人学习用性能好、兼容性稳定后者完全开源跨平台能力强。我个人更推荐新人用 VMware因为遇到问题的概率低网上教程也多。安装虚拟机最坑的一步不是软件本身而是 BIOS 里的虚拟化设置。很多人的电脑默认没开启 VT-x/AMD-V装系统的时候会直接提示“此主机支持 Intel VT-x但 Intel VT-x 处于禁用状态”。解决办法是开机时按 Del 或 F2 进 BIOS找到 Intel Virtualization Technology 或 SVM Mode设为 Enabled保存重启。顺便把 Secure Boot 也看一眼有的发行版在 Secure Boot 开启状态下会拒绝加载内核模块。2.2 安装流程逐步拆解以 VMware 安装 Ubuntu Server 为例流程大概是新建虚拟机时选择“稍后安装操作系统”然后在虚拟机设置里挂载下载好的 ISO 镜像文件。内存分配不要低于 2GB硬盘建议 20GB 起步处理器核心给 2 个以上。接着启动虚拟机进入安装界面按提示走。分区那一步最容易让人迷糊新手直接选“使用整个磁盘”就行系统会自动创建分区结构。如果手动分区至少要知道/boot放引导文件、/是根分区、swap是交换分区数据盘单独挂到/data这类自定义目录。软件源那一步记得把默认的 http://archive.ubuntu.com 换成国内镜像站的地址这一步能省下后面apt update的一大把时间。2.3 蓝屏、卡死与安装失败排查“虚拟机安装linux蓝屏”这个话题在热搜里出现频率极高我见过的情况主要有几种。第一种是物理机没开启虚拟化Windows 直接蓝屏报错进 BIOS 打开 VT-x 就解决。第二种是 Hyper-V 和 VMware/VirtualBox 冲突Windows 自带虚拟化功能占用了 CPU 的虚拟化能力需要去“启用或关闭 Windows 功能”里把 Hyper-V 全部勾掉同时关闭“内存完整性”和“基于虚拟化的安全性”。第三种是安装较老内核的系统比如 CentOS 7时在 12 代、13 代 Intel 处理器上会卡死或花屏这是因为老内核不认新 CPU 的大小核调度解决办法是升级到新版本系统或者换装 Rocky Linux / AlmaLinux。还有一种很常见的安装失败原因是 ISO 镜像文件损坏在安装过程中报找不到媒体或文件校验失败。换一个镜像站重新下载比对校验值后再试基本上就能排除这个问题。3. 常用命令与文件目录这些命令背熟就够了3.1 高频命令分组速查Linux 命令不是靠死记硬背靠的是多用。我把日常用得最多的命令按场景分了个组表格放在这里可以直接抄作业。场景常用命令文件操作ls, cd, cp, mv, rm, touch, mkdir, file查看文件cat, less, head, tail, wc, du, df权限管理chmod, chown, chgrp, umask查找搜索find, grep, which, whereis, locate压缩解压tar, gzip, zip, unzip网络操作ip, ss, ping, curl, wget, nc进程管理ps, top, htop, kill, pkill, jobs, bg, fg用户操作useradd, usermod, passwd, su, sudo系统信息uname, hostnamectl, free, uptime, dmesg文本处理grep, awk, sed, sort, uniq, cut这里我想强调几个容易被忽略的点。rm -rf是很多人翻车的根源执行前一定先ls看清楚路径find配合-exec或xargs可以做批量操作比如批量改权限、批量删日志ss比netstat好用看端口监听状态直接ss -tlnp。排查问题的时候dmesg往往比应用日志更能暴露底层问题比如驱动加载失败、内存报错、磁盘 IO 异常都会出现在这里。3.2 目录结构与权限体系理解 Linux 的目录结构就像理解 Windows 的盘符一样重要。/etc放系统配置文件/var放日志和临时数据/usr放系统软件/home放用户目录/tmp放临时文件/proc和/sys是虚拟文件系统直接映射内核运行状态。比如查看 CPU 信息是cat /proc/cpuinfo查看内存信息是cat /proc/meminfo这些在排查性能问题时比装工具还方便。权限体系更是 Linux 的核心中的核心。ls -l看到的第一列像-rwxr-xr-x第一位是文件类型后面三组分别代表所属用户、所属组、其他用户的权限。r 是读、w 是写、x 是执行对应的数字是 4、2、1。常见组合755 是文件属主可读写执行、组和其他人可读可执行适合脚本和二进制程序644 是属主可读写、组和其他人只读适合配置文件600 是仅属主可读写适合密钥文件。chmod 600 ~/.ssh/id_rsa这个操作几乎是 SSH 排障的第一课权限太开放密钥会被拒绝使用。3.3 日志、脚本与调试入门排查问题的基本流程就三件事看日志、看状态、验证假设。系统日志用journalctl查看比如journalctl -u nginx看指定服务的日志journalctl -f实时跟踪输出。传统日志文件在/var/log下重点关注syslog、messages、secure其中secure文件记录登录和认证信息排查 SSH 爆破时必看。Shell 脚本是 Linux 运维的必备手艺刚开始不用学很复杂的语法掌握变量、for循环、if判断就够了。比如批量把所有 .log 文件打包for f in *.log; do tar -czf $f.tar.gz $f; done。调试程序则要会用gdb几个核心命令要记住break设置断点run启动程序next单步执行不进入函数step单步执行进入函数continue继续运行。热搜词里那个“linux单步运行程序”说的就是next和step的区别。4. 软件部署实战Docker、MySQL、Python一次装通4.1 Docker安装与镜像加速配置Docker 现在已经是部署服务默认选项了。安装本身不复杂Ubuntu 上用官方脚本curl -fsSL https://get.docker.com | bash一键装完CentOS/Rocky 上可以用dnf install docker-ce前提是先配置好 Docker 官方仓库。装完第一件事就是把当前用户加进 docker 组否则每次都要sudo才能执行 docker 命令sudo usermod -aG docker $USER然后注销重新登录。第二个必做操作是配置镜像加速器。国内直接拉官方镜像经常超时需要在/etc/docker/daemon.json里配置registry-mirrors填入你在阿里云容器镜像服务控制台拿到的专属加速地址或者一些高校提供的公共镜像地址。改完重启systemctl restart docker。我实测下来配置加速之后镜像拉取速度是质的提升新手安装后没做这一步后面拉镜像时非常痛苦。4.2 MySQL安装与常见连接问题部署 MySQL 有两条路用 Docker 跑或者装在系统里。我建议学习阶段直接装系统里能更清楚地看到配置文件、日志文件和数据目录的布局。Ubuntu 上apt install mysql-server装完默认就是 MySQL 8.0执行systemctl status mysql确认服务状态然后mysql_secure_installation做基础安全初始化。初次登录有时候会卡在“无法通过 socket 连接”这个问题上原因通常是 root 用户默认使用了auth_socket认证只能通过系统 root 身份登录。解决办法是sudo mysql进去之后执行ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 你的密码; CREATE USER app% IDENTIFIED BY 你的密码; GRANT ALL PRIVILEGES ON *.* TO app%; FLUSH PRIVILEGES;连接远程数据库时如果报caching_sha2_password认证失败说明客户端不支持 MySQL 8 的新默认认证插件要么升级客户端驱动要么把用户改成mysql_native_password认证方式。另外bind-address默认只监听 127.0.0.1跨机器连接前要改/etc/mysql/mysql.conf.d/mysqld.cnf把监听地址改为0.0.0.0。4.3 Python环境与离线包安装系统自带的 Python 版本一般偏保守开发时尽量用虚拟环境隔离避免污染系统环境。最简单的是python3 -m venv myenv创建虚拟环境然后source myenv/bin/activate激活。Anaconda 也是常用方案装完之后把~/anaconda3/bin加入 PATH在~/.bashrc里加一行export PATH$HOME/anaconda3/bin:$PATH然后source ~/.bashrc生效。离线环境下安装 Python 包是个很容易被忽视的坑。在一台能联网的机器上先执行pip download -r requirements.txt -d ./packages/把包下载到本地目录拷到离线机器后执行pip install --no-index --find-links./packages/ -r requirements.txt就能完全不依赖网络安装。注意下载时要用与目标机器相同的 Python 版本不然拷贝过去的包可能无法安装。4.4 轻量Gitea部署举例不想用 GitHub 又嫌 GitLab 太重的场景下Gitea 是个很合适的选择。用 Docker Compose 部署一套完整环境非常快只需要一个docker-compose.ymlservices: gitea: image: gitea/gitea:latest container_name: gitea restart: always ports: - 3000:3000 - 2222:22 volumes: - ./gitea:/data执行docker compose up -d就完事了。首次访问网页打开http://服务器IP:3000按引导初始化数据库和管理员账号。我在实际部署时踩过的坑是端口占用22 端口已经被宿主机 SSH 占用所以容器内的 22 要映射到宿主机的 2222然后在 Gitea 配置文件里把 SSH 端口改成 2222否则克隆地址会不对。5. 系统管理与安全加固用户权限和提权防御5.1 用户管理与密码策略新建用户的常规操作是useradd -m -s /bin/bash username-m自动创建 home 目录-s指定 shell。然后passwd username设置初始密码。很多新人新建用户后执行sudo提示“不在 sudoers 文件中”这是因为新用户默认不在 sudo 组里Ubuntu 上执行usermod -aG sudo usernameCentOS/Rocky 上把sudo换成wheel重新登录就生效了。密码过期策略在运维场景里很实用。chage -l username查看用户密码的过期状态chage -M 90 username设置密码 90 天必须修改一次chage -W 7设置过期前 7 天提醒。如果要在 SSH 登录时也显示提醒需要配合 PAM 模块一般是/etc/pam.d/common-password里配置pam_pwquality以及pam_unix的参数。搜“linux密码过期提醒通知”的人多半是想实现这个效果记住核心就是chage加 PAM。5.2 sudo与特殊权限配置visudo是修改 sudo 配置文件的唯一正确方式直接编辑/etc/sudoers容易因为语法错误把自己锁在外面。给用户特定命令的 sudo 权限而不是全部权限是基本的运维素养。比如允许某个用户只重启 Web 服务username ALL(ALL) NOPASSWD: /usr/bin/systemctl restart nginx这样用户执行这条命令时不需要输密码但其他 sudo 操作仍然受控。这比直接给一个拥有所有权限的 root 账号安全得多。有些运维场景下需要新建一个能登录的用户但不希望它有任意执行命令的权限可以设置用户的 shell 为受限的rbash或者用 sudo 规则限制命令白名单。限制得越细出问题的面就越窄。5.3 理解提权原理做好防御“linux提权”这个热词高居不下说明大家在安全面试里被问到过。提权本质上是普通用户想办法获得 root 权限常见的几类方式sudo 配置不当、SUID 位文件利用、内核漏洞利用、服务配置错误。防御的思路是反过来的定期审计 sudoers 配置别给多余权限谨慎设置 SUID 位系统里的 SUID 文件应该少之又少可以用find / -perm -4000 2/dev/null列出来检查内核要及时更新补丁老内核的漏洞被公开后很容易被打服务不要用 root 运行比如 Nginx、MySQL 都改成专用用户。说到 SUID简单解释一下。普通文件执行时继承当前用户的身份但设置了 SUID 位的程序执行时会以文件属主的身份运行。如果某个属主是 root 的程序设置了 SUID 位普通用户执行它就等于临时获得 root 权限。chmod us file设置 SUIDchmod u-s file移除它。运维安全审计时一定要盯紧这个权限位。5.4 SSH安全加固SSH 是服务器最常用的入口也是爆破重灾区。基础安全配置至少包含四项禁止 root 直接登录、启用密钥认证、修改默认端口、限制登录用户。编辑/etc/ssh/sshd_configPermitRootLogin no PasswordAuthentication no Port 2222 AllowUsers youruser改完记得systemctl restart sshd。密钥认证需要先在本机生成密钥对ssh-keygen -t ed25519然后把公钥追加到服务器上~/.ssh/authorized_keys最后确认~/.ssh目录权限是 700、authorized_keys是 600权限过大 SSH 会直接拒绝使用。6. 进阶场景Kali学习、嵌入式与WSL6.1 Kali Linux的高效学习路径Kali Linux 是安全研究常用的发行版内置了大量工具但很多新人装完之后一脸懵不知道该学什么。我建议的路线是先学基础再看工具第一周只练 Linux 基础命令和网络知识第二周学协议原理比如 HTTP、TCP/IP第三周才接触工具而且从信息收集类工具开始了解工具的用途和输出怎么解读。Kali 自带系统也有很多需要调整的地方比如默认用户不是 root需要自己启用软件源默认在国外下载慢要换成国内源。新手容易忽略记笔记这件事。做实验的时候随手把命令和输出记录下来整理成自己的学习笔记比收藏别人的教程有效得多。搜“kali linux常用命令学习笔记”的人应该也是这个思路。另外要明确一点所有实验都必须在自己的虚拟机、自己的靶场授权范围内进行在未授权的真实目标上扫描或攻击是违法且不道德的。6.2 嵌入式Linux的入门口径嵌入式 Linux 和服务器 Linux 完全是两个赛道核心是交叉编译、内核裁剪、文件系统制作。开发机上需要安装交叉编译工具链比如aarch64-linux-gnu-gcc然后编译的程序在开发板上运行。读懂设备树Device Tree是嵌入式 Linux 开发的基本功设备树描述了硬件拓扑内核启动时读取它来初始化驱动。有一个很有意思也很有代表性的问题PHY 芯片不使用 MDIO 接口而是通过 I2C 管理这种情况在 Linux 下怎么处理传统思路是 PHY 挂在 MDIO 总线上内核通过 mdio bus 读写 PHY 寄存器。但如果硬件把 PHY 的连接和管理接口分别接在了不同的总线上就需要在设备树里配置phy-mode、phy-handle同时在驱动层面处理 PHY 设备的注册方式让它通过 I2C 来管理 PHY 寄存器。这类问题反映了嵌入式开发中“硬件怎么连驱动怎么配”的思维方式值得想入行的朋友多琢磨。6.3 WSL 的常见坑与修复用 WSL 做开发的人越来越多但坑也不少。最常见的还是版本更新问题报错里一般都会提示你运行wsl --update。从 WSL 1 切换 WSL 2 用wsl --set-version 发行版名 2查看当前版本用wsl -l -v。发行版安装目录占用越来越大想迁移到别的盘就wsl --export导出为 tar 文件然后wsl --import导入。WSL 2 的网络模式和 Windows 宿主是 NAT 关系外部访问 WSL 里的服务需要端口转发这一点跟真实虚拟机不太一样。7. 面试高频题自查答不上来回去再看一遍7.1 高频面试题速查表Linux 运维和开发岗位面试总逃不开那几道题我把最容易问的整理成一个速查表问题一句话回答思路软链接和硬链接区别软链接是文件路径引用硬链接是 inode 引用软链接可跨文件系统硬链接不行硬链接不能指向目录进程和线程区别进程有独立地址空间线程共享所属进程的地址空间上下文切换线程开销更小常用端口是多少SSH 22、HTTP 80、HTTPS 443、MySQL 3306、Redis 6379、PostgreSQL 5432如何排查 CPU 占用过高top 看进程号top -Hp PID 看线程配合 strace/perf 分析热点如何排查内存不足free -h 看总量和缓存ps aux --sort-%mem 看进程占用dmesg 看是否存在 OOM 记录如何查看系统开机自启服务systemctl list-unit-files --typeservice 看 enable 状态如何做系统备份文件级用 rsync整盘级用 dd 或 LVM 快照表格里的内容不是背下来就行每一条都要亲手在虚拟机里操作一遍面试官追问细节的时候才答得上来。7.2 排查类题目的通用思路面试里还有一类情景题比如“服务器负载飙高你怎么排查”这类题考察的是排查思路而不是命令行记忆。我的通用套路是先uptime看整体负载top看哪些进程占用 CPUfree -h看内存是否耗尽iostat看磁盘 IO 是否成为瓶颈dmesg看内核有没有报错最后翻对应服务的业务日志。按“先看系统、再看进程、最后翻日志”的顺序走基本不会慌。还有一道经典题是“查看 80 端口被哪个进程占用”。完整答案应该是两条命令ss -tlnp | grep :80能直接看到进程名和 PID如果权限不够再用lsof -i:80或者fuser -v 80/tcp。面试官要听到的不只是命令本身而是你明白为什么需要 root 权限才能看到其他进程的信息。我个人在实际操作中的体会是Linux 这东西最忌讳只看不练。热搜词里那些“linux常用命令大全”“linux面试题”收藏夹里存再多没有用不如自己搭一个虚拟机把文章里的每个命令敲一遍把每个坑踩一遍。踩过“rm -rf 删错目录”的疼才会真正养成备份的习惯。等你把部署、排障、安全加固这条线走通了面试题自然不再是背出来的而是你做过的每一件事的总结。照着这篇文章的顺序走一遍你收获的就不只是命令表而是一套完整的 Linux 实践认知。
热门专题

继续阅读更多专题内容

围绕企业服务、数字化转型与官网运营的常青话题,持续输出深度内容

企业官网建设指南 企业托管服务模式 财税政策与解读 企业数字化转型 官网SEO与获客 网站安全与运维
配套服务

读完这篇文章,了解更多服务

从整站搭建到SEO布局,17项核心服务助您打造高转化的企业官网

01

企业托管整站搭建

从信息架构到栏目预留,搭建可生长的企业站点骨架,每个页面独立原创设计。...

了解详情
02

规整可信网页设计

雪地靴温暖风原创设计,金属铜线条贯穿全页,拒绝通用模板与AI流水线。...

了解详情
03

企业服务SEO布局

关键词体系与语义化结构,从建站源头为搜索排名而生。...

了解详情
04

业务预约咨询表单

多场景表单与线索收集体系,把访问流量转化为可追踪的销售线索。...

了解详情
05

企业服务站点运维

安全巡检、数据备份与内容更新支持,全年守护网站稳定运行。...

了解详情
06

全终端商务适配

电脑、平板、手机一致呈现,移动端体验与转化同样出色。...

了解详情
需要专业建议?

让专业顾问为您解读行业趋势

关于企业官网建设、SEO获客与数字化转型的任何疑问,欢迎一对一咨询我们的专业顾问。