SSH配置登陆密钥和别名

前言

通常在 Shell 中使用 SSH 连接远程服务器时,我们需要输入完整的 SSH 命令,如:

$ ssh [email protected]			#连接远端22端口并输入密码登陆

然后根据提示输入 user 用户的密码登陆主机。

有两个常用的参数:

  • -p 指定其他 SSH 端口,如 SSH 端口非 22 端口,可用此参数指定
  • -i 指定私钥通过密钥登陆,可配置好密钥后对免密登陆
## 连接远端1234端口
$ ssh [email protected] -p 1234

## 使用私钥id_rsa登陆
$ ssh [email protected] -i ~/.ssh/id_rsa

但是随着手头服务器配置的增加,而不同服务器 IP、端口、用户、使用的密钥均不同,每次繁琐地查询和输入这么多配置和参数实在是麻烦,何况我怎么记得住这么多 IP 地址啊!(主要还是因为懒

……

《精通正则表达式》学习笔记(四)


编写巧妙的正则表达式不仅仅是一种手艺(skill) 而且还是一种艺术(art)。

正则引擎的平衡法则

  • 只匹配期望的文本,排除不期望的文本。
  • 易于控制和理解。
  • 使用NFA引擎时必须保证效率——能够匹配时立即返回匹配结果,不能匹配时尽快报告匹配失败。
……

《精通正则表达式》学习笔记(三)


正则引擎的分类

正则引擎主要分为 3 类:

  1. DFA(符合或不符合 POSIX 标准的都属此类)
  2. 传统型 NFA
  3. POSIX NFA
引擎类型 程序 忽略优先量词(懒惰) 捕获型括号 回溯
DFA awk(大多数版本)、egrep(大多数版本)、flexlex、MySQL、Procmail 不支持 不支持 不支持
传统型 NFA GNU Emacs、Java、grep(大多数版本)、lessmore、.NET 语言、PCRE library、Perl、PHP(所有三套正则库)、Python、Ruby、sed(大多数版本)、vi 支持 支持 支持,但性能差
POSIX NFA mawk、Mortice Kern Systems'utilities、GNU Emacs(明确指定时使用) 不支持 支持 支持,但性能差
DFA/NFA 混合 GNU awk、GNU grep/egrep、Tcl 支持 支持 DFA 支持
  • 判断是否传统型 NFA:是否支持忽略优先量词(懒惰)。使用正则表达式 nfa|nfa not 来匹配字符串 nfa not,如果只匹配了 nfa,这就是传统型 NFA。如果整个 nfa not 都能匹配,则此引擎要么是 POSIXNFA,要么是 DFA。
……

播客札记(三):剧透&外卖

八分 第 80 期 | 剧透的思考练习:言论自由还是道德错误?

Episode Archive

  • 剧透的伦理学基础:功利主义(效用主义)。

  • 功利主义含义:所谓最大善的计算则必须依靠此行为所涉及的每个个体之苦乐感觉的总和,其中每个个体都被视为具相同分量,且快乐与痛苦是能够换算的,痛苦仅是 “负的快乐”。判断一件事的好坏,依据就是其是否增进人类最大的善,即增加人类的总体快乐。

  • 剧透带来的双成伤害:

    1. 剧透减少了观影的悬疑性,破坏了观影过程的乐趣;
    2. 剧透破坏了观影前对影视作品的期待与喜悦。
  • 剧透的言论自由基础:卡尔·波普尔在《开放社会及其敌人》中提出的「宽容悖论」。

  • 宽容悖论:

    无限的宽容必然导致宽容的消失。如果我们把无限的宽容延伸到那些不宽容的人身上,如果我们不准备捍卫宽容社会以抵抗不宽容的冲击,那么宽容将被摧毁,并且我们还将容忍他们。

……

《精通正则表达式》学习笔记(二)


正则表达式的发展历程

  • 1968 年 Ken Thompson 的文章 Regular Expression Search Algorithm 描述了一种正则表达式编译器,该编译器生成了 IBM7094 的 object 代码。由此也诞生了他的 qed,这种编辑器后来成了 Unix 中 ed 编辑器的基础。

  • ed 有条命令 g/Regular Expression/p,读作 Gjobal Regular Expression,Print(应用正则表达式的全局输出)。这个功能最终成为独立的工具 grep,之后又产生了 egrep(Extended grep)。

  • POSIX(Portable Operating System Interface,可移植操作系统接口)诞生于 1986 年,它是一系列标准,确保操作系统之间的移植性。POSIX 把各种常见的流派分为两大类: Basic Regular Expressions(BREs)和 Extended Regular Expressions(EREs)。POSIX 程序必须支持其中的任意一种。

POSIX 正则表达式流派

  • Perl 的特性中值得一提的是,它提供了传统上只有专用工具 sedawk 才提供的正则表达式操作符——这在通用脚本语言中是个首创。正则引擎的代码来自一个早期的项目——Larry 的新闻阅读器 rn(其中的正则表达式代码来自 James Gosling 的 Emacs。(James Gosling 后来去开发他自己的语言 Java,Java 1.4 提供了一个标准的正则表达式包。)

  • 1997 年 Philip Hazel 开发了 PCRE,这是一套兼容 Perl 正则表达式的库,全面仿制 Perl 的正则表达式的语法和语义。其他的开发人员可以把 PCRE 整合到自己的工具和语言中,许多流行的软件都使用了 PCRE,例如 PHPApache 2EximPostfixNmap

……