Skip to content

Lecture10 大杂烩

:material-circle-edit-outline: 约 1167 个字 :material-clock-time-two-outline: 预计阅读时间 4 分钟

修改键位映射

键盘是你的主要输入工具。它像计算机里的其他部件一样是可配置的,而且值得你在这上面花时间。

一个很常见的配置是修改键位映射。通常这个功能由在计算机上运行的软件实现。当某一个按键被按下,软件截获键盘发出的按键事件(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