作为 IT 领域的核心技能,Linux 操作系统凭借开源免费、稳定高效的特性,稳居服务器领域主导地位,更是程序员、运维工程师的必备硬核技能。本文基于黑马程序员经典教程,将复杂知识点拆解为通俗内容,每个命令搭配 1-2 个实战案例 + 详细解释,从理论到实操层层递进,帮你轻松入门 Linux,稳步拿下 95 + 的学习效果。
一、操作系统:计算机的 "大管家"
1. 计算机的核心组成
不管是日常使用的笔记本,还是机房里的服务器,计算机本质由两部分构成:
- 硬件资源:看得见摸得着的物理设备,比如 CPU、内存条、硬盘、键盘等;
- 软件资源:无形的程序和数据,比如办公软件、浏览器、游戏等。
软硬件就像汽车的零件和司机,需要一个 "中间人" 协调 —— 这就是操作系统(OS)。
2. 操作系统的核心作用
操作系统是直接运行在 "裸机" 上的基础软件,相当于计算机的 "大管家":
- 管理硬件资源:合理分配 CPU、内存、硬盘等,避免设备冲突;
- 支持软件运行:所有应用程序都需在操作系统支持下工作;
- 提供用户交互:通过图形界面或命令行让用户操作计算机。
3. 常见操作系统分类
| Windows | Windows 10/11 | 收费,图形界面友好,兼容性强 | 个人办公、娱乐、桌面编程 |
| macOS | Mac OS Ventura | 收费,生态闭环,流畅稳定 | 设计师、开发者桌面使用 |
| Linux | CentOS、Ubuntu | 开源免费,稳定安全,资源占用少 | 服务器、嵌入式设备、云计算 |
| 移动 OS | Android、iOS、鸿蒙 | 轻量化,适配触摸操作 | 智能手机、平板等智能设备 |
二、Linux 系统:开源世界的 "扛把子"
1. Linux 的起源故事
- 1969 年,Unix 系统在 AT&T 贝尔实验室诞生,成为早期服务器主流 OS;
- 因版权纠纷,Unix 衍生多个版本,普通用户难以接触;
- 1991 年,芬兰学生 Linus Torvalds 发布 Linux 第一个版本,遵循 GPL 开源协议,允许所有人免费使用、修改代码;
- 核心特点:模仿 Unix 功能和交互,但未抄袭源码,开源免费、安全性高、稳定性强。
2. Linux 的核心构成
Linux 系统如同 "组装机",核心由三部分组成:
- Linux 内核(Kernel):系统 "心脏",管理硬件资源,最初仅 1 万行代码,现由全球开发者共同维护;
- GNU 软件及系统软件:基础工具集,如命令行解释器、文件管理工具等;
- 应用程序:满足特定需求的软件,如 Web 服务器、数据库等。
3. 常用 Linux 发行版本
Linux 发行版是 "内核 + 软件集合" 的成品,无需自行组装,常见类型:
- 企业服务器版:CentOS、Redhat(红帽),稳定可靠,是企业服务器首选;
- 个人桌面版:Ubuntu,图形界面友好,适合新手入门;
- 其他版本:Debian、Fedora、ArchLinux 等,适配不同场景。
三、VMware 虚拟机:在 Windows 上玩转 Linux
学习 Linux 无需单独购买服务器,VMware 虚拟机可在 Windows/Mac 上快速搭建 Linux 环境。
1. 虚拟机的核心作用
VMware 就像 "虚拟盒子",能在一台物理电脑上模拟多个独立计算机:
- 隔离环境:Linux 和 Windows 互不干扰,系统崩溃不影响原系统;
- 硬件模拟:虚拟机拥有独立网卡、硬盘、内存,功能与物理机一致;
- 成本低廉:无需额外购买硬件,适合学习和测试。
2. 关键网络模式:NAT 模式
VMware 有三种网络模式,NAT 模式是新手首选,配置简单且能上网:
- 核心组件:VMnet8 虚拟交换机、虚拟 DHCP 服务器、NAT 设备;
- 上网原理:虚拟机通过 NAT 设备转发,共享主机 IP 地址上网;
- 通信规则:主机和虚拟机通过 VMnet8 虚拟网卡通信,虚拟机之间可互相访问。
3. CentOS7 安装步骤(实战版)
四、远程访问:SSH 协议的 "安全魔法"
Linux 服务器通常部署在机房,SSH 协议让我们可远程安全控制服务器。
1. SSH 协议的核心优势
SSH(Secure Shell)是安全的网络协议,核心作用:
- 加密传输:所有数据传输经过加密,防止被监听窃取;
- 远程登录:本地电脑登录远程服务器,操作如同本地电脑;
- 免密登录:配置后无需每次输入密码,方便服务器间通信。
2. SSH 登录原理(通俗版)
3. 常用 SSH 工具及登录案例
| FinalShell | 国产工具,图形界面友好 | 1. 打开 FinalShell,点击 "新建连接";2. 协议选择 SSH,填写服务器 IP(虚拟机 IP 可通过ifconfig查询);3. 输入用户名(root)和密码,点击连接 |
| Xshell | 功能强大,支持多标签 | 1. 新建会话,主机填写服务器 IP;2. 身份验证输入用户名和密码;3. 点击连接,首次登录会提示信任密钥,选择 "接受" |
| Putty | 轻量免费,无需安装 | 1. 输入服务器 IP 和端口(默认 22);2. 点击 "Open",输入用户名和密码即可登录 |
4. Linux 文件上传下载(实战案例)
远程操作常需传输文件,以下是 2 种常用方式的详细案例:
(1)SFTP 方式(SecureCRT 自带)
- 登录 SecureCRT 后,按Alt+P打开 SFTP 窗口;
- 上传文件:put 本地文件路径 服务器目标路径,示例:put D:\\test.txt /root(将本地 D 盘的 test.txt 上传到服务器 /root 目录);
- 下载文件:get 服务器文件路径 本地目标路径,示例:get /root/log.txt D:\\(将服务器 /root 目录的 log.txt 下载到本地 D 盘)。
(2)lrzsz 工具(开源免费)
- 安装 lrzsz:yum install -y lrzsz(CentOS 系统);
- 上传文件:输入rz命令,弹出文件选择窗口,选择本地文件即可上传;
- 下载文件:sz 服务器文件路径,示例:sz /root/test.tar.gz(下载 test.tar.gz 到本地默认路径)。
五、Linux 常用命令:玩转命令行(每个命令带实战案例 + 解释)
Linux 核心操作是命令行,掌握以下高频命令,可应对 80% 的日常需求(命令区分大小写)。
1. 目录和文件管理命令
(1)ls:查看目录内容
- 功能:列出指定目录下的文件和子目录;
- 常用参数:-a(显示隐藏文件,Linux 中以.开头的是隐藏文件)、-l(显示详细信息,权限、大小、修改时间等)、-h(人性化显示文件大小);
- 案例 1:ls -l /home(查看 /home 目录的详细内容,包含文件权限、拥有者、大小等);
- 案例 2:ls -ah(查看当前目录所有文件,包括隐藏文件,并用人性化方式显示大小);
- 解释:ls -l可简写为ll,是日常最常用的命令之一,能快速了解文件的基本信息。
(2)cd:切换目录
- 功能:切换当前工作目录;
- 常用参数:~(用户家目录)、..(上一级目录)、.(当前目录);
- 案例 1:cd /root(切换到 /root 目录,绝对路径,从根目录开始);
- 案例 2:cd ../test(切换到当前目录的上一级目录下的 test 目录,相对路径);
- 案例 3:cd ~(快速切换到当前用户的家目录,root 用户的家目录是 /root);
- 解释:绝对路径从/根目录开始,路径唯一;相对路径从当前目录开始,需结合当前位置使用。
(3)pwd:查看当前目录路径
- 功能:显示当前所在的工作目录路径;
- 案例:pwd(执行后输出/root/test,表示当前在 /root/test 目录下);
- 解释:新手容易迷路,pwd命令能快速定位自己的位置,是必备的 "导航工具"。
(4)mkdir:创建目录
- 功能:创建新的目录;
- 常用参数:-p(递归创建多级目录,父目录不存在时自动创建);
- 案例 1:mkdir test(在当前目录创建名为 test 的目录);
- 案例 2:mkdir -p /a/b/c(创建 /a/b/c 三级目录,即使 /a 和 /a/b 不存在,也会自动创建);
- 解释:如果直接执行mkdir /a/b/c而不加-p,会提示 "无此文件或目录",-p参数是创建多级目录的关键。
(5)touch:创建文件
- 功能:创建空文件,也可用于修改文件的修改时间;
- 案例 1:touch readme.txt(在当前目录创建名为 readme.txt 的空文件);
- 案例 2:touch 1.txt 2.txt 3.txt(一次性创建多个空文件);
- 解释:touch命令创建的是空文件,若要编辑内容,需配合 vim 编辑器。
(6)rm:删除文件 / 目录
- 功能:删除文件或目录,危险命令,使用需谨慎;
- 常用参数:-r(递归删除目录及目录下所有内容)、-f(强制删除,无需确认);
- 案例 1:rm test.txt(删除当前目录的 test.txt 文件,会提示确认,输入 y 确认删除);
- 案例 2:rm -rf /tmp/test(强制删除 /tmp 目录下的 test 目录及所有内容,无确认提示);
- 警告:rm -rf /*是致命命令,会删除系统所有文件,导致系统崩溃,绝对不能执行!
(7)cp:复制文件 / 目录
- 功能:复制文件或目录到指定位置;
- 常用参数:-r(复制目录时必须加,递归复制目录下所有内容);
- 案例 1:cp test.txt /home(将当前目录的 test.txt 文件复制到 /home 目录);
- 案例 2:cp -r /root/test /home(将 /root 目录的 test 目录及所有内容复制到 /home 目录);
- 解释:复制目录时如果不加-r,会提示 "不是目录",-r参数是复制目录的必备参数。
(8)mv:移动 / 重命名文件 / 目录
- 功能:移动文件 / 目录到指定位置,或给文件 / 目录重命名;
- 案例 1:mv old.txt new.txt(将当前目录的 old.txt 文件重命名为 new.txt);
- 案例 2:mv test.txt /home(将当前目录的 test.txt 文件移动到 /home 目录);
- 解释:当目标路径和原路径在同一目录时,就是重命名;不同目录时,就是移动。
2. 文件内容查看命令
(1)cat:查看小文件内容
- 功能:一次性显示文件全部内容,适合查看小文件;
- 案例:cat /etc/passwd(查看系统用户配置文件的全部内容);
- 解释:如果文件过大,cat命令会一次性输出所有内容,导致前面的内容无法查看,此时需用more或less命令。
(2)more:分页查看大文件
- 功能:分页显示文件内容,按空格翻页,看完自动退出;
- 案例:more /var/log/messages(分页查看系统日志文件);
- 解释:适合查看几百行的大文件,翻页时按空格显示下一页,按q可提前退出。
(3)less:灵活查看大文件
- 功能:分页显示文件内容,支持上下翻页、搜索,按q退出;
- 案例:less /var/log/secure(查看安全日志文件,按上下方向键翻行,按/关键词搜索);
- 解释:less比more更灵活,支持向前翻页,是查看大文件的首选命令。
(4)head:查看文件前几行
- 功能:显示文件的前 N 行,默认显示前 10 行;
- 常用参数:-n(指定显示的行数);
- 案例 1:head /etc/profile(显示 /etc/profile 文件的前 10 行);
- 案例 2:head -n 5 /etc/profile(显示 /etc/profile 文件的前 5 行);
- 解释:常用于快速查看文件的头部信息,比如配置文件的注释说明。
(5)tail:查看文件后几行 / 实时查看
- 功能:显示文件的后 N 行,默认显示后 10 行,-f参数可实时查看文件更新;
- 常用参数:-n(指定显示行数)、-f(实时跟踪文件变化);
- 案例 1:tail -n 3 /var/log/messages(显示系统日志的最后 3 行);
- 案例 2:tail -f /var/log/nginx/access.log(实时查看 Nginx 访问日志,文件有新内容时会自动刷新);
- 解释:tail -f是运维常用命令,可实时监控日志文件,排查问题时非常实用。
3. 搜索命令
(1)find:按条件搜索文件
- 功能:在指定目录下按文件名、权限、大小等条件搜索文件;
- 语法:find 搜索目录 搜索条件 操作;
- 案例 1:find /root -name "*.log"(在 /root 目录下搜索所有后缀为.log 的文件);
- 案例 2:find . -size +100M(在当前目录下搜索大于 100M 的文件);
- 案例 3:find /home -perm 777(在 /home 目录下搜索权限为 777 的文件,777 表示所有用户可读写执行);
- 解释:find命令功能强大,支持多种搜索条件,-name是最常用的条件,支持通配符*(任意字符)和?(单个字符)。
(2)grep:搜索文件中的字符串
- 功能:在文件或命令输出中搜索符合条件的字符串;
- 常用参数:-v(排除指定字符串)、-c(统计匹配次数);
- 案例 1:cat test.txt | grep "hello"(在 test.txt 文件中搜索 "hello" 字符串,|是管道符,将前一个命令的输出作为后一个命令的输入);
- 案例 2:ps -ef | grep sshd(查找 sshd 服务的进程,ps -ef用于查看所有进程);
- 案例 3:ps -ef | grep sshd | grep -v grep(查找 sshd 进程,排除 grep 自身的进程);
- 解释:grep常与管道符|配合使用,是排查问题、查找关键信息的核心命令。
(3)which:查找软件安装路径
- 功能:在环境变量 $PATH 设置的目录中查找软件的安装路径;
- 案例 1:which python(查找 Python 的安装路径,输出/usr/bin/python);
- 案例 2:which ls(查找 ls 命令的路径,输出/bin/ls);
- 解释:适合快速定位已安装并配置环境变量的软件,若找不到,可能是软件未安装或未配置环境变量。
4. 压缩解压命令(tar)
Linux 中最常用的压缩格式是.tar.gz,核心命令tar兼具打包和压缩功能。
- 常用参数:z(用 gzip 算法压缩 / 解压)、c(创建压缩包)、x(解压压缩包)、v(显示操作过程)、f(指定压缩包文件名)、C(指定解压目录);
(1)打包压缩案例
- 案例 1:tar -zcvf test.tar.gz 1.txt 2.txt(将当前目录的 1.txt 和 2.txt 打包压缩为 test.tar.gz);
- 案例 2:tar -zcvf dir.tar.gz /root/test(将 /root/test 目录及所有内容打包压缩为 dir.tar.gz);
- 解释:zcvf是压缩的固定组合,z表示用 gzip 算法,c创建压缩包,v显示过程,f指定文件名,文件名必须放在最后。
(2)解包解压案例
- 案例 1:tar -zxvf test.tar.gz(将 test.tar.gz 解压到当前目录);
- 案例 2:tar -zxvf dir.tar.gz -C /home(将 dir.tar.gz 解压到 /home 目录,-C指定解压目录,必须是已存在的目录);
- 解释:zxvf是解压的固定组合,解压时无需指定压缩包格式,tar会自动识别。
5. 实用快捷键(提高操作效率)
- Tab:自动补全命令、文件名或路径,减少输入错误,连续按两次可显示所有候选;
- 上下方向键:查看历史命令,无需重复输入;
- Ctrl + a:光标快速跳到命令开头;
- Ctrl + e:光标快速跳到命令结尾;
- Ctrl + u:清空光标前的命令内容;
- Ctrl + c:终止当前正在执行的命令;
- history:查看所有历史执行命令,history 10显示最近 10 条命令。
六、vim 编辑器:Linux 下的 "全能记事本"
vim 是 Linux 内置的文本编辑器,功能强大,是修改配置文件、编写代码的必备工具,核心是 "模式切换"。
1. vim 的三种工作模式(必记)
刚打开文件时默认进入命令模式,三种模式的切换关系如下:
plaintext
命令模式(默认模式)
↓ 输入i/a/o
输入模式(编辑文本)
↓ 按Esc键
命令模式
↓ 输入:
底线命令模式(保存/退出/设置)
- 命令模式:不能编辑文本,只能执行光标移动、复制、删除等命令;
- 输入模式:可自由编辑文本,左下角显示 "INSERT";
- 底线命令模式:执行保存、退出、搜索替换等操作,命令以:开头。
2. 核心操作实战(每个操作带案例)
(1)打开 / 新建文件
- 案例 1:vim /etc/profile(打开已存在的 /etc/profile 配置文件);
- 案例 2:vim test.txt(新建 test.txt 文件,若文件不存在,保存后会自动创建);
- 解释:打开文件后默认进入命令模式,需切换到输入模式才能编辑。
(2)模式切换案例
- 命令模式 → 输入模式:
- i:在光标前插入文本(常用),示例:光标在 "hello" 的 "h" 后,按i可在 "h" 后输入内容;
- a:在光标后插入文本,示例:光标在 "hello" 的 "h" 后,按a可在 "h" 后输入内容;
- o:在当前行下方新建一行并插入,示例:光标在第 3 行,按o会在第 4 行新建一行并进入输入模式;
- 输入模式 → 命令模式:按Esc键,左下角 "INSERT" 消失即切换成功;
- 命令模式 → 底线命令模式:输入:,左下角出现:即切换成功。
(3)光标移动案例(命令模式)
- hjkl:上下左右移动光标(无需鼠标),h左、j下、k上、l右;
- gg:跳到文件第一行,示例:文件有 100 行,按gg直接跳到第 1 行;
- G:跳到文件最后一行,示例:按G直接跳到文件末尾;
- 0(数字 0):跳到当前行首,示例:光标在第 5 行中间,按0跳到第 5 行开头;
- $:跳到当前行尾,示例:光标在第 5 行中间,按$跳到第 5 行结尾;
- 3j:向下移动 3 行,示例:光标在第 2 行,按3j跳到第 5 行(数字可自定义)。
(4)复制粘贴案例(命令模式)
- yy:复制当前行,示例:光标在第 3 行,按yy复制第 3 行;
- 3yy:复制当前行及以下 2 行(共 3 行),示例:光标在第 3 行,按3yy复制第 3-5 行;
- p:在当前行下方粘贴,示例:复制第 3 行后,按p在第 4 行粘贴;
- P:在当前行上方粘贴,示例:复制第 3 行后,按P在第 2 行粘贴;
- 注意:从 Windows 复制内容到 vim 粘贴时,需在输入模式下进行,否则可能出现格式错乱。
(5)删除与撤销案例(命令模式)
- dd:删除当前行,示例:光标在第 3 行,按dd删除第 3 行;
- 3dd:删除当前行及以下 2 行(共 3 行),示例:光标在第 3 行,按3dd删除第 3-5 行;
- u:撤销上一步操作(后悔药),示例:误删一行后,按u恢复;
- Ctrl + r:反撤销,示例:撤销后想恢复之前的操作,按Ctrl + r。
(6)保存与退出案例(底线命令模式)
- :w:保存文件,示例:编辑完后,输入:w回车,保存当前修改;
- :q:退出 vim,示例:文件未修改时,输入:q回车退出;
- :wq:保存并退出,示例:编辑完成后,输入:wq回车,保存修改并退出;
- :q!:强制退出,不保存修改,示例:编辑错误不想保存时,输入:q!回车退出;
- 快捷操作:命令模式下按ZZ(大写),直接保存并退出,无需切换到底线命令模式。
(7)搜索与替换案例
- 搜索(命令模式):输入/关键词,回车开始搜索,n跳到下一个结果,N跳至上一个,示例:/root(搜索 "root" 字符串);
- 替换(底线命令模式)::%s/原内容/新内容/gc(全局替换),示例::%s/hello/hi/gc(将文件中所有 "hello" 替换为 "hi",c表示替换前确认,按y确认替换,n跳过,a全部替换);
- 局部替换::2,4s/hello/hi/g(将第 2-4 行的 "hello" 替换为 "hi",不加c直接替换)。
3. 异常处理:遇到.swp 文件怎么办?
如果 vim 编辑时突然关闭(断电、强制退出),会生成隐藏的.文件名.swp文件,下次打开时会提示错误。
- 解决方法 1:按D删除.swp 文件(放弃上次未保存的内容),之后正常编辑;
- 解决方法 2:按R恢复上次未保存的内容,编辑完成后,执行rm -rf .文件名.swp删除.swp 文件,避免下次提示。
七、学习总结与实战建议
1. 核心知识点回顾
- 操作系统是软硬件的 "中间人",Linux 的核心优势是开源免费、稳定安全;
- 虚拟机是学习 Linux 的最佳工具,NAT 模式配置简单、支持上网;
- SSH 协议实现远程安全登录,put/get和rz/sz是文件传输的常用方式;
- 命令行是 Linux 的核心,ls、cd、mkdir、rm、tar、grep是高频命令,需熟练掌握;
- vim 的三种模式是重点,记住 "先切换模式再操作",多练就能形成肌肉记忆。
2. 95 + 分实战建议
- 多动手操作:Linux 命令 "熟能生巧",每天花 30 分钟练习,比如用mkdir、touch创建目录文件,用tar压缩解压,用 vim 编辑文件;
- 模拟真实场景:搭建 Web 服务器(Nginx)、数据库(MySQL),用 SSH 远程管理,修改配置文件,排查简单故障;
- 记笔记整理:将常用命令和案例整理成文档,遇到问题时记录解决方案,形成自己的知识库;
- 善用帮助工具:命令 –help查看命令用法,man 命令查看详细手册,菜鸟教程、Linux 官方文档是优质参考资料;
- 避免踩坑:执行rm -rf命令前务必确认路径,修改系统配置文件前先备份(cp 原文件 原文件.bak)。
Linux 入门的关键在于 "多实践、多总结",掌握这些基础知识点后,你就能应对日常的服务器操作和开发需求,后续可深入学习 Shell 脚本、服务配置、集群部署等内容,逐步成为 Linux 高手!






