Lecture10 大杂烩
修改键位映射
键盘是你的主要输入工具。它像计算机里的其他部件一样是可配置的,而且值得你在这上面花时间。
一个很常见的配置是修改键位映射。通常这个功能由在计算机上运行的软件实现。当某一个按键被按下,软件截获键盘发出的按键事件(keypress event)并使用另外一个事件取代。
- 将 Caps Lock 映射为 Ctrl 或者 Escape:Caps Lock 使用了键盘上一个非常方便的位置而它的功能却很少被用到,所以我们(讲师)非常推荐这个修改;
你也可以将键位映射为任意常用的指令。软件监听到特定的按键组合后会运行设定的脚本。
- 打开一个新的终端或者浏览器窗口;
- 输出特定的字符串,比如:一个超长邮件地址或者 MIT ID;
甚至更复杂的修改也可以通过软件实现:
- 映射按键顺序,比如:按 Shift 键五下切换大小写锁定;
- 区别映射单点和长按,比如:单点 Caps Lock 映射为 Escape,而长按 Caps Lock 映射为 Ctrl;
下面是一些修改键位映射的软件:
- Linux - xmodmap 或者 Autokey
- Windows - 控制面板,AutoHotkey 或者 SharpKeys
- QMK - 如果你的键盘支持定制固件,QMK 可以直接在键盘的硬件上修改键位映射。保留在键盘里的映射免除了在别的机器上的重复配置。
守护进程
大部分计算机都有一系列在后台保持运行,不需要用户手动运行或者交互的进程。这些进程就是守护进程(daemon)。
以守护进程运行的程序名一般以 d
结尾,比如 SSH 服务端 sshd
,用来监听传入的 SSH 连接请求并对用户进行鉴权。
FUSE
FUSE(用户空间文件系统)允许运行在用户空间上的程序实现文件系统调用,并将这些调用与内核接口联系起来。
备份
下面列举了一些关于备份的基础知识,以及一些常见做法容易掉进的陷阱。
首先,复制存储在同一个磁盘上的数据不是备份,因为这个磁盘是一个单点故障(single point of failure)。这个磁盘一旦出现问题,所有的数据都可能丢失。放在家里的外置磁盘因为火灾、抢劫等原因可能会和源数据一起丢失,所以是一个弱备份。推荐的做法是将数据备份到不同的地点存储。
同步方案也不是备份。即使方便如 Dropbox 或者 Google Drive,当数据在本地被抹除或者损坏,同步方案可能会把这些“更改”同步到云端。同理,像 RAID 这样的磁盘镜像方案也不是备份。它不能防止文件被意外删除、损坏、或者被勒索软件加密。
有效备份方案的几个核心特性是:版本控制,删除重复数据,以及安全性。
最后一点,不要盲目信任备份方案。用户应该经常检查备份是否可以用来恢复数据。
API(应用程序接口)
大多数线上服务提供的 API(应用程序接口)让你可以通过编程方式来访问这些服务的数据。
API 大多具有类似的格式。它们的结构化 URL 通常使用 api.service.com
作为根路径,用户可以访问不同的子路径来访问需要调用的操作,以及添加查询参数使 API 返回符合查询参数条件的结果。
以美国天气数据为例,为了获得某个地点的天气数据,你可以发送一个 GET 请求(比如使用curl
)到https://api.weather.gov/points/42.3604,-71.094
。返回中会包括一系列用于获取特定信息(比如小时预报、气象观察站信息等)的 URL。通常这些返回都是JSON
格式,你可以使用jq
等工具来选取需要的部分。
IFTTT 这个网站可以将很多 API 整合在一起,让某 API 发生的特定事件触发在其他 API 上执行的任务。IFTTT 的全称 If This Then That 。
常见命令行标志参数及模式
命令行工具的用法千差万别,阅读 man
页面可以帮助你理解每种工具的用法。即便如此,下面我们将介绍一下命令行工具一些常见的共同功能。
2024.2.15 13:14