一、到底什么是 Linux?内核 & 服务器版一次讲清
Linux 和 Windows 一样,是操作系统,核心作用是管理电脑的 CPU、内存、硬盘、进程,支撑所有代码和程序运行。想要看懂 Linux,必须分清两个核心概念:
- Linux 内核:系统最底层的核心引擎,负责硬件调度、进程管理、内存分配、并发调度,没有界面、没有软件,是所有 Linux 系统的基础核心。
- Linux 发行版:在内核基础上,搭配命令工具、运行环境、系统组件,打包成可以直接使用的完整系统,比如 Ubuntu、Debian、CentOS 都是常见发行版。
而我们编程学习用到的,基本都是服务器版 Linux。服务器版 Linux 是专门为云端、机房服务器设计的系统版本,最大特点:砍掉图形桌面、只保留命令行、极致省资源、强化稳定和并发能力。服务器不需要鼠标、窗口、娱乐软件,只需要 7×24 小时稳定运行网站、接口、数据库、AI 服务,持续处理大量用户请求。
简单总结:桌面版 Linux 是给人手动操作的,服务器版 Linux 是给程序持续干活的。
二、为什么必须学习 Linux?本地高并发 GPU 开发的致命痛点
互联网后端、服务器开发、AI 高并发推理,几乎全部基于 Linux 环境,这也是所有开发者必学 Linux 的核心原因。Linux 内核原生支持海量进程、线程调度、IO 多路复用,天生适配高并发场景,能同时承载成千上万条用户请求,稳定性、资源利用率远优于桌面系统。
但初学者用本地 Windows 电脑学习,会遇到无法规避的硬件瓶颈:高并发、AI 推理任务包含海量矩阵运算,极度消耗 GPU 算力和显存。很多人误以为是 Linux 吃显卡,实则是高并发业务程序吃显卡。如果在 Windows 上用虚拟机、WSL2 运行 Linux,还会叠加虚拟化性能损耗,无法完整调用本地显卡性能。低配电脑极易出现卡顿、显存溢出、程序跑崩的问题,完全满足不了高并发学习和练习需求,这也是本地环境最大的短板。
三、CloudStudio(CodeBuddy)云端 Linux 开发环境:Windows 用户的最优解
针对本地电脑性能不足、GPU 算力不够、虚拟机卡顿的问题,CloudStudio 内置 CodeBuddy 云端开发环境,是最适合学生和新手的 Linux 学习、高并发开发方案,完美适配 Windows 系统用户。它本质是云端服务器版 Linux 环境,所有系统运行、代码编译、高并发运算、GPU 算力调度全部在远端云服务器完成,彻底摆脱对本地电脑硬件的依赖。
核心优势专门适配 Windows 学习者:
- 零环境配置:不用安装虚拟机、不用装 WSL2、不用折腾 Linux 系统,Windows 打开浏览器即可直接使用完整服务器版 Linux 环境,开箱即用。
- 不占用本地 GPU、CPU 资源:高并发计算、AI 推理、大规模程序运行全部由云端算力承担,本地 Windows 电脑仅负责界面展示,低配电脑也能流畅跑重型高并发任务。
- 原生适配 Linux 高并发场景:云端环境为服务器并发、算力任务优化,没有虚拟化损耗,完美复刻企业线上 Linux 服务环境,学习效果和企业开发完全对齐。
四、注册使用
链接
Cloud Studio - 新一代AI应用学习社区人工智能实训与学习平台,边学边练的系统化AI课程, 即开即用的丰富模板,提供免费GPU。是为教师, 学生, 开发者打造的新一代AI应用学习社区。https://cloudstudio.net/https://cloudstudio.net/
注册之后点击头像
在概览里面每日签到领取机时,计时是我们每天可以使用的时间额度
点击应用管理
创建应用
选择ubuntu创建
- 界面分成三块:
- 📁左侧:文件树,看到代码文件
main.cpp,相当于 Linux 里面的文件夹 - 📖中间:文档 README,教你怎么编译 C++ 代码
- ⌨️右上角「终端」:就是 Linux 黑命令行窗口,可以敲 Linux 命令。
我们就在终端学习Linux指令
五、Linux 指令
下面是一份完整的 Linux 核心笔记,覆盖目录结构、基础指令、权限、网络、进程、软件安装、SSH、Jupyter 和 Vim 编辑器,适配零基础自学、期末备考、面试复习以及 CodeBuddy 云端 Linux 环境。
1. Linux 核心目录结构(无盘符、一切皆文件)
Linux 没有 Windows 盘符(C/D 盘),所有文件都从/根目录开始:
/:根目录,所有文件的最顶层/boot:系统启动目录,存放内核、启动文件/etc:所有软件配置文件目录/etc/apt/sources.list:apt 软件镜像源配置文件/etc/passwd:系统用户信息/etc/group:系统用户组信息
/root:root 管理员专属家目录/home:普通用户家目录,例如/home/zzy/lib:系统依赖库文件/opt:第三方软件安装存放目录/proc:进程目录,一切皆文件,一个进程对应一个文件/var:软件工作目录,存放日志、运行数据/tmp:临时文件目录,重启自动清空/bin、/usr/bin、/usr/local/bin:普通用户可执行指令/sbin、/usr/sbin、/usr/local/sbin:管理员专属可执行指令
2. 基础核心指令
路径查看与切换
# 查看当前所在绝对路径 pwd 切换目录 cd ./ # 进入当前目录(无变化) cd ../ # 返回上一级目录 cd ~ # 回到当前用户家目录 cd - # 回到上一次所在目录ls 文件查看与权限识别
ls # 查看当前目录文件 ls -l # 列表详细展示(权限、类型、大小、时间) ls -h # 人性化显示文件大小 ls -a # 显示所有文件,包含 . 开头隐藏文件 ls -alh # 组合常用参数ls -l 首字符含义:
-:普通文件d:文件夹目录l:软连接(快捷方式)
文件/文件夹 创建、删除、移动、复制
# 创建 mkdir 文件夹名 # 创建空文件夹 mkdir -p a/b/c # 递归创建多级目录 touch 文件名 # 创建空文件 删除 rmdir 空文件夹名 # 仅删除空文件夹 rm 文件名 # 删除文件 rm -rf 文件夹名 # 强制删除非空文件夹/文件(常用) 复制 cp 源文件 目标路径/ # 复制不改名 cp 源文件 目标路径/新文件名 # 复制并改名 cp -r 源文件夹 目标路径/ # 复制非空文件夹 剪切/移动 mv 源文件 目标路径/ # 移动不改名 mv 源文件 目标路径/新文件名 # 移动并改名/重命名软硬链接
# 硬链接 ln 源文件 新文件 # 特点:不支持文件夹、同步修改、删源文件不影响链接文件 软链接(快捷方式) ln -s 源文件 新文件 特点:支持文件夹、体积极小、同步修改、删源文件链接失效文件内容查看与统计
wc -l 文件名 # 统计行数 wc -w 文件名 # 统计单词数 wc -m 文件名 # 统计字符数 cat 文件名 # 查看完整文件 head -n 10 文件名 # 查看前10行 tail -n 10 文件名 # 查看末尾10行 tail -f 文件名 # 实时监听日志(高频开发) less/more 文件名 # 分页查看:空格翻页、回车换行、q退出重定向与管道、过滤
# 重定向 ls -al / > test.txt # 覆盖写入文件 ls -al / >> test.txt # 追加写入文件 管道 | :左边输出作为右边输入 cat test.txt | more grep 过滤关键字 cat test.txt | grep -n 关键字压缩与解压
# tar 归档打包 tar -cvf 打包名.tar 源文件 # 创建打包 tar -tvf 打包名.tar # 查看打包内容 tar -xvf 打包名.tar # 解包 gzip 压缩解压(会删除原文件) gzip -r 打包名.tar # 压缩为 tar.gz gzip -d 打包名.tar.gz # 解压 zip 压缩解压 zip -r test.zip 文件夹/文件 # 压缩 unzip test.zip # 解压3. 用户与用户组管理
# 创建用户 useradd -m 用户名 -s /bin/bash # 创建用户+自动建家目录+指定终端 useradd -g 组名 用户名 # 指定所属用户组 删除用户 userdel -r 用户名 # 删除用户+清空家目录 设置密码 passwd # 修改root密码 passwd 用户名 # 修改指定用户密码 切换用户 su # 切换root su 用户名 # 切换普通用户 exit # 退出当前用户/终端 用户组操作 groupadd 组名 groupdel 组名4. 权限管理 chmod(必考)
9 位权限分为三组:当前用户(u)、所属组(g)、其他用户(o)。权限标识:r 可读(4)、w 可写(2)、x 可执行(1)、- 无权限(0)。目录有 x 才能 cd 进入,文件有 x 才能运行。
# 字母方式修改权限 chmod g+w 文件名 # 给组用户增加写权限 chmod g=rx 文件名 # 组用户权限重置为读+执行 数字方式修改权限(最常用) chmod 777 文件名 # 所有用户最高权限 chmod 750 文件名 # 所有者全部权限,组只读执行,其他无权限 chmod 000 文件名 # 无任何权限5. 系统、网络、进程信息
# 系统信息 uname -a # 查看系统内核 lscpu # 查看CPU信息 free -h # 查看内存 df -h # 查看磁盘 网络信息 ip address # 查看本机IP ping 网址 # 测试网络连通 netstat -tulnp # 查看端口占用、监听服务 curl 网址 # 网页请求 wget 网址 # 下载文件 进程管理 ps -ef | grep 进程名 # 筛选指定进程 kill -9 PID # 强制杀死进程(解决卡死)6. 软件安装与服务管理(apt / service / systemctl)
# apt 软件管理 apt update # 更新镜像源 apt install 软件名 # 安装软件 apt uninstall 软件名 # 卸载软件 服务启停(ssh、nginx等通用) service ssh start # 启动服务 service ssh stop # 关闭服务 service ssh restart # 重启服务 service ssh status # 查看服务状态 systemctl status 服务名 # 查看服务状态7. SSH 远程连接与 SCP 传输
# 安装ssh服务 sudo apt install openssh-server 远程连接Linux ssh 用户名@公网IP SCP 远程文件传输 scp 本地文件 用户名@IP:./ # 本地传远程 scp -r 本地文件夹 用户名@IP:./ # 传文件夹 scp 用户名@IP:./远程文件 ./ # 远程拉取到本地 scp -r 用户名@IP:./远程文件夹 ./8. Jupyter 网页开发环境
pip install jupyter jupyter notebook --allow-root --ip=0.0.0.0 --port=8899功能:网页交互式开发,支持代码、文档、图表、笔记。
9. Vim 编辑器全套操作(重点)
普通模式(默认进入)
光标移动:h 左、j 下、k 上、l 右。
gg:跳到文件开头G:跳到文件末尾M:跳到屏幕中间:行号:跳转到指定行
复制粘贴删除:
yy/n yy:复制一行/多行p:粘贴dd:删除整行x:删除单个字符D:删除光标后所有内容d0:删除光标前所有内容u:撤销Ctrl+r:重做
插入模式(编辑文本)
i:光标前插入I:行首插入a:光标后插入A:行末插入o:下方新建一行插入O:上方新建一行插入ESC:退回普通模式
命令模式(底部冒号)
:q # 正常退出 :wq # 保存并退出 :q! # 强制退出不保存 :set nu # 显示行号 :set nonu # 隐藏行号 /关键字 # 向下搜索 ?关键字 # 向上搜索 n/N # 切换搜索结果