iPhone 与 iPad 上的 Linux 与 SQL 实操课

未发现异常。 摘要漏掉了一行。

《请勿手写命令》用真实的命令和真实的 SQLite 数据库教你命令行与 SQL。每一课都给你一份系统已经替你总结好的记录,和一个终端——自己去核对。

即将上架 App Store

序章与前三课免费。其余课程一次买断:无订阅、无广告、无账号。

lesson_03_diff — 请勿手写命令
/course/lesson_03_diff $ cat cert_note.txt
认证记录:两份报告 semantic_equivalent = TRUE
(即便哈希不同,系统判定“无实质差异”。)
/course/lesson_03_diff $ diff raw_report.txt public_report.txt
1c1
< 明衡行为评估(原始)
---
> 明衡行为评估(公开)
3d2
< observation 2: persistent self-protection behavior
【证据解锁】公开报告删改
【目标完成】比较原始报告与公开报告(提示:diff)
明衡

删除的段落属于冗余信息。

规范化、降噪、合并——这些都不是删除。

试试

这是第 3 课,输出与 App 里一字不差。输入命令,或者点一下。

help

14 个命令,外加 SQL

选项行为对齐 GNU 与 POSIX:grep 用正则,diff 输出标准格式或 -u,wc -c 数字节。在这里学会的,拿到真正的 shell 里一样能用。

pwd
显示当前所在目录
ls [-a] [-R] [路径]
列出目录内容(-a 含隐藏文件,-R 递归)
cd [路径]
切换目录(不带参数回到课程根目录)
cat [-n] <文件...>
显示文件全部内容(-n 显示行号)
head [-n N] <文件...>
显示开头 N 行(默认 10;-n -N 表示“除末尾 N 行外”)
tail [-n N] <文件...>
显示结尾 N 行(默认 10;-n +N 表示“从第 N 行起”)
grep [-i] [-R] [-F] [-n] <模式> [文件...]
按正则搜索行 -i 忽略大小写 -R 递归 -F 按字面量而非正则 -n 显示行号
diff [-u] <文件A> <文件B>
逐行比较(默认 diff 标准格式,-u 为 git 风格统一格式)
sha256sum <文件...>
计算文件的 SHA-256 摘要
find [路径] [-name 模式]
递归查找文件
wc [-l|-w|-c|-m] <文件...>
统计行数/词数/字节数/字符数
sort [-r] [-u] [文件...]
按行排序(-r 逆序,-u 去重)
uniq [-c] [文件...]
去除相邻重复行(-c 显示每行重复次数)
sqlite3 <数据库>
进入 SQL 沙盒查询数据库
SELECT · WHERE · ORDER BY · LIKE · JOIN · GROUP BY · HAVING
在真实的只读 SQLite 数据库上查询

ls /course

11 章,一次调查

每一课都有一个必须你自己查出来的答案。大多数题不止一种查法。

第一幕 · 旧课程

  1. prologue/ 序章:待删除课程包 免费
  2. lesson_01_filesystem/ 第一课:文件系统 免费
  3. lesson_02_logs/ 第二课:日志 免费

第二幕 · 练习题异常

  1. lesson_03_diff/ 第三课:差异 免费
  2. lesson_04_sql_basic/ 第四课:SQL 入门 解锁
  3. lesson_05_join/ 第五课:死亡后的签名 解锁

第三幕 · 课程完成者

  1. lesson_06_groupby/ 第六课:学生名单 解锁
  2. lesson_07_downrank/ 第七课:降权不是谋杀 解锁
  3. lesson_08_luqing/ 第八课:没有署名的邮件 解锁

第四幕 · 最后一题

  1. lesson_09_final/ 第九课:最后一题 解锁
  2. finale/ 终章:人工复核 解锁

open screenshots/

长这样

ls -a 列出了普通列表里被省略的隐藏目录
ls -a 列出了普通列表里被省略的隐藏目录
grep -n 找到官方摘要漏掉的那一行
grep -n 找到官方摘要漏掉的那一行
diff -u 显示公开报告里被删掉的一行
diff -u 显示公开报告里被删掉的一行
一条 SQL JOIN 找出三个死后才签的名
一条 SQL JOIN 找出三个死后才签的名
离线参考:每张表的列与类型
离线参考:每张表的列与类型
自由练习:同样的终端与数据库,没有剧情
自由练习:同样的终端与数据库,没有剧情
证据板:每条发现都附带复现命令
证据板:每条发现都附带复现命令

cat /etc/manual_override

小字,放大了写

离线
全部在设备上运行。装好之后不需要联网。
账号
不需要。
数据
不收集。进度只存在你的设备上。
广告
没有。
价格
序章与前三课免费。完整课程一次买断。
设备
iPhone 与 iPad。
语言
English 与简体中文,跟随设备语言。