命令行入门:终端、Shell 和文件操作基础
命令行入门终端、Shell 和文件操作基础开头RHCE 培训进到第二周了开始讲命令行的工作原理。第一周还在敲cd、ls这周突然跳到终端和 Shell 的区别、Linux 一切皆文件这些偏概念的东西。培训讲师讲终端的时候指了下屏幕上的黑窗口讲 Shell 的时候又指了下同一个黑窗口我当时就纳闷了——这不是同一个东西吗为什么两个名字后来问了旁边人才知道终端Terminal就是那个黑乎乎的窗口界面负责让你能输入和看输出。而 Shell 是藏在后台的解释器真正执行命令的是它。打个比方终端是食堂打饭的窗口Shell 是窗口后面的厨师。你对着窗口点菜窗口告诉厨师厨师做好端出来。窗口不负责做菜厨师才是干活的。环境照旧虚拟机VMware Workstation 17 ProRHEL 9RHCE90 课程环境远程连接MobaXterm分屏和右键粘贴功能很方便个人折腾WSL2 Ubuntu 22.04第 2 章 访问命令行1. 终端和 Shell 是什么关系先说结论终端负责输入输出界面Shell 负责解释执行命令。常见的 Shell 有这几种Shell说明bash最主流CentOS / Ubuntu 默认学它就够了shBourne Shell比较古老的 Shell考试可能会提到zshbash 的美化增强版macOS 默认fish对新手友好有语法高亮和自动补全但教学环境少见csh / tcshC 语言风格的 Shell偶尔会提到在终端里输入echo $SHELL可以看到自己用的是哪个 Shellcat /etc/shells可以看系统装了哪些 Shell。我最初以为终端就是 Shell讲师问常见的 Shell 有哪些我答了Windows Terminal、MobaXterm、FinalShell——这些都是终端软件不是 Shell。被纠正了才分清这两个概念。2. CLI 和 GUICLI命令行界面就是敲命令操作GUI图形用户界面就是点鼠标操作。CLIGUI操作方式敲命令点鼠标资源占用低高批量处理一行命令处理大量文件难以批量远程管理SSH 即可需要远程桌面对于初学者来说用 CLI 学 Linux 一个很现实的原因服务器默认不装桌面。你买一台云服务器SSH 连上去就是黑框框没有桌面可以点。而且很多操作用 CLI 确实更方便——比如批量改 1000 个文件名GUI 上改到什么时候去。3. 查看文件内容的命令catfile.txt# 查看整个文件适合短文件lessfile.txt# 分页查看空格翻页q 退出morefile.txt# 也是分页但只能往下翻head-n5file.txt# 只看前 5 行tail-n10file.txt# 只看后 10 行tail-ffile.txt# 实时追踪文件更新看日志用我第一次用cat打开了一个几万行的配置文件终端疯狂刷屏完全翻不到头最后只能关掉重开。后来才知道长文件用less短文件用cat。命令适合场景翻页实时更新cat小文件❌❌less大文件✅ 双向❌more大文件基本被 less 替代✅ 单向❌head只看开头❌❌tail只看结尾 / 监控日志❌✅-f第 3 章 从命令行管理文件1. “Linux 一切皆文件”这句话我听了好几遍才理解。在 Linux 里很多东西都被抽象成了文件普通文件.txt、.log→ 是文件目录 → 是一种特殊文件记录了下级内容的清单键盘输入 → 是文件/dev/stdin屏幕输出 → 是文件/dev/stdout硬盘 → 是文件/dev/sda网络连接 → 也是文件socket好处是可以用同一套方式操作不同类型的东西。比如往屏幕对应的文件里写就是在屏幕上显示从键盘对应的文件里读就是在读输入。Linux 文件系统是一个倒置的树形结构最顶层是/根目录下面分出各种子目录。2. 重要目录及其用途RHCE 考试喜欢考这些整理了一下目录用途/根目录一切起点/rootroot 用户的家目录/home普通用户家目录的上级目录/etc系统配置文件/var经常变动的数据日志等/var/log系统日志/bin常用命令二进制文件/sbin系统管理命令/usr用户安装的程序和数据/tmp临时文件重启后消失/dev设备文件/proc进程信息虚拟文件系统有一次我看到/tmp占了几百 MB想着反正是临时文件直接rm -rf /tmp/*全删了。后来编译程序时报一堆错。后来才知道很多程序运行时会往/tmp写临时文件不能随便清空。3. 绝对路径和相对路径这个其实很简单但我刚学的时候老是转不过弯绝对路径从/开始写不管你在哪都能找到。完整地址/home/zhangsan/readme.txt相对路径从当前位置开始写用.表示当前目录..表示上级目录。比如你在/home/zhangsan/下可以写documents/readme.txt我的记法绝对路径是收货地址省/市/区/街道全国通用相对路径是出门左拐第二个路口右转依赖于你现在在哪。# 我在 /home/zhangsan/ 下cat/etc/passwd# 绝对路径在哪都能用cat../../etc/passwd# 相对路径往上翻两级一开始我在/home目录下想进documents文件夹直接敲cd documents报错因为/home下面根本没有documents。后来养成习惯先pwd看自己在哪再决定用绝对路径还是相对路径。4. rm -r 和 rmdir 的区别命令作用能删非空目录rmdir 目录名等于rm -d删除空目录❌rm -r 目录名递归删除目录及其内容✅rmdirtestdir# 只能删空目录rm-rtestdir# 有内容也能删rm-rftestdir# -f 强制删除不提示我有一次用rmdir删一个目录系统报Directory not empty我还愣了半天——目录不就是用来删的吗后来才知道rmdir只删空目录有文件得用rm -r。另外有个安全提醒rm -rf手滑会出事。我同学有一次想删当前目录下所有文件本来想打rm -rf ./*结果少打了个点变成rm -rf /*虽然新版 Linux 有保护机制没执行成功但也把大家吓得不轻。5. 文件间的链接硬链接和软链接这个概念我刚开始也不太理解后来找了个比喻文件 一本书的内容数据文件名 指向这本书的书签硬链接Hard Link相当于给同一本书多贴了几个书签。删掉其中一个书签书还在只要还有别的书签指向它。所有硬链接指向同一份数据不能跨文件系统不能给目录创建硬链接软链接 / 符号链接Symbolic Link相当于创建了一个快捷方式。快捷方式指向原文件原文件删了快捷方式就打不开了变成死链接。可以跨文件系统可以给目录创建链接创建和查看# 硬链接ln原文件 硬链接名# 软链接ln-s原文件 软链接名# 查看ls-l# 软链接会显示 - 指向的目标stat文件名# 可以看到有几个硬链接指向这个文件ls -l输出中软链接会带箭头lrwxrwxrwx.1root root8Jul2110:00 link_to_file -file.txt# ^ 第一个字符是 l表示链接文件硬链接在ls -l里看起来和普通文件一样但第二列数字表示硬链接数-rw-r--r--.2root root0Jul2110:00 file.txt# ^ 这个 2 表示有 2 个硬链接指向这个文件对比特性硬链接软链接本质多个文件名指向同一份数据一个指向原文件路径的引用跨文件系统❌✅链接目录❌✅原文件删除后还能访问断链ls -l显示像普通文件带-箭头6. 通配符通配符匹配规则*任意多个任意字符?恰好一个任意字符???恰好三个任意字符a*以 a 开头后面任意_b下划线 b_c*下划线 c后面任意[ac]*以 a 或 c 开头后面任意[^abc]不是 a/b/c 的任意一个字符[!abc]同上!和^意思一样都表示取反[^abc]和[!abc]我当初纠结了好久一个用^一个用!到底有什么区别后来发现没区别只是不同语境下的写法变体。考试写哪个都行注意看课件用的是哪个。7.${HOSTNAME}、$(hostname)、反引号的区别这三个写法长得像但做的事情完全不同写法含义${HOSTNAME}读取 Shell 变量HOSTNAME的值$(hostname)执行hostname命令把输出替换到当前位置反引号hostname和$()一样也是执行命令旧式写法不推荐echo$HOSTNAME# 输出变量值localhost.localdomainecho$(hostname)# 执行命令输出localhost.localdomainhostname# 直接执行命令结果一样简单记${}用来取变量的值$()用来执行命令并把结果放进去。8. 单引号和双引号的区别引号变量替换${}命令替换$()双引号✅ 会替换✅ 会替换单引号❌ 原样输出❌ 原样输出namezhangsanechoHello,$name# 输出Hello, zhangsanechoHello, $name# 输出Hello, $name原样输出echoToday is$(date)# 输出Today is Mon Jul 21 ...echoToday is $(date)# 输出Today is $(date)刚学的时候有一次写 Shell 脚本想输出当前用户的 home 目录路径写了echo $HOME结果终端输出了字符串$HOME——单引号不会解析变量所有内容都是字面量。换了双引号就好了。我踩过的坑合集终端 ≠ Shell——终端是窗口界面Shell 是命令解释器考试别写混绝对路径从/开始相对路径从当前位置开始——不确定时先用pwd看一眼rmdir只删空目录有内容得用rm -r硬链接是多贴一张书签软链接是快捷方式单引号原样输出双引号解析变量和命令$()是执行命令${}是取变量值*匹配多个字符?匹配一个字符速记清单终端 窗口 Shell 解释器 绝对路径 从根写起 相对路径 从当前位置写起 rmdir 空目录 rm -r 任何目录 硬链接 多个书签 软链接 快捷方式 字面量 解析变量 * 多个字符 ? 一个字符 $(cmd) 执行命令 ${var} 取变量下一步打算把现在这些基础命令练熟RHCE 考试操作题要求速度不能边想边敲接下来 RHCE 课程要进 vim 和用户权限了得提前看看教材有空做一下红帽官网上的练习题巩固一下最后说两句学了这段时间发现 Linux 的命令其实很多都有规律——ls是 listpwd是 print working directoryrm是 remove。知道了缩写来源会好记很多。不过还是有一些命令偶尔会搞混du和df我每次都要想一下谁看磁盘谁看目录ln加不加-s也偶尔记反。不过老师说这种靠多用就好了不是靠背的。这周就先到这下周学 vim祝我好运。2026年7月 · 写于 RHCE90 培训第二周 · MobaXterm 里挂着一台 RHEL 9 虚拟机

相关新闻

新能源车辆云检测 API 快速接入与实战指南

新能源车辆云检测 API 快速接入与实战指南

在新能源汽车二手交易和车辆评估场景中,电池状态往往是决定车辆残值的核心因素。传统检测依赖线下设备读取 OBD 数据,不仅效率低,还受限于检测人员的经验差异。随着车联网数据的普及,通过云端接口直接获取车辆的电池健康度、循环次…

2026/7/23 22:06:10 阅读更多 →
钨金精准刀术中异常如何快速处理?

钨金精准刀术中异常如何快速处理?

手术中遇到钨金精准刀性能异常,最直接的快速处理原则是:立即暂停输出激活,检查刀头‑手柄连接是否松动、绝缘层有无肉眼可见破损,并根据情况调整暴露电极长度或直接更换电极。由丹美医疗推出的钨金精准刀 SWDJ‑B2 采用进口钨金材…

2026/7/23 22:05:10 阅读更多 →
gitlab 获取所有用户有效期,权限等信息

gitlab 获取所有用户有效期,权限等信息

#权限说明总结表格角色权限适用人群Guest创建 issue、发表评论,不能读写版本库无Reporter克隆代码,不能提交QA、PMDeveloper克隆代码、开发、提交、推送RDMaintainer维护项目、添加项目成员、编辑项目核心 RD 负责人Owner设置项目可见性、删除项目、迁移…

2026/7/23 22:05:10 阅读更多 →

最新新闻

每日一Go-83、Cobra 使用实战:10 分钟打造专业级 CLI 工具

每日一Go-83、Cobra 使用实战:10 分钟打造专业级 CLI 工具

工程里 80% 的自动化,都可以用一个 CLI 工具解决。而 Go 生态里,Cobra 几乎是事实标准。 今天这篇「每日一 Go」,我们不讲概念、不背 API,只讲实战:从 0 到 1,手把手带你用 Cobra 打造一个生产可用的命令行…

2026/7/23 22:13:16 阅读更多 →
基于SpringBoot的医疗管理系统设计

基于SpringBoot的医疗管理系统设计

摘 要 当前医疗领域面临信息化转型压力,传统管理模式中数据分散、流程冗繁以及资源错配等问题日益严重,导致诊疗效率难以满足患者增长的需求。为了打破数据孤岛并优化就医流程,开发一套集成化、智能化的医疗管理系统显得尤为紧迫。该系统旨…

2026/7/23 22:13:16 阅读更多 →
2026 AIGV 商用落地指南:主流 AI 视频生成平台横向评测

2026 AIGV 商用落地指南:主流 AI 视频生成平台横向评测

一、前言:2026 企业 AI 视频商业化现状依据 2026 年 AIGC 影像行业调研数据,国内超 78% 市场部门、电商企业开始常态化使用 AI 视频工具制作营销素材;传统商业短视频单条外包成本 500–2000 元,采用 AI 生成可将成本压缩 70% 以上…

2026/7/23 22:13:16 阅读更多 →
基于智能体的英语课程问答微信小程序的设计

基于智能体的英语课程问答微信小程序的设计

摘 要 传统英语教学模式下答疑反馈存在明显的时空局限,学生在自主练习时遇到的知识盲点难以获得即时解答。随着移动互联网与人工智能技术的普及,开发一套能够提供全天候交互支持的数字化学习工具成为提升英语教学质量的迫切需求。 本项目设计并实现了…

2026/7/23 22:13:16 阅读更多 →
威廉顶底 同花顺期货通指标

威廉顶底 同花顺期货通指标

今天给大家带来是一款同花顺期货通指标,并且已经上架到同花顺期货通的指标广场上了。喜欢的朋友可以去指标广场安装试用!!友情提示:(指标只是辅助,不作建议)拼多多店铺:指标公式编写…

2026/7/23 22:13:15 阅读更多 →
基于YOLO与PySide6的植物病害检测系统开发指南

基于YOLO与PySide6的植物病害检测系统开发指南

1. 植物病害检测系统概述在农业生产中,植物病害是影响作物产量和品质的重要因素。传统的人工检测方法效率低下且依赖经验,而基于深度学习的视觉检测技术为解决这一问题提供了新思路。这个植物病害检测系统整合了YOLO系列算法的最新版本(v5-v8…

2026/7/23 22:12:13 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻