尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

10分钟上手Linux:虚拟机安装与常用命令实战指南

10分钟上手Linux:虚拟机安装与常用命令实战指南 很多人不是不想用 Linux而是被三座大山劝退怕重装系统后回不去怕要背一堆命令怕软件生态不成熟。其实只要换一个上手顺序10 分钟就能完成第一次 Linux 体验而且完全不用动你现有的 Windows 环境。本文会给出一条最短路径先让 Linux 跑起来再把日常操作和开发环境逐步迁移过去。无论你是学生、后端开发还是准备转行运维的朋友都可以按这条路线走。1. 你为什么还没改用 Linux1.1 不是 Linux 难而是切入点不对很多人第一次接触 Linux 就直奔“双系统”结果分区没搞明白引导项还出了问题最后又花了几个小时重装回 Windows。也有朋友打开终端就开始背ls、cd、mkdir背到第三天就放弃了。这些都不是 Linux 本身的问题而是切入点不对。Linux 的核心价值在于它是开源操作系统几乎所有的服务器、云主机、嵌入式设备、AI 训练环境都跑在 Linux 上。你学会的每一条命令、每一个配置习惯在工作环境里都能直接复用。它不是一个需要你“崇拜”的东西而是一个干活工具。既然是工具就应该先用它干活再慢慢理解它而不是先背说明书再上手。1.2 10 分钟内能完成什么先说清楚边界10 分钟不可能让你从零变成 Linux 高手但可以让你完成三件事。第一安装并启动一台 Linux 虚拟机看到桌面或命令行登录界面。第二执行一组最常用的 Linux 命令完成文件和目录的基本操作。第三安装一个 Web 服务或开发环境体验“在 Linux 上跑起服务”的成就感。这三点做完你对 Linux 的陌生感会大幅下降后续再看命令详解、系统配置、网络管理就不会觉得是空中楼阁。更重要的是这个过程不会影响你现有的 Windows 系统也不会带来数据丢失风险。1.3 换系统不等于放弃 Windows改用 Linux 是一个渐进过程不是非黑即白的切换。你完全可以在 Windows 上用虚拟机跑 Linux也可以在 Linux 里通过共享目录访问 Windows 文件甚至可以在同一台电脑上保留双系统进入系统前选择启动项。对于大多数开发者来说推荐路径是先虚拟机、后双系统、最后根据需求决定是否完全切换。这样的好处是环境可控出问题可以随时回滚而且网络采集、截图、办公这类没迁移完的操作依然可以用 Windows 完成。本文下面的方案就是按照这条路径设计的。2. 十分钟上手方案虚拟机安装 Linux2.1 为什么优先推荐虚拟机而不是双系统虚拟机方案最大的优点是隔离。Linux 系统跑在一个独立文件里Windows 本身不会受到任何影响。哪怕虚拟机里的 Linux 被折腾坏了删除该虚拟机文件重新创建即可几十分钟又能恢复一个干净环境。双系统的优势是性能更好能直接使用整台机器的 CPU、内存和显卡适合跑模型训练、视频处理这类对性能要求高的任务。但双系统需要处理磁盘分区、引导项、驱动兼容等问题不建议第一天就尝试。所以第一步我建议从虚拟机开始。2.2 安装虚拟机软件常见的虚拟机软件有两款VMware Workstation Player 和 VirtualBox。前者界面简洁对新手友好后者免费开源功能也很稳定。你可以根据自己的偏好选择其中一款安装。安装虚拟机软件本身没什么难度注意一点在 Windows 上安装时如果提示需要开启 CPU 虚拟化需要进入 BIOS/UEFI 把 Intel VT-x 或 AMD-V 打开。很多新手在这一步卡住导致虚拟机启动时蓝屏或提示“此主机支持 Intel VT-x但 Intel VT-x 处于禁用状态”解决办法就是重启进 BIOS 开启虚拟化。2.3 选择哪个 Linux 发行版如果你是第一次接触 Linux推荐从 Ubuntu 或 Ubuntu 的衍生版本开始。Ubuntu 的用户基数大遇到问题搜索到的资料最多软件源完整驱动支持也相对好。想尝鲜或者学习更加纯粹的命令行环境也可以选择 Debian。国产发行版如深度 deepin、统信 UOS 在中文办公场景里也有不错的体验如果你是从国产化适配角度入门可以结合工作需求选择。版本方面不必追求最新选择官方长期支持版本LTS即可。具体版本号变化很快这里不写死装好后可以通过lsb_release -a或cat /etc/os-release查看系统信息。2.4 建虚拟机并完成安装在虚拟机软件中新建虚拟机时注意以下配置。内存建议分配 4GB 以上如果电脑内存充足可以分到 8GB磁盘建议 60GB 以上使用动态分配网络选择 NAT 模式即可这样虚拟机可以访问外网又不影响局域网结构。加载 ISO 镜像后开机进入安装界面选择“安装 Ubuntu”语言选简体中文过程中一般会询问是否更新软件和安装第三方驱动。建议第一次安装时不勾选“安装时更新”先把系统装完进入系统后再手动更新速度更快也更容易定位问题。整个安装过程大约 20 到 30 分钟如果你已经下载好了镜像、配置合理启动安装程序后的 10 分钟内就能看到安装进度条超过一半。安装完成后虚拟机会重启进入系统。此时你会看到 Linux 的桌面环境恭喜你已经成功把 Linux 跑起来了。3. 第一次打开终端Linux 常用命令速查图形界面虽然好用但 Linux 的多数运维、部署、排错操作都在终端里完成。下面这组命令是使用频率最高、也是面试和日常工作中最常被问到的。建议你打开终端逐条敲一遍。3.1 目录操作cd、ls、pwd、mkdir# 查看当前所在目录 pwd # 列出当前目录下的文件和文件夹 ls ls -la # 进入某个目录 cd /home cd .. # 返回上一级 cd ~ # 回到家目录 # 新建目录 mkdir mytest mkdir -p a/b/c # 创建多级目录ls -la会显示隐藏文件和文件权限、属主、大小、修改时间等信息是排查问题时最常用的命令之一。pwd能告诉你当前在哪个路径下当你迷失在文件系统里时先执行它定位自己的位置。这里有个新手容易混淆的概念Linux 下路径分隔符是/不是 Windows 的\。而且 Linux 没有盘符所有文件都挂在一棵树状目录下根目录是/。3.2 文件操作cp、mv、rm、cat、grep# 复制文件 cp mytest.txt mytest_bak.txt cp -r mydir mydir_backup # 移动或重命名 mv mytest_bak.txt /home/user/docs/ mv oldname.txt newname.txt # 删除文件或文件夹 rm test.txt rm -rf mytestcp和mv的用法并不难难的是你是否理解它们只会作用于路径。新手最常见的错误是在错误的目录里执行命令导致找不到文件。建议每次执行前先用pwd确认位置。rm -rf需要特别提醒它是 Linux 里最危险的操作之一-r表示递归删除目录-f表示强制删除不询问。一旦执行文件不会进回收站几乎无法恢复。生产环境使用这个命令前必须反复确认路径更稳妥的方式是先ls确认目标再删除。查看文件内容优先使用cat但当文件很大时使用less分页查看更舒服。cat /etc/os-release grep -rn error /var/log/grep是文本搜索利器配合-r可以递归搜索目录配合-n显示行号配合-i忽略大小写。排查日志时几乎离不开它。3.3 查找与定位find、locate、whereis# 按文件名查找 find /home -name *.log # 按类型查找目录 find /home -type d -name project # 查找可执行文件位置 whereis nginx which nginxfind功能强大但注意它默认会递归查询所有子目录如果路径设置过大比如在/根目录下搜索全部文件会比较耗时。日常使用建议缩小搜索范围先指定大致目录再叠加条件过滤。which比whereis更轻量用来查看某个命令是否在 PATH 环境变量里通常用于确认软件是否安装成功。3.4 用户与权限useradd、passwd、chmod、chownLinux 是多用户系统日常操作中经常需要新建用户、设置密码、调整权限。# 新建用户并创建家目录 sudo useradd -m zhangsan # 设置或修改密码 sudo passwd zhangsan # 将用户加入 sudo 组获得提权能力 sudo usermod -aG sudo zhangsan # 修改文件权限 chmod 750 /home/zhangsan # 修改文件属主和属组 sudo chown zhangsan:zhangsan /app/data权限数字的含义需要记一下r读是 4w写是 2x执行是 1三者相加就是权限值。比如750表示文件拥有者有读写执行权限属组有读和执行权限其他人没有任何权限。这套规则是 Linux 安全模型的基础后面看日志、部署服务时频繁用到。很多新手会问为什么自己的文件别人看不了原因往往是权限不足或者文件属主不对。排查权限问题可以用ls -l查看文件的权限位和属主再用chown、chmod调整。3.5 系统信息与端口ps、top、ss、df# 查看进程 ps -ef | grep nginx # 动态查看系统状态 top # 查看端口占用包括 9090 等端口 ss -lntp | grep 9090 # 查看磁盘空间 df -h # 查看内存使用 free -h热词里有一个“linux 的 9090 端口什么再用”这其实是查找端口占用的问题。当你部署服务时发现端口被占可以用ss -lntp | grep 端口号或lsof -i:端口号查看是哪个进程占用了端口。如果这个进程不是你预期中的应用可以用ps -ef查看进程详情后再决定是否处理。top是一个动态监控工具能实时看到 CPU、内存占用最高的进程。按q退出。也可以用htop获得更友好的交互界面。4. 日常软件与办公从 Windows 平滑迁移4.1 浏览器和通讯工具Linux 下日常使用早已不是问题。浏览器方面Firefox、Chrome、Edge 都有官方 Linux 版本网页体验和 Windows 几乎一致。通讯办公方面微信有 Linux 版企业微信也提供了 Linux 版本钉钉同样支持 Linux。很多视频会议软件也都有 Linux 客户端。如果你使用的是教学、文档、绘图类工具建议先查官方是否提供 Linux 版本再下载对应的.deb或.rpm安装包。下载后Ubuntu 系可以用sudo dpkg -i xxx.deb安装CentOS 系用rpm -ivh xxx.rpm。如果安装时缺少依赖可以用sudo apt -f install修复依赖关系。4.2 输入法配置Linux 下中文输入法首选 fcitx5 或 ibus。以 Ubuntu 为例在软件源中安装 fcitx5 和中文输入法引擎后打开“设置 - 区域与语言”添加中文拼音输入源即可。sudo apt update sudo apt install -y fcitx5 fcitx5-chinese-addons安装完成后重启登录或执行fcitx5启动输入法再用Ctrl 空格切换中英文。不同桌面环境下配置入口略有差异但整体思路一致先装引擎再配置输入源最后切换验证。4.3 办公文档与跨平台文件共享办公软件方面WPS Office 有 Linux 版可以兼容大部分 Windows 文档格式。PDF 阅读器可使用福昕阅读器 Linux 版也可以直接用浏览器打开 PDF。科研和数学软件方面MATLAB、Anaconda、VS Code、JetBrains 全家桶都有 Linux 版本开发环境迁移成本很低。Windows 与 Linux 共享文件是很多人关心的问题。最简单的方式是使用共享文件夹也可以通过 Samba 服务实现跨平台文件访问。Samba 配置虽然不复杂但生产环境要注意权限和网络安全不能随意开放写权限。下面给一个最小可用的 Samba 示例。sudo apt install -y samba sudo mkdir -p /srv/share sudo chown nobody:nogroup /srv/share编辑 Samba 配置文件/etc/samba/smb.conf在末尾添加[public] path /srv/share browseable yes read only no guest ok yes然后重启 Samba 服务sudo systemctl restart smbd这个配置只适合测试环境生产环境建议使用独立账号和强密码并限制访问 IP。配置 Samba 的目的是让你在 Windows 资源管理器里直接访问 Linux 共享目录日常传文件会方便很多。5. 快速搭建开发环境Python、Docker、NginxLinux 在开发环境上的优势是巨大的。下面三个场景覆盖了大多数开发者会用到的能力运行 Python 脚本、容器化部署、Web 服务配置。每一步都给出可直接复制的命令。5.1 Linux 系统安装 Python现代 Linux 发行版通常会自带 Python 3但版本可能不是最新。安装时尽量使用系统包管理器不要手动覆盖系统自带的 Python否则可能导致系统工具不可用。sudo apt update sudo apt install -y python3 python3-pip python3-venv python3 --version pip3 --version创建虚拟环境是 Python 开发里非常推荐的一步它能把项目依赖隔离开避免污染系统 Python 环境。mkdir ~/my-python-project cd ~/my-python-project python3 -m venv venv source venv/bin/activate pip install requests激活虚拟环境后命令行提示符会多出(venv)前缀代表当前处于独立环境中。退出虚拟环境用deactivate。这套流程在服务器和本地开发机上完全一致也是面试和实战里非常常见的知识点。5.2 Linux 安装 DockerDocker 把应用和依赖打包成镜像实现了“一次构建到处运行”。安装 Docker 最稳妥的方式是使用官方脚本它会自动识别系统发行版和架构。curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo systemctl enable --now docker docker --version国内网络环境下拉取镜像可能较慢可以配置镜像加速器。加速器地址时常变化建议使用云厂商提供的公共镜像加速地址并在/etc/docker/daemon.json中配置{ registry-mirrors: [https://your-mirror-address] }修改后重启 Dockersudo systemctl restart docker配置镜像加速时要注意不同地区、不同网络环境可用的地址不同不要迷信某个固定地址遇到拉取失败先更换镜像源再重试。安装完成后可以跑一个 Nginx 容器验证环境是否正常docker run -d -p 8080:80 --name test-nginx nginx浏览器访问http://localhost:8080能看到 Nginx 欢迎页就说明容器运行成功。想停止并删除容器执行docker rm -f test-nginx。5.3 Linux 安装 Nginx如果不使用 Docker直接在系统里安装 Nginx 更直观。Nginx 是一个高性能的 Web 服务器和反向代理服务器许多前后端项目都通过它转发请求。sudo apt update sudo apt install -y nginx sudo systemctl enable --now nginx sudo systemctl status nginx启动后浏览器访问服务器 IP 或http://localhost看到 Welcome to nginx! 页面即为成功。Nginx 的默认站点配置文件在/etc/nginx/sites-available/default日志文件位于/var/log/nginx/access.log和/var/log/nginx/error.log。修改配置后需要重新加载sudo nginx -t sudo systemctl reload nginxnginx -t用于检查配置文件语法确认无误后再reload这是生产环境非常推荐的规范操作可以避免语法错误导致服务中断。5.4 远程同步Linux scp 命令日常工作中经常需要把本地文件上传到服务器或从服务器下载日志。scp是最简单直接的工具基于 SSH 协议传输加密且安全。# 本地文件上传到远程服务器 scp ./backup.tar.gz user192.168.1.100:/home/user/ # 从远程服务器下载文件到本地 scp user192.168.1.100:/var/log/nginx/error.log ./ # 递归传输目录 scp -r ./project user192.168.1.100:/home/user/project如果 SSH 端口不是默认的 22可以用-P指定端口scp -P 2222 ./backup.tar.gz user192.168.1.100:/home/user/注意scp的-P是大写而ssh命令的-p是小写这个细节容易写错。生产环境使用scp时建议采用密钥认证代替密码登录一方面更安全另一方面也方便脚本自动化。6. 常见报错与排查思路Linux 使用过程中一定会遇到报错下面这些是高频问题。6.1 虚拟机安装 Linux 蓝屏问题现象常见原因解决思路虚拟机启动时蓝屏BIOS 未开启虚拟化重启进 BIOS开启 Intel VT-x / AMD-V启动时报 VT-x 禁用虚拟化技术被关闭在 BIOS 的 CPU 设置中打开虚拟化选项虚拟机运行卡顿内存或 CPU 分配不足分配至少 4GB 内存、2 核 CPU虚拟机蓝屏和 Windows 硬件驱动无关根源基本都在 CPU 虚拟化开关或虚拟机资源分配上。如果确认 BIOS 已开启虚拟化还是报错可以尝试更换虚拟机软件版本或关闭 Hyper-V 与虚拟机软件的冲突。6.2 端口被占用报错提示Address already in use或想确认某个端口到底被谁占用使用下面的命令ss -lntp | grep 9090也可以使用lsof -i:9090如果 lsof 未安装先通过sudo apt install -y lsof安装。找到占用进程后确认它是否还需要运行再决定保留还是结束。6.3 SSH 连接超时或权限拒绝SSH 是远程服务器的必备工具连接失败时按以下顺序排查。第一确认目标 IP 和端口是否正确第二确认 SSH 服务是否启动执行systemctl status ssh第三确认防火墙是否放行对应端口第四检查密钥或密码认证是否配置无误。权限拒绝类错误里最常见的两个原因是服务器禁止密码登录或.ssh目录权限太宽松。SSH 对权限要求很严格.ssh目录应为 700authorized_keys文件应为 600chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys6.4 开机反复出现 respawn getty有时开机后终端会反复显示respawn getty的提示通常是 getty 登录进程不断重启常见于系统服务配置异常、串口控制台配置错误或容器环境里的console启动参数问题。排查思路systemctl status gettytty1 journalctl -u gettytty1 -n 50查看日志后如果确认是该服务异常循环恢复默认配置或检查内核启动参数中的 console 设置。此问题涉及的场景比较杂建议先看日志定位具体失败原因再针对性地修改配置。禁止在没有确认原因的情况下盲目禁用 getty否则可能导致无法登录。6.5 PCIe BAR 地址分配问题部分机器在 Linux 启动时会提示“无法给 PCIe 桥接器分配足够的内存映射空间BAR 地址”常见于多显卡、多 PCIe 设备或 BIOS 分配的 MMIO 空间不足。解决思路有以下几种升级主板 BIOS在内核启动参数中添加pcirealloc或pciassign-busses在 BIOS 中关闭 CSM使用 UEFI 模式。如果是虚拟机直通显卡测试还需要确认直通配置预留了足够空间。这类问题属于较底层的硬件兼容问题排查时需要根据完整启动日志逐步分析不要随意修改内核参数。修改前先备份原有启动配置确保可以回滚。7. 最佳实践与工程建议7.1 目录规范与路径习惯Linux 目录结构有明确约定/etc存放配置文件/var/log存放日志/opt存放第三方软件目录/home是用户家目录。部署应用时不要把业务数据随便丢在根目录下而是规划好数据目录、日志目录和备份目录这样后期排查问题时能省下大量时间。数据库、应用服务、日志文件建议分离存放例如/app/myapp/bin /app/myapp/conf /app/myapp/logs /app/myapp/data固定目录结构不仅让项目更清晰也方便权限控制和备份策略的执行。7.2 命令安全与最小权限普通用户日常操作使用自己的账号需要管理员权限时才使用sudo。新建用户时根据实际需求分配sudo权限避免所有账号都有 root 权限。部署服务时能使用普通用户运行就不要用 root 运行这也是降低安全风险的重要手段。删除数据前先备份尤其是涉及数据库、生产业务数据的场景。可以考虑使用mv把数据移到备份目录而不是直接rm确认无误后再删除。任何具有破坏性的操作在测试环境验证过一次再上生产。7.3 包管理与镜像源Ubuntu/Debian 系使用apt管理软件包CentOS/RHEL 系使用yum或dnf。安装软件前先apt update更新索引遇到依赖问题优先用系统包管理器解决。国内服务器部署时配置镜像源是提升速度的有效手段。但镜像源地址变化较快不同地区和网络环境可能有差异建议使用官方云厂商的镜像地址避免使用来路不明的第三方源防止供应链安全风险。修改软件源前备份原始文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak7.4 备份与回滚意识在 Linux 系统上修改配置、升级内核、安装新软件时建议做好备份和回滚预案。配置文件修改前先备份升级前记录当前版本应用更新前把旧版本镜像或包留存一段时间。生产环境遵循“先备份再变更后验证”的原则能大幅降低操作失误造成的损失。系统备份可以使用rsync同步重要目录也可以对虚拟机做快照。虚拟机快照是最简单高效的实验工具折腾坏了直接恢复快照这也是新手学习 Linux 时最推荐的做法。8. 总结与下一步学习路线看到这里你已经完成了从“不敢碰 Linux”到“能在 Linux 里跑命令、装软件、部署服务”的第一步。剩下的路径其实很清晰继续加深常用命令的熟练度学习 Shell 脚本实现自动化理解 Linux 文件系统、用户权限、进程管理和网络配置再根据方向选择深入点。后端开发可以重点研究 Nginx、Docker、Kubernetes运维方向可以继续学习 Linux 网络、硬件排错和监控体系嵌入式方向可以从交叉编译和环境配置继续展开。如果对安全测试感兴趣Kali Linux 也确实是一个聚合了大量工具的平台但请记住任何攻击性测试都必须获得合法授权仅在授权范围内进行。如果你还没安装第一台 Linux 虚拟机建议今晚就完成三件事下载 Ubuntu LTS 镜像创建一台 4GB 内存、60GB 磁盘的虚拟机然后执行一遍第 3 节的常用命令。完成这些之后你对 Linux 的信心会明显不一样。遇到报错不要慌日志在/var/log里命令在前面答案大概率就在报错信息的下一行。
返回列表