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/srctouch 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 -czvftar -xzvf 解压后目录内容与源一致

三、作业

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

四、本节小结与下节预告

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

相关推荐
fengyehongWorld1 小时前
Linux 配置Syncthing的中继服务器
linux·运维·服务器
深念Y1 小时前
黑苹果P400-卡顿排查与优化记录
linux·macos·ios·pve·黑苹果·英伟达·n卡
张小姐的猫2 小时前
【AI大模型接入SDK】 —— Ollama本地接入Deepseek
java·linux·开发语言·网络·c++·人工智能
en.en..2 小时前
深入解析 fork:一次调用,两次返回的核心原理
linux·运维·服务器
kuroomi6 小时前
Docker 与容器基础
linux·运维·docker
fangjianj12 小时前
LAMP 项目部署
linux
mengge.cloud12 小时前
0909华为云计算类综合服务小白实验教程
linux·运维·服务器·网络·华为云·云计算
fangjianj13 小时前
自有服务及软件包
linux
风哥2号15 小时前
数据库教程FGMT03‑生产环境Linux+Oracle19c+ASM安装配置与项目实战
linux·数据库