news 2026/10/1 12:44:39

Linux第一次作业:环境搭建、命令查询与脚本编写指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux第一次作业:环境搭建、命令查询与脚本编写指南

兄弟,如果你刚交完或者正准备做人生的第一次 Linux 作业,我先给你交个底:这门课从来不是在考你背了多少条命令,它真正的作业其实是——让你在真实的环境里完成一系列“小到不能再小”的任务,然后通过这些任务把“Linux 到底是什么”这件事,从脑子里的名词变成手上的肌肉记忆。

我第一次接触 Linux 作业的时候也是一脸懵,班里有人半小时就交差,有人折腾了一晚上还没把系统装上。后来带过不少新人,我发现差距不是天赋,而是有没有人告诉他们“这份作业到底在练什么”。第一次作业,练的不是某条命令的拼写,而是三件事:装得起来、查得明白、写得下去。这篇文章就把我当时踩过的坑、总结的套路、以及后来带人时反复强调的点,全部给你铺开讲清楚,特别适合正在被 Linux 入门课折磨的同学,以及带新人的运维或开发老手。

1. 第一次作业到底在练什么

1.1 先想清楚:这堂课布置的不是命令,而是“环境感”

很多人拿到 Linux 第一次作业,第一反应是“我要背熟 ls、cd、mkdir、rm”,于是抱着命令行大全啃。这个方向其实偏了。

作业背后的真实意图,是让你在最短时间内建立“环境感”。什么叫环境感?就是你不把 Linux 当成一个“黑乎乎的窗口”,而是当成一个可以住的房子。你知道自己现在站在哪个房间(pwd),房间里有什么(ls),怎么走到隔壁房间(cd),怎么开灯关灯(systemctl),怎么把垃圾扔出去(rm 或 trash)。这些操作单独看都很简单,但它们合起来就构成了一种空间认知。

我第一次作业的题目是“在自己的电脑上装好一个 Linux 虚拟机,然后创建一个新用户,查询系统的 IP、磁盘、内存信息,最后写一个能显示系统信息的脚本”。题目本身不复杂,但当时我卡了很久:装系统的时候不知道分区是什么意思,创建用户不知道为啥要先切到 root,写脚本不知道第一行注释#!/bin/bash是干嘛的。后来我才明白,这份作业的所有考点都不是“你会不会敲命令”,而是“你能不能在一个陌生的环境里独立把事情办成”。

所以我建议你把作业题目翻出来,重新读一遍,圈出里面的动词:安装、创建、查询、编写、执行。这些动词才是老师真正想考察的东西。命令只是完成动作的工具,不是作业本身。

1.2 作业完成的三个标准:装得起来、查得明白、写得下去

如果把第一次作业拆成一个验收清单,大概就这三条:

第一,装得起来。不管是物理机还是虚拟机,你得有一个能正常开机、能联网、能打开终端的 Linux 环境。很多人死在这一步,不是技术问题,而是下载速度慢、镜像校验不对、虚拟化没开启。这些问题后面我会专门讲。

第二,查得明白。给你一个任务,比如“查看这台机器的发行版版本”“看根目录还剩多少空间”“找出某个进程的 PID”,你得知道用什么命令,并且能读懂输出。这一步考察的是对常用命令的熟练度和阅读终端信息的能力。很多人命令背熟了,但看到df -h输出的一堆百分比就懵,这就是“读不懂输出”的问题。

第三,写得下去。这是很多人第一次作业里最容易忽视的部分。不是说要你写出多牛的项目,而是要求你能把刚才手动敲过的命令,整合成一个脚本,加上变量、加上注释、加上执行权限,然后像运行一个普通程序一样运行它。这件事做完,你就从“敲命令的人”变成了“写工具的人”,性质完全不同。

记住这三个标准之后,再往下看具体怎么操作,就不会觉得乱。

2. 动手前的准备:发行版、虚拟机与终端

2.1 发行版怎么选:别被“生态最好”洗脑,先问课程用什么

很多新手一上来就在网上搜“生态最好的 Linux 系统”,然后被各路帖子带偏。其实这个问题没有标准答案,只有“适不适合你当前任务”的答案。

如果你的课程讲的是 Ubuntu 或 Debian 系,你就老老实实用 Ubuntu。因为老师上课敲的命令、给的代码片段、用的包管理器,全都基于这个体系。你非要自己在旁边搞个 Arch,知识点就对不上了:这边说apt install,你那边pacman -Sy,课堂笔记全废。我第一次作业用的是 Ubuntu Desktop,后来工作了又接触 Rocky Linux 和国产的开源发行版,才发现每个体系都有自己的习惯和讲究。

给你一个简单的选择参照:

场景建议发行版理由
大学课程、通用入门Ubuntu Desktop / Ubuntu Server教程最多,遇到问题最容易搜到答案
运维方向、服务器管理Rocky Linux / AlmaLinux和传统企业级系统一脉相承,网卡、服务管理写法更贴近生产
信息安全、CTF 方向Kali Linux自带大量安全工具,入门渗透测试常用
想体验国产开源生态openEuler、deepin、UOS 等社区文档逐渐完善,适合观察国产系统的包管理与桌面习惯

我给你一个很实际的建议:第一次作业别追新,别追“最小化安装”,更不要觉得用桌面版丢人。能用图形界面解决的事情,先别用命令行硬扛。比如装 Ubuntu Desktop,你至少能打开浏览器查资料,能看中文文档,这比在纯命令行里对着黑屏折腾半天要友好得多。

2.2 虚拟机安装避坑:蓝屏、镜像校验、性能分配

第一次作业用得最多的是虚拟机,因为不敢拿物理机乱搞。选 VMware 还是 VirtualBox?都行,但 VirtualBox 免费、轻量、跨平台,学生党一般够用。不过 VirtualBox 有个很经典的坑:装完 Linux 开机直接蓝屏或黑屏。这通常不是你安装步骤错了,而是 Windows 的 Hyper-V 虚拟化功能与 VirtualBox 冲突。

解决方法是把 Windows 的 Hyper-V 关掉,或者去 BIOS 里确认虚拟化技术(VT-x/AMD-V)是开着的。还有一个小细节:VirtualBox 创建虚拟机的时候,如果报错说“VT-x is not available”或者“不可用”,基本就是 BIOS 虚拟化没开,或者被 Hyper-V 占用了。我当时第一次也卡在这,后来关了 Windows 功能里的“Hyper-V”“虚拟机平台”“适用于 Linux 的 Windows 子系统”三项,重启之后 VirtualBox 就正常了。

镜像下载也有讲究。去官网下载 ISO 后,先算一下 SHA256 校验值,和官网给出的核对一致再安装。这一步看起来多余,但能替你挡住很多“装到一半报错”的玄学问题。你下载的 iso 是损坏的,装多少次都白搭。校验命令在 Windows 上用certutil -hashfile 文件名 SHA256,在 macOS 上用shasum -a 256 文件名,几秒钟的事。

虚拟机性能分配别贪多。内存给 4GB 起步,硬盘给 60GB 动态分配,CPU 给 2 核就够了。我第一次笨笨地给了 8 核 16G,结果宿主机卡成 PPT,虚拟机也没快到哪里去。Linux 的桌面环境对资源要求没那么夸张,你后面跑编译、跑容器,再随时调大就是。

2.3 终端工具的配合:从复制粘贴到习惯键盘

环境装好了,接下来就是每天要面对的终端。如果你是 Windows 上的 VirtualBox 用户,我建议先别急着折腾终端模拟器,直接用虚拟机窗口里的终端练就好。等你熟悉了基础操作,再回到宿主机上用 SSH 连虚拟机学习远程管理,那时候会遇到密钥登录、端口转发、配置文件等一系列新知识。

不过有一点要提前养成:在 Linux 终端里,复制粘贴不是 Ctrl+C / Ctrl+V。终端里 Ctrl+C 是发送中断信号,把当前正在跑的命令停下来;Ctrl+V 甚至什么都不是。一般终端软件支持 Ctrl+Shift+C 和 Ctrl+Shift+V 做复制粘贴,在 VirtualBox 里则是右键菜单或者“设备→共享粘贴板”。这个细节第一次作业的时候没人提醒,99% 的人会踩。

另外,建议你把终端窗口的背景色调深一点,字体调大一点,不然长时间盯着代码和命令行眼睛很快就废。工作后你会发现,很多老手的终端都配了等宽字体、配色方案和别名,那是因为终端这个东西一旦用久了,就是你的第二个 IDE。第一次作业不求花哨,但求顺手。

3. 作业实操:高频命令的逐条拆解

3.1 目录与文件操作:ls、cd、pwd、mkdir、rm、cp、mv 的现场演示

这一节我们直接进入“作业现场”。假设老师布置的任务是:在/home/下创建一个以你姓名拼音命名的目录,里面建两个子目录docs和backup,然后把一个示例文件复制进去,再把复制后的文件重命名。

我的操作顺序是这样的:

# 1. 看看自己现在在哪 pwd # 2. 进入家目录 cd ~ # 3. 创建多层目录,-p 允许一次性创建父目录和子目录 mkdir -p zhangsan/docs zhangsan/backup # 4. 创建一个示例文件 touch zhangsan/docs/readme.txt # 5. 复制文件到 backup 目录,-a 保留权限、属主、时间戳 cp -a zhangsan/docs/readme.txt zhangsan/backup/ # 6. 给 backup 里的文件改名 mv zhangsan/backup/readme.txt zhangsan/backup/info.txt # 7. 查看目录树,确认结果 ls -R zhangsan

这套操作里,有几个新手特别容易忽略的点。第一个是pwd的英文全称是 “print working directory”,它输出的不是一条没用的路径,而是在提醒你“你现在的位置”。很多命令的报错,根源都是你不在你以为的那个目录里,所以养成每做几步就pwd一下的习惯,能少掉一半头发。

第二个是ls -R。字母 R 是 recursive 的意思,也就是递归查看子目录。第一次作业最喜欢用这个来检查你有没有按要求建好目录结构。同理,ls -l看详细列表,ls -a看隐藏文件,ls -lh把文件大小显示成人容易读的 M、G。这些参数不用死记,用多了自然就刻在脑子里,实在记不住就ls --help或man ls现查。

第三个是rm -rf。这大概是 Linux 世界里最有名的一对参数,也是“最容易删库跑路”的组合。对于第一次作业,我建议你暂时忘掉rm -rf,只用rm删单个文件、rmdir删空目录。真要删除目录,也尽量先ls看清楚里面有什么。有人开玩笑说“见不到rm -rf的 Linux 作业是不完整的”,但我更愿意你把这个梗记在心里,别真的在作业里跑一遍。

3.2 权限与用户:sudo、useradd、chmod、chown,为什么作业里必须建新用户

第一次作业里十有八九有一道题是“新建一个用户,并给它设置密码”。这个任务看起来很无聊,但背后涉及 Linux 最核心的权限模型。

先看命令:

# 切换到 root 用户,或者用 sudo 执行特权命令 sudo -i # 创建一个用户,指定家目录和默认 shell useradd -m -s /bin/bash zhangsan # 设置密码 passwd zhangsan # 把用户加入 sudo 组,允许它用 sudo 执行管理员命令 usermod -aG sudo zhangsan # 创建文件,看看默认权限 touch /home/zhangsan/hello.txt ls -l /home/zhangsan/hello.txt

输出大概是-rw-r--r-- 1 root root 0 ...。这里逐段解读:-rw-r--r--表示文件类型和权限,三段 rwx 分别代表“所属用户”“所属组”“其他人”。第一次作业里,老师往往会要求你解释这串字符,并让你把某个文件的权限改成只有自己可读写。

改权限的命令是chmod,有三种写法,最容易理解的是数字法。r=4,w=2,x=1,把三段权限的数字加起来就行。比如我要把hello.txt改成“用户可读写执行,组可读,其他人无权限”,那就是rwx对应 4+2+1=7,r--对应 4,---对应 0,命令就是:

chmod 740 /home/zhangsan/hello.txt

很多新手第一次看到chmod 777就直接无脑用,省事是省事,但这是非常危险的习惯。作业阶段我就明确跟你讲:777 意味着所有用户都可以读写执行这个文件,在你自己的电脑上关起门来玩也许没事,以后跑到生产环境上,这就是一颗定时炸弹。正确做法是养成“给最小权限”的意识,能 750 就不 777,能 700 就不乱开。

换属主用chown,比如把文件交给 zhangsan:

chown zhangsan:zhangsan /home/zhangsan/hello.txt

这一步也常考。记住格式是“用户:组”,不是“用户.组”。我见过不少同学第一次作业就死在这个冒号上,写成chown zhangsan.zhangsan,系统直接报错。

至于sudo,你现在只需要理解它是一个“临时借用管理员身份”的工具。第一次作业里你可能会遇到“Permission denied”的报错,十次里有九次是因为你在普通用户下动了一个只有 root 才能动的文件或目录。这时候,先别急着上网查“怎么永久关闭权限”,正确思路是搞清楚“这个操作需不需要高权限”,需要就加 sudo,不需要就换个路径。

3.3 系统与网络信息查询:df、free、ip、ping、uname,作业里如何“秀出”系统信息

前面那些命令都是准备工作,真正能在一份 Linux 作业里“秀肌肉”的,是系统与网络信息查询。因为这类命令最能体现你对自己环境是否了解,也最常出现在作业的最后一问:“请写出当前操作系统的发行版版本、内核版本、内存大小、磁盘使用率,以及本机 IP 地址。”

一条一条来:

# 查看内核版本和架构 uname -a # 查看发行版信息(几乎所有主流发行版都有这个文件) cat /etc/os-release # 查看内存使用情况,-h 代表 human-readable free -h # 查看磁盘空间 df -h # 查看当前目录占用大小 du -sh . # 查看 IP 地址 ip addr

这里有个细节:老教材会教你ifconfig,但现代发行版默认没有安装 net-tools 这个包,所以很多人输ifconfig直接提示“command not found”。这不是你的系统出问题了,而是时代变了。现在的主流命令是ip,ip addr看地址,ip link看网卡状态,ip route看路由表。作业里如果你写的是ip addr,老师会知道你至少接触过新环境;如果只会ifconfig,也不会扣分,但心里要有个数:有些东西已经不是默认安装了。

再看网络连通性,用ping和ss:

ping -c 4 127.0.0.1 ss -tlnp

ping -c 4的意思是只发 4 个 ICMP 包,不然会一直 ping 下去,你得用 Ctrl+C 手动停。这个-c参数细节,写在作业里能体现你真的操作过,而不是网上抄代码。

ss -tlnp是看当前机器监听哪些端口,以及对应哪个进程。很多教程还在教netstat -tlnp,但ss是 iproute2 工具包的一部分,基本开箱即用,输出也更快。第一次作业没要求的话不需要深究,但如果你想在“系统信息”这一节写得漂亮一点,这绝对是个加分项。

把这些命令整合到作业里,建议不要只贴命令和输出,而是加一句自己的说明,比如“通过 free 可以看到我分配了 4GB 内存给这台虚拟机,目前使用了 900 多 MB,说明这个负载还很轻”。这种描述会让老师觉得你是真的操作过,而不是复制粘贴。

4. 从命令到脚本:第一次作业的加分项

4.1 一个能交差的系统信息脚本

作业写到一半,你会发现一个现象:刚刚手动敲过的“查看系统信息”那串命令,如果再让你敲一遍,你其实是在重复劳动。这时候脚本就登场了。

我第一次作业里写了一个极其简陋但有用的脚本,就三步:收集信息、格式化输出、保存到文件。

#!/bin/bash # 系统信息收集脚本,适合第一次作业演示 echo "==== 系统信息 ====" uname -a echo "" echo "==== 发行版信息 ====" cat /etc/os-release | head -n 2 echo "" echo "==== 内存使用 ====" free -h echo "" echo "==== 磁盘使用 ====" df -h echo "" echo "==== 本机 IP ====" ip addr | grep "inet " | grep -v "127.0.0.1"

保存成sysinfo.sh,然后执行:

chmod +x sysinfo.sh ./sysinfo.sh

这里面有几个点要跟你讲透。第一行#!/bin/bash叫 shebang,它的作用是告诉内核“当我要执行这个文件时,用/bin/bash来解析下面的内容”。如果忘记写这一行,也可以直接用bash sysinfo.sh跑,但你没法./sysinfo.sh直接执行。这份作业的意义之一,就是让你体会“文件本身 + 解释器 + 执行权限”三者之间的关系。

chmod +x其实等价于chmod 755,也就是给所有用户读和执行权限、属主可以写。这一步非常关键,因为新手最容易忘。我见过有人写好了脚本,然后./sysinfo.sh报错“Permission denied”,满脸疑惑。不用怀疑,就是没加执行权限。

4.2 让脚本更有“作业感”:变量、循环和注释

如果一个脚本只是把命令堆叠起来,那它是“命令清单”而不是“程序”。第一次作业里想拿高分,试着加几个基础语法:

#!/bin/bash # 定义变量 HOSTNAME=$(hostname) DATE=$(date "+%Y-%m-%d %H:%M:%S") OUTPUT="system_report_$(date +%Y%m%d).txt" echo "主机名: $HOSTNAME" echo "时间: $DATE" # 用 for 循环遍历一个数组 for service in sshd cron systemd-journald; do echo "检查服务: $service" systemctl is-active "$service" done # 把结果写入文件 echo "报告生成时间: $DATE" > "$OUTPUT" uname -a >> "$OUTPUT" free -h >> "$OUTPUT"

这里你会看到$()这个写法,它叫“命令替换”,意思就是先执行括号里的命令,再把结果赋值给变量。$(date +%Y%m%d)把当前日期变成20250607这种格式,用来做文件名后缀,很实用。

循环那一节,systemctl is-active会返回一个状态,比如active或inactive。对第一次作业来说,不需要你把整个 systemd 机制搞懂,只要理解脚本可以把重复性的检查自动化,就够了。

写脚本还有一条铁律:注释要写给人看。你三天后回看自己的脚本,基本不会记得当时为什么这么写。注释不用华丽,讲清楚“这段在干嘛”就行。这也是老师判作业时区分“背代码”和“真懂了”的重要依据。

5. 新手必踩的坑:问题排查实录

5.1 典型问题速查表:虚拟机蓝屏、网络不通、中文乱码

第一次作业最花时间的不是敲命令,而是“莫名其妙的报错”。我把这些年带新人遇到的高频问题整理成一张速查表,你遇到类似的直接对着看。

现象常见原因解决办法
VirtualBox 启动虚拟机蓝屏Windows Hyper-V 与 VirtualBox 冲突,或 BIOS 虚拟化未开关闭“Windows 功能”里的 Hyper-V、虚拟机平台;进 BIOS 开启 VT-x/AMD-V
安装时提示找不到镜像或磁盘ISO 文件损坏,或分区时没创建根分区重新校验 SHA256;手动分区时至少分配一个挂载点为/的分区
虚拟机内没有网络网卡没启用,或 DHCP 没拿到地址ip link set dev enp0s3 up,用dhclient enp0s3重新获取地址
终端中文显示乱码缺少中文字体或 locale 未设置安装 fonts-noto-cjk 或中文字体;配置locale-gen并设置LANG=zh_CN.UTF-8
输入法切不出中文桌面环境缺少输入法框架安装 fcitx5 或 ibus,并设置环境变量GTK_IM_MODULE=fcitx等
sudo 报错“command not found”当前用户不在 sudo 组,或没有安装 sudousermod -aG sudo 用户名,重新登录
脚本执行报 Permission denied没有添加执行权限chmod +x 脚本名
端口被占用之前启动的进程还在监听ss -tlnp找到 PID,kill PID,不要盲目重启

这些坑里我想单独说一下“网络不通”。很多人在虚拟机里遇到“ping www.baidu.com 不通”就直接懵了,其实第一步要区分是 DNS 解析失败还是路由不通。先用ping 223.5.5.5测一个公共 IP 地址(比如阿里公共 DNS),如果 IP 能通而域名不通,那就是 DNS 配置问题;如果都不通,再去查网卡和路由。这个排查顺序,我第一次作业的时候完全没概念,后来工作了才学会。这是很重要的方法论,建议你现在就养成。

5.2 你不知道去哪儿查命令:man、help、历史命令、搜索习惯

第一次作业里最应该养成的“元能力”,不是记命令,而是“当你不认识一个命令时,知道怎么查”。

第一层是man。man ls会打开这个命令的完整手册,按 q 退出。里面内容很密,新手可能看不下去,但你至少要能看懂 SYNOPSIS(语法概要)和 OPTIONS(参数列表)。

第二层是--help。如果某个命令带了--help参数,比如tar --help,它通常会输出一屏精简的用法说明,比 man 页友好得多。我第一次用tar解压文件的时候,就是一边tar --help一边自己试参数,搞了两三次就记住了。

第三层是历史命令。你在终端里按上下方向键可以翻之前敲过的命令,按Ctrl+R可以反向搜索历史命令。这个技巧对写作业特别有帮助:刚才那条长命令敲错了一个参数,按两下方向键找回来改就行,不用从头再敲一遍。

第四层是上网搜索。搜的时候不要只输入“Linux 命令大全”,而是把报错信息原样贴进去搜,比如bash: xxx: command not found。你在网上搜到的高质量答案,往往是别人把“问题 + 上下文 + 解决方案”都描述清楚了的帖子。另外提醒一句,查资料尽量看官方文档和知名社区,别看到一篇文章就全盘照抄,很多老教程里的命令在现在的新发行版里已经变了。

6. 第一次作业之后:往哪个方向继续走

6.1 命令没问题了,怎么衔接运维、嵌入式或者开发

作业交完,Linux 的学习算是刚迈出第一步。接下来你会发现,网上关于 Linux 的热搜词经常会把你带向几个不同的方向:有的是运维常用的“Linux 常用命令大全”“Linux 安装 Docker”,有的是开发的“Linux 配置 JDK”“Linux 系统安装 Python”,还有的是底层的“嵌入式 Linux”“Linux DSA 交换机驱动”等等。

我的建议是,先别急着追热点,先把“通用底座”打牢。所谓底座,就是进程管理、文件系统、权限模型、网络配置、Shell 脚本这五件事。比如你会ps看进程,会kill结束进程,后面学 Nginx、学 Docker、学服务管理,全靠这些基本功。

然后根据你的方向做选择:

  • 如果你对运维感兴趣,下一步重点学systemctl服务管理、编写 systemd unit 文件、配置防火墙、学会用包管理安装软件,再尝试在一台虚拟机里部署一个 Nginx 或者 MySQL。这些流程能帮你建立“类生产环境”的概念。
  • 如果你偏开发,重点学编辑器(vim 或 VS Code Server)、Git 协作、环境变量配置、脚本自动化,以及会看日志文件。写代码时遇到依赖装不上、端口被占用、权限不足,都能用 Linux 基础命令快速排查,这是开发者拉开差距的地方。
  • 如果你对底层和嵌入式感兴趣,那就要耐得住性子,从交叉编译、驱动模型、设备树这些概念开始啃。网上热词里的 PHY、MDIO、I2C、DSA 交换机驱动都属于这个方向,建议先补汇编和 C 语言基础,别一上来就看驱动源码,会看得怀疑人生。

6.2 练习节奏和面试热身:高频考点背后的能力

很多同学明年要参加实习或者校招,看到网上的“Linux 面试题”就开始焦虑。其实面试题大部分都不会脱离第一次作业教的那些东西,只是加了深度和场景。比如:

  • 面试官问“如何查看一个进程占用了多少内存”,答案不只是一条ps aux,而是你能进一步解释 RSS 和 VSZ 的区别。
  • 问“如何查看端口被哪个进程占用”,你能答出ss -tlnp,并且能看懂 PID、进程名、监听地址。
  • 问“如何批量重命名文件”,你能用 Shell 的循环配合mv写一个 for 语句。
  • 问“软链接和硬链接的区别”,这是文件系统方向非常经典的八股,也是很多人在第一次作业后应该主动搞懂的点。

这些能力都不是一天练成的,但起点都是第一次作业里那几行最朴素的命令。所以我给你的练习节奏建议是:每周抽两次,每次一小时,把这一周工作或作业里遇到的场景用脚本自动化一遍。哪怕只是写一个“清理临时文件”的脚本、一个“批量查多台机器磁盘”的脚本,都比你背二十条命令强。

面试前的热身也很有针对性。你不需要把发行版所有命令都刷一遍,而是要能流畅地讲清楚几个核心场景:系统启动之后你怎么看状态?发现磁盘满了你怎么处理?有一个服务起不来你怎么排查日志?把这三个问题用命令 + 思路串起来,你在 Linux 面试里的表现已经超过大多数刚入门的人了。

6.3 我的个人体会:别怕敲错,敲错了才是收获

最后再多说几句体会。带过不少人做第一份 Linux 作业之后,我最大的感觉是:Linux 学习不是靠“看”出来的,而是靠“错”出来的。

我在最初学的时候,有一次执行rm -rf加了一个变量没展开,差点删掉家目录里的所有东西。当时吓得手心冒汗,但那一瞬间我把“命令会真的执行”“路径一定要确认”这两个概念刻进了骨子里。从此以后,凡是删除操作,我都会先用ls看清楚,然后在命令里写明确切的路径,绝不用模糊匹配。这种谨慎不是胆小,而是 Linux 老手必备的修养。

第二次作业、第三次作业、第一次部署服务、第一次排查线上故障,你都会不断地发现:原来终端里那个闪动的光标不是“黑科技”,它只是一台听你话做事的机器。你让它删,它就删;你让它查,它就查;你让它重复跑一百遍,它也毫无怨言。所以,如果你现在正卡在第一次作业的某一步,别急着怀疑自己是不是“不适合学这个”;先把环境装好,把命令敲熟,把脚本写出来,哪怕丑一点、慢一点都行。只要你自己在终端里跑出来的结果是正确的,那种“我居然能让这台机器听我的话”的感觉,是真的会上瘾。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 12:44:32

FastAPI文档页白屏?从CDN替换到离线部署的完整方案

如果你把一个 FastAPI 服务部署到公司内网,大概率会遇到一个让人头疼的场景:业务代码跑得好好的,但打开 /docs 页面时一片空白,F12 里飘着十几个红色加载失败。问题十有八九出在 Swagger UI 的 CDN 资源上——FastAPI 默认从公共…

作者头像 李华
网站建设 2026/10/1 12:44:21

Matlab实现BEMT螺旋桨性能分析:从叶片单元动量理论到工程扫参实践

做螺旋桨选型或者飞行器动力评估的人,多少都绕不开叶片单元动量理论这四个字。它不像CFD那样能追着每个涡跑,但胜在计算速度快、物理图像清楚、参数扫描方便,特别是做方案对比和趋势判断的阶段,一套BEMT程序顶得上你在网格上面熬好…

作者头像 李华
网站建设 2026/10/1 12:42:43

百度二面:ThreadLocal 传参如何使用?2 万字深度详解

开场:为什么百度面试官总爱追问 ThreadLocal 传参很多人会把 ThreadLocal 理解成一个「线程专属的全局变量」或者「线程本地缓存」,但要真的把它讲透,面试官经常会从「传参」这个非常具体的切入口,一路追问到底层实现、内存模型、…

作者头像 李华
网站建设 2026/10/1 12:41:53

TensorFlow.js 浏览器端实时目标检测:架构设计、后端调度与工程实践

项目代号我起了个名字叫 Omni,核心是用 TensorFlow.js 在浏览器端做实时目标检测。起因是当时做的远程损伤评估系统,用户上传现场照片后,要等服务器返回检测框和置信度。前端的体验倒还能接受,可一压测就露馅了:高并发…

作者头像 李华
网站建设 2026/10/1 12:41:46

【C++笔记】从 C 到C++:核心过渡 (上)

前言C 和 C 的关系经常被两种极端说法描述:一种说"C 就是 C 加上了类",另一种说"C 是全新的语言,C 的写法都不作数"。两种都不准确。C 确实脱胎于 C(早期叫 "C with Classes")&#xff…

作者头像 李华
网站建设 2026/10/1 12:41:24

基于Django和Vue3的Web入侵检测扫描工具构建实践

前一阵子我接到一个Web入侵检测扫描工具的研发任务,需求文档技术栈那栏写得很壮观——PHP、ASP.NET、Java、Springboot、SSM、Vue3排了一整行,末尾还补了一句“技术栈可以再议,优先保证功能落地”。看到这个备注我就明白了,需求方…

作者头像 李华