ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Linux零基础入门:核心概念、虚拟机安装与常用命令详解

Linux零基础入门:核心概念、虚拟机安装与常用命令详解 Linux这个东西说难也难说简单也简单。我刚入行做运维那会儿被各种术语砸得晕头转向——内核、发行版、Shell、挂载点每个字都认识连在一起就不知道在说什么了。后来踩了无数坑、重装了十几次系统才慢慢摸清门道。这篇文章就是想把当年那些绕弯路的经验浓缩一下用大白话把Linux从概念到安装整个过一遍确保零基础的朋友也能跟着操作下来。文章会涉及虚拟机选型、系统镜像下载、分区逻辑、常用命令这些运维入门必备的内容不管你是准备转行运维、还是刚接触服务器的学生都能直接照着做。1. Linux到底是个什么东西先建立整体认知1.1 别被“发行版”三个字唬住很多人第一次接触Linux就被Ubuntu、CentOS、Debian、Kali这些名字搞懵了以为它们是不同的操作系统。其实这么说也不算错但更准确的理解是它们都是Linux的“发行版”就像同一款底盘的汽车有的装成家用轿车有的改装成赛车。Linux真正的核心是那个叫“内核”的东西。内核是什么打个比方它是电脑硬件和软件之间的“翻译官”。你的程序想读写硬盘、想调用内存、想发网络请求都通过内核来调度。但光有内核没法用普通用户面对的其实是“内核 外围软件”打包好的完整系统这个打包组合就叫发行版。所以你在CentOS上学的命令换到Ubuntu上基本都能用因为它们共享同一个内核只是预装软件和包管理方式不同而已。1.2 运维场景里最常用的三个发行版如果你是奔着运维岗位去的不需要每个发行版都玩一遍集中精力吃透下面这三个就够用了CentOS Stream / Rocky Linux / AlmaLinux这三个在红帽系里面是一脉相承的。生产服务器最常用的就是这套体系稳软件包老但可靠很多企业的线上环境都跑它。如果你进一家传统公司做运维大概率要跟它打交道。Ubuntu Server社区活跃资料多包比较新。适合个人学习、跑一些较新的开源软件。很多云服务器也提供Ubuntu镜像上手友好度高。Debian极度稳定对硬件要求低。老运维特别喜欢它跑个十年八年不重启也不出毛病的口碑不是白来的。新手入门我建议优先选CentOS系或者Ubuntu。Kali这类偏向安全测试的发行版等基础打牢了再去碰一上来就玩渗透工具容易迷失方向。1.3 虚拟机是你最好的学习环境有人会问“我电脑上装Linux会不会搞坏Windows会不会把硬盘分区弄乱”说实话直接物理机安装确实有风险尤其是不熟悉分区操作的时候一个手滑选错磁盘后悔都来不及。最稳妥的方案是用虚拟机。我强烈建议新手第一步先装虚拟机而不是找台旧电脑直接装。原因有三第一虚拟机里的系统就是个普通文件玩坏了删掉重建就行完全不碰你宿主的系统。第二虚拟机支持快照功能装系统之前拍个快照后面配置弄乱了、命令敲错了一键还原到快照点省掉重装的时间。第三真实服务器上操作的命令在虚拟机里一毛一样。你练习时用的SSH连接、网络配置、服务部署跟生产环境没区别学的技能可以直接迁移。2. 安装前的准备工作下载镜像和创建虚拟机2.1 去哪里下载官方镜像这一步很多人容易栽跟头。搜索引擎一搜“Linux下载”出来的全是第三方下载站各种捆绑软件、旧版本、甚至被篡改过的系统一不小心就装了个山寨货。记住认准官方渠道Ubuntu进入 ubuntu.com 官网找到 Download 页面选 Ubuntu Server 版本。注意区分桌面版Desktop和服务器版Server运维学习直接选 Server因为它没图形界面逼着你用命令行这反而是好事。CentOS系如果选 Rocky Linux 或 AlmaLinux直接访问 rockylinux.org 或 almalinux.org官方主页就有下载链接。一般选最新的稳定版就行Stream版本适合想要尝鲜的生产环境推荐Stable或者等一些云厂商默认的版本。下载镜像时选ISO格式的文件那几个G的体积是正常的别以为下错了。2.2 虚拟机软件怎么选虚拟机软件常用的三款各说下感受VMware Workstation Pro功能全性能好使用体验流畅。以前要收费后来官方对个人用户免费了直接在官网下载即可。装虚拟机推荐首选。VirtualBox完全开源免费轻量跨平台。功能比VMware稍弱但跑Linux完全够用。如果不想装VMware用VirtualBox也没问题。Hyper-VWindows专业版自带的虚拟化平台。性能不错但配置不如前两者直观而且默认不支持直接从ISO启动安装Linux需要新建一代虚拟机然后手动挂载镜像新手容易卡在这一步。我个人体验下来新手用VMware最顺手界面直观默认配置就能跑创建向导一步步引导基本不会出错。2.3 从零创建一台虚拟机以VMware为例说说创建一台Linux虚拟机的完整步骤。因为VMware不断更新版本界面可能会有细微差别但核心逻辑不变。打开VMware点击“创建新的虚拟机”选择“自定义高级”以便能自己控制硬件参数。别选典型模式典型模式会隐藏一些关键选项。一路下一步到选择客户机操作系统这里操作系统选择“Linux”版本选择对应的系统比如装Ubuntu就选“Ubuntu 64位”装CentOS就选“CentOS 7 64位”或者“Red Hat Enterprise Linux 8 64位”CentOS Linux的版本选择可以靠红帽兼容项来顶处理器和内存怎么给我建议处理器分配2个核心如果你的电脑CPU比较强劲可以给4个内存给2048MB以上装带图形界面的桌面版建议给4096MB。别贪多虚拟机内存给太多宿主机就会卡拖累整体运行。磁盘大小默认20GB就够用了学习阶段装服务、跑实验20GB撑得住。选择“将虚拟磁盘存储为单个文件”即可。最关键的一步来了虚拟机创建完成后先别急着开机点击“编辑虚拟机设置”找到CD/DVD选项选择“使用ISO映像文件”把刚才下载好的系统镜像挂载上去。不挂载镜像虚拟机开机就只会提示找不到系统进不了安装界面。3. 安装过程全记录跟着做就行3.1 开机引导和语言选择把ISO挂载好后启动虚拟机。屏幕上会出现一个引导菜单通常给几个选项Install / 安装测试介质并安装Test this media install排查故障Troubleshooting新手直接选第一项“安装”不用测试介质镜像文件是从官网下的基本不会有损坏。接下来会让你选择安装过程的界面语言。选了中文后面整个安装过程都是中文提示能少查很多单词推荐选中文。但注意这只是安装界面的语言装好之后系统本身的语言环境是另一回事在后面步骤里可以单独设置。3.2 磁盘分区别乱动新手用自动分区就够了很多人一看到“手动分区”就紧张怕分错了变砖。实际上在虚拟机里操作就算分错了也就是把虚拟机的虚拟磁盘搞乱删掉重建虚拟机就行不会伤害宿主机。但新手还是建议直接选“自动配置分区”让系统自己来。如果你想理解分区是怎么回事简单说说/boot引导分区存放内核和启动文件一般几百MB就够。/根分区所有系统文件都在这里相当于Windows的C盘只不过在Linux里是一个挂载点不是盘符。swap交换分区充当虚拟内存。物理内存不够时系统会把部分数据临时写到这里。虚拟机一般给2GB够了。自动分区会把这几个都处理好你不需要操心。手动分区是后面进阶时要学的内容比如把数据库目录单独挂一块盘把日志分区独立出来那是生产环境的设计思路入门阶段先掌握概念别急着实操。3.3 服务器版没有图形界面别慌安装到后面会询问你要安装什么环境。如果你下的是Ubuntu Server默认是没有图形界面的CentOS的安装画面里可能会让你选“最小安装”“带GUI的服务器”之类的选项。我给运维新手的建议是选最小化安装不要带图形界面。你可能会觉得不习惯黑乎乎的窗口啥也看不到。但真实的生产服务器99%是不装图形界面的一是图形界面占资源二是有图形界面就多很多安全攻击面。你现在提前适应命令行反而走了一条正路。命令行没有你想的那么可怕后面会介绍常用的命令。记住一个观念在Linux世界命令行是最高效的道路回车一敲事就办完了不用在一堆菜单里点来点去。提示如果实在觉得黑窗口劝退也可以先装带桌面的版本比如Ubuntu Desktop练手。桌面版里面同样可以打开终端窗口敲命令只是多了一些GUI工具。等熟悉了再换到纯命令行。这条路因人而异能坚持走命令行路线的成长最快但用桌面版过渡也不算走弯路。3.4 设置账号密码时的学问安装过程中会要求你创建用户和设置密码。很多新手随手设置成123456觉得反正是虚拟机无所谓。但我建议从一开始就养成好习惯主要基于两个原因第一Linux的账号策略和生产环境直接相关。你要是习惯了弱密码将来真刀真枪管服务器时被暴力破解是分分钟的事一定要现在就养成长密码习惯。第二创建用户账号的时候系统会问你“是否让这个用户拥有管理员权限sudo”。生产环境里正常运维都不会直接用root账号登录而是用普通用户临时提权的方式。所以你学的时候就养成“平时用普通用户需要权限时sudo”的习惯这个好习惯能帮你避开很多安全坑。4. 开机后的第一公里用命令行真正认识系统4.1 登录系统和查看IP地址安装完成后系统重启进入登录界面。输入用户名密码你就进入了一个Shell环境。什么提示符都没有不是是它太简洁了你需要知道怎么“问”它。登录后的第一件事通常是查看自己这台机器的IP地址因为你以后管理服务器几乎都是通过SSH远程连接你得知道地址是多少。不同系统的命令略有不同查看IP地址ip addr或ip a新写法通用老系统还可能用ifconfig但很多新系统默认没装这个命令了ip addr你会看到输出的内容里有eth0或ens33之类的网卡名称下面跟着inet 192.168.x.x这样的行这就是这台机器的IP地址。如果想验证系统网络是不是通的可以ping一下网关或外网ping -c 4 baidu.com能ping通说明网络没问题后面远程连接就顺畅了。4.2 用SSH连接虚拟机体验真实运维环境在虚拟机里面敲命令和用真实服务器敲命令没有本质区别但有一个习惯建议你从第一天就养成——用SSH客户端远程连接。为什么因为生产服务器都是放在机房里你不可能天天蹲在机房面前抱着显示器操作所有的工作都是远程登录之后完成的。Windows下常用的SSH工具有Xshell老牌工具界面友好有免费个人版MobaXterm整合终端和文件管理功能很全Windows Terminal ssh命令Windows 10以上自带的终端直接ssh 用户名IP就能连假设你的虚拟机IP是192.168.56.101用户名是admin那么连接命令就是ssh admin192.168.56.101回车后会提示输入密码输对了就进入远程Shell。从现在开始你在终端里敲的一切命令都是远程执行的这种体验就是运维日常工作的真实写照。如果你连的时候发现提示“Connection refused”说明SSH服务没有启动。可以回到虚拟机本机登录执行sudo systemctl start sshd # CentOS系 sudo systemctl start ssh # Ubuntu系然后设置开机自启sudo systemctl enable sshd4.3 必须掌握的第一批命令刚进系统时建议先掌握这几个命令它们能帮你看清楚你管理的机器到底长什么样pwd显示当前在哪个目录。全称print working directory这是一个用来定位自己的命令。ls列出当前目录下的文件。加-l参数可以看详细信息加-a可以看隐藏文件。cd切换目录。cd /etc就进到etc目录cd ..返回上一级。whoami当前登录的用户名。cat /etc/os-release看系统版本信息。free -h看内存使用情况。df -h看磁盘空间。systemctl管理系统服务的核心命令。拿查看系统信息举例一个命令下来你能看到操作系统的名称、版本号对于正确判断操作很有帮助cat /etc/os-release输入free -h出来的结果会显示用了多少内存还剩多少这就叫用数据而不是用感觉来管理机器是运维的基本素养。这些命令都不需要死记硬背用多了自然就记住了。我建议每学一个命令就实实在在地运行一下观察输出结果理解它就是“和系统对话的一种方式”比背命令列表强一万倍。4.4 包管理器和安装软件的逻辑Linux安装软件的方式和Windows完全不同。Windows下双击exe一路下一步就行Linux下不同发行版有不同的“应用商店”概念叫包管理器。CentOS系用yum或dnfUbuntu和Debian系用apt比如你想装个文本编辑器nano# Ubuntu系统 sudo apt update sudo apt install nano # CentOS系统 sudo yum install nano第一行命令apt update是更新软件源缓存它的作用是让系统知道远程仓库里有哪些可用软件及版本。新手容易忽略这一步直接install可能会导致“找不到软件包”的报错其实就是因为本地索引太旧了更新一下就好。软件源是什么通俗讲它就是一个远程软件仓库的地址配置。你自己下载软件经常找不到靠谱的网址但系统自带官方源所有经过验证的软件都在里面一个命令就能装好又安全又省心。5. 装机排错实录这些坑我都替你踩过5.1 虚拟机开机黑屏进不了安装界面有朋友遇到过这样的问题虚拟机开机后屏幕一直黑着光标在左上角闪进不了安装界面。表现很吓人但其实多半是虚拟机的配置问题。排查思路是这样先确认ISO有没有正确挂载到虚拟光驱上——打开虚拟机设置看看CD/DVD那一栏是不是还是“物理驱动器”如果是就改成“使用ISO映像文件”重新浏览选择你下载的镜像。很多时候就是选错了启动顺序虚拟机压根没从光驱启动。还有一种可能是镜像架构不匹配。比如你的虚拟机是32位的但下载的镜像是64位也会启动异常。新建虚拟机时注意操作系统版本选“64位”的对应项。5.2 安装时鼠标键盘没反应在虚拟机里安装系统经常遇到鼠标被“锁”进虚拟机窗口里按CtrlAlt就能释放出来。这其实不是故障是虚拟机软件的交互设计——当你点击虚拟机窗口内部时鼠标就被捕获了光标不会移动到外面。键盘没反应的情况一般是输入焦点不在虚拟机窗口内。解决办法很简单用鼠标点击虚拟机窗口输入焦点就过去了。如果键盘确实完全失灵检查一下是否按了CtrlAlt释放了输入捕获。5.3 SSH连接被拒绝的三个经典原因远程连接虚拟机时最常遇到的报错就是“Connection refused”和“Connection timed out”两者的含义完全不同Connection refused说明网络能通但目标主机的22端口没开。多半是SSH服务没启动或者防火墙把22端口拦了。Connection timed out说明网络不通数据包发出去没有响应。先检查虚拟机IP是否正确再看宿主机和虚拟机之间的网络模式是不是匹配NAT模式一般都能通桥接模式需要路由器配合。排查网络问题还可以加一个命令查看网卡状态。ip link show如果输出的网卡状态不是UP说明网络没启用在虚拟机里执行sudo ip link set eth0 up试一下。防火墙这块CentOS系默认开着firewalldUbuntu默认开着ufw都是需要留意的地方。临时关闭防火墙做测试可以用sudo systemctl stop firewalld # CentOS系 sudo ufw disable # Ubuntu系注意这只是排查问题用生产环境切勿随便关闭防火墙那是把大门敞开的行为。5.4 忘记密码了怎么办忘记自己虚拟机的密码不用重新安装系统进入单用户模式或者用systemd的救援模式重置密码。方法不复杂重启虚拟机开机时在GRUB引导菜单出现后快速按上下键停在第一个选项然后按e进入编辑界面。找到以linux开头的行在末尾加一个空格加上init/bin/bash或者rd.break不同系统参数略有不同然后按CtrlX启动就能进入一个临时的命令行环境。在这个环境里文件系统是只读的需要先重新挂载为可读写mount -o remount,rw / passwd root然后按提示设置新密码之后重启就恢复访问了。这个方法在生产环境里是各个维运同学保命的技能值得记下来。6. 刚装好系统建议马上做的几件事6.1 抓个快照相当于存档系统刚装完、能正常登录、网络也通了这状态很干净正是拍虚拟机的“快照”标签的最佳时机。VMware的界面菜单里直接找“虚拟机-快照-拍摄快照”然后起个名字比如“初始状态”。这个操作本质上就是给整个虚拟机做一个时间点的备份。你把它当存档来理解就行——后面操作玩坏了一句“恢复到快照”就能回到现在这个干净的初始状态省得又花半小时重装。我每次装完新环境都会先快照这习惯帮我省了不少事。一次把/etc下面的配置改错了服务起不来靠快照5分钟就恢复了。如果没快照光定位问题就够折腾半天。6.2 修改主机名和网络配置虚拟机默认的主机名一般是localhost或一串随机的名字在生产环境里主机名就是服务器的门牌号你一定看得懂它代表什么。在虚拟机里借着这个机会练习一下改主机名sudo hostnamectl set-hostname mylinux然后编辑/etc/hosts文件把新主机名加进去sudo vi /etc/hosts在文件里找到127.0.1.1那一行把后面跟着的旧主机名改成新主机名。改完重启系统或者重新登录提示符就会变成用户名mylinux的样子比默认的看着舒服多了。6.3 关闭一些不需要的服务生产环境的运维铁律只有一个最小化安装最小化服务。系统里跑的每一个服务都可能成为被攻击的突破口跑得越少越安全。刚装好的系统其实很干净但桌面版可能会自己起来蓝牙服务、打印机服务等等。查看哪些服务在运行命令是systemctl list-units --typeservice --staterunning对新手来说不需要急着关掉什么先学会看。知道怎么看服务状态怎么查服务的监听端口后面做安全加固的时候才不慌。查看端口监听情况用这个命令ss -tlnp它会输出正在监听的TCP端口和对应的进程。如果看到某个服务占了不该出现的端口就要警惕了。入门阶段先建立“服务端口都是可查的”这个认知就足够了。6.4 把系统更新到最新刚装完的系统软件包不一定是最新版本。更新系统也是一个熟练命令的好机会# Ubuntu/Debian系 sudo apt update sudo apt upgrade -y # CentOS/RHEL系 sudo yum update -y-y参数的作用是跳过所有“是否继续”的确认提示直接执行。更新过程可能持续几分钟看到网速慢也别慌是一条条下载再安装的。但生产环境服务器不是随便想更新就更新需要评估兼容性。在虚拟机里练手则不用担心放心大胆更新反而能熟悉这个流程。7. 关于学习和防御的一些个人想法7.1 别陷入“囤积学习资料”的怪圈我发现很多入门的朋友有个通病收藏了无数篇“Linux常用命令大全”“运维从入门到精通PDF”却很少实际打开终端敲命令。收藏不代表掌握下载了也不代表学会了。我自己的学习路径其实很朴素装个虚拟机把系统装好然后逼着自己“遇到问题就查查完就动手动手就记录”。比如“我想在系统里查看某个文件的内容”那就学cat“我想找某个配置文件在哪里”那就学find和grep。这样学一个会一个有需求驱动记忆牢固得多。7.2 用好系统自带的帮助Linux命令那么多谁能全记住真正的高手不是背下来的是查出来的。大多数命令都自带使用说明用man ls就能看到ls命令的完整手册。按q键退出。有的新手看到英文手册就头大可以先用中文搜索“ls命令的用法详解”。但别躲着英文资料Linux世界的文档大量都是英文趁早习惯阅读英文技术文档是一个高回报率的投入。7.3 这是条可以持续深入的路装好系统只是起点Linux这台“机器”往深了挖还有用户与权限管理、网络配置、磁盘管理、Shell脚本自动化、服务部署、日志分析这些大块内容。但骨架都是这篇文章里说的这些事理解什么是发行版知道怎么装虚拟机会看IP会连SSH会装软件出了问题知道怎么排查。这些基础动作在真实的生产环境里每天都会被重复无数次。你现在用虚拟机把它们练熟了等将来接第一台真实服务器的时候胸有成竹不会慌。我当年第一次登上生产服务器前也是先折腾了整整一个月的虚拟机打了上千条命令才找到感觉。Linux学习最大的障碍从来不是知识本身而是“迟迟没有开始动手”。把虚拟机装好把命令敲起来才是真正的第一步。
返回列表