03 嵌入式操作系统 | 常用命令Ⅰ:文件、查找与压缩

嵌入式操作系统 | 常用命令Ⅰ:文件、查找与压缩

模块一 · 2 学时 · 环境:VMware + Ubuntu 20.04

一句话概述:掌握文件与目录的增删改查、内容查看、文本查找以及打包压缩常用命令,配套课堂练习与课后作业。

本节目标

  1. 能用 cp、mv、rm、mkdir、touch 操作文件与目录
  2. 会用 cat、head、tail、grep 查看和筛选文件内容
  3. 会用 tar 打包压缩并解压文件

一、讲解内容

1.1 知识讲解

文件操作是嵌入式开发的日常。 无论写代码、改配置还是部署程序,都要反复和文件打交道。这一课把最常用的文件命令一次讲透,后面所有课时都会用到。

几个易混淆命令。 cp 复制、mv 移动或重命名、rm 删除、mkdir 建目录、touch 创建空文件或更新时间戳。rm 删除不可恢复,谨慎加 -r 删除目录;mv 同目录内移动等价于重命名。查看大文件通常不直接 cat(会刷屏),而是用 head 看开头、tail 看结尾(tail -f 可实时跟踪日志,嵌入式查程序日志极常用)。

查找文本用到 grep。 grep "关键字" 文件 打印匹配行。grep 常与管道配合:命令 | grep 关键字 在命令输出里筛关键字,是系统排障万金油。

打包压缩用 tar。 tar 把多个文件/目录打成单个包(不加前缀 - 的常见写法如 tar -czvf)。参数含义:-c 打包、-x 解包、-z gzip 压缩、-v 显示过程、-f 指定文件名。tar -czvf 包名.tar.gz 目录 打包含压缩,tar -xzvf 包名.tar.gz 解压。

1.2 代码示例

shell 复制代码
# 文件操作
mkdir -p lab/test            # 递归创建目录
touch lab/readme.txt         # 创建空文件
cp lab/readme.txt lab/a.txt  # 复制
mv lab/a.txt lab/b.txt       # 重命名(同目录移动)
rm lab/b.txt                 # 删除(删目录需加 -r)

# 内容查看与筛选
head -3 lab/readme.txt       # 看前 3 行
tail -f /var/log/syslog      # 实时跟踪日志
grep "error" /var/log/syslog # 过滤含 error 的行

# 打包压缩
tar -czvf lab.tar.gz lab     # 打包压缩 lab 目录
tar -xzvf lab.tar.gz         # 解压到当前目录

执行前后对比(cp 复制文件):

text 复制代码
# 执行前
~/lab$ ls
readme.txt

# 执行:cp readme.txt a.txt
~/lab$ cp readme.txt a.txt

# 执行后
~/lab$ ls
a.txt  readme.txt      # 新增 a.txt

1.3 常见错误与排查

现象 原因 解决
rm 报 "cannot remove: Is a directory" 直接用 rm 删目录 rm -r 目录 递归删除
tar 报 "Cannot open: No such file or directory" 目标目录不存在 先 mkdir 目标目录,或确认源目录路径
grep 查不到结果 关键字大小写不匹配 加 -i 忽略大小写:grep -i 关键字 文件
cat 大文件时终端刷屏刷不完 文件内容太多 改用 head / tail / less 分页查看

二、学生练习

本节命令速查表:

命令 作用 示例
mkdir -p 递归创建目录 mkdir -p lab/test
touch 创建空文件 touch a.txt
cp 复制 cp a.txt b.txt
mv 移动/重命名 mv a.txt b.txt
rm -r 删除(递归) rm -r lab
head/tail 查看头/尾 tail -f 日志
grep 筛选行 grep error f.log
tar 打包压缩 tar -czvf x.tar.gz dir
编号 任务 提示 预期结果
L3.1 创建目录 lab/src,并在其中建 3 个空文件 mkdir -p lab/src 后 touch ls lab/src 看到 3 个文件
L3.2 把其中 1 个文件重命名为 test.sh mv 旧名 test.sh 目录只剩重命名后的文件
L3.3 查看 /var/log 下最近日志 tail -5 /var/log/syslog 输出最近 5 行日志
L3.4 在日志中筛出含 "systemd" 的行 grep systemd /var/log/syslog 输出一列含 systemd 的行
L3.5 把 lab 目录打包压缩再解压到新目录 先 tar -czvf 再 tar -xzvf 解压后目录内容与源一致

三、作业

  • 必做:完成 L3.1--L3.5 全部练习,保存命令执行截图;回答 rm -r 与 rm 的区别,并说明为什么要谨慎使用 rm -r
  • 选做:用 find 找到 /etc 下任意 .conf 文件,再用 cp 复制到家目录;用 tar 对 home 下的某个目录打包,比较压缩后文件大小与源目录占用
  • 提交:命令截图 + 文字说明,命名 课时03-作业截图.png

四、本节小结与下节预告

本节掌握了文件增删改查、内容查看筛选、打包压缩三类最常用命令。下节进入常用命令Ⅱ:用户权限、进程管理与网络排查,学会用命令管理系统与排查网络问题。

相关推荐
Zenova EdgeOS6 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军7 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen7 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
忆挽篱笙歌8 小时前
进程控制管理
linux·运维·服务器
Escalating_xu8 小时前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip
Zucker n10 小时前
英语“论文”语法检查工具
linux·windows
苏宸啊10 小时前
Reactor反应堆模式
linux
骇客野人11 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维
_菜鸟果果11 小时前
高德地图 JS API 2.0 在国产 Linux/ARM 电脑上渲染失败 的排查与解决
linux·开发语言·javascript
GeW11 小时前
飞行汽车交付阿联酋,真正先“起飞”的是低空数据基座——红帽Linux与数据库高可用为什么成了低空运营的隐形跑道
linux