欢迎光临散文网 会员登陆 & 注册

[oeasy]python0037_终端_terminal_电传打字机_tty_shell_控制台_console_发展历史

2023-01-05 20:58 作者:oeasy  | 我要投稿

换行回车

回忆上次内容

  • 换行回车 是两回事

    • 对应字节0x0D

    • Carriage-Return

    • 可移动的打印头

    • 所以是 Return

    • 垂直 不动

    • 水平 到纸张左侧

    • 运输字符 的 装置 (Carriage)

    • 到 行首

    • 对应字节0x0A

    • Line-Feed

    • 所以是 feed

    • 水平 不动

    • 垂直 向上喂纸

    • 换行

    • 回车

  • ttyterminalshellconsole

    区分 几个概念

    • 好像 都叫 终端

    • 有什么 不一样 吗?🤔

  • Console 控制台

    • 有 显示寄存器状态 的 指示灯

    • 有 直接操作寄存器 的 开关

    • 可以 理解为 主机(MainFrame) 的 控制面板

    • 从底层 监控 硬件状态

    • 而且 控制台与主机 直接物理连接

    • 无法 远程操作

  • terminal终端

    • X Window terminal

    • 当时的 大流行设备

    • Teletype Model 33

    • 主机网络中 最终的端点

    • 一般 是 电传打字机(tty)之类的 硬件

    • Xterm 全称是

    • terminal 上面运行着的 才是shell

  • terminal 这个单词 来自于什么呢?

    • term (学期)

  • 终端和学期

    term

    • 又 有什么关系 呢?

  • term

    • 条款 与 条件

    • 就要 付违约金

    • 权利和义务的 范围

    • 条款 限制了

    • 出了这个边界

    • 最重要的是 起点和终点

    • 比如 秋季学期 一般是 9月到12月

    • 开始点和结束点 决定的这段时间 叫做

    • 类似的 还有 任期、孕期、刑期 之类的

    • 都是 有头有尾的时间范围

    • 一个 term

    • term 作为时间段

    • terms and conditions

  • term 作为 行业的术语

    计算机 术语(term)

    • 就像高墙一样

    • 把外面的人 隔开

    • 让 里面的人 沟通流畅

    • 了解 一个行业的逻辑

    • 必须 了解术语

    • 俗话说 隔行如隔山

    • 想要

    • 这些 术语、行话

    • 术语 就是 行业圈子的 边界/终点

  • terminal

    • terminal 指的是 终端

    • 作为一个 计算机(computer ) 术语(term)

  • terminal 作为端点边缘

    • 点 是 线段的边缘(term)

    • 线 是 面的边缘(term)

    • 航线的端点 就是 Terminal

    • 所以航站楼(T1、T2) 一般都是 T打头

    • 来自于terminal

    • 也有 端点的意思

    • 还可以用在 空间概念 上

    • 边缘

  • 极端的情况 容易到头

    主机-终端时代

    • 癌症晚期

    • terminal cancer

  • 一台主机可以连接多个终端

    • 通过 终端的shell 和 主机的kernel 交互

    • 主机的kernel 再去 和硬件交互

  • 可以说 终端上的 shell

    • 就是 当时的主界面

    • 就像 今天的浏览器图形用户界面

  • 后来

    • 个人电脑 普及

    • 人人 都有 自己的主机

    • 通过 自己的图形用户界面 操作

    • 使用图形化 的 控制面板

  • 到今天

    • 需要访问 的 数据

    • 多在 服务器上

    • 主机-终端模式 再次复活

    • 通过 客户端-服务器(client-server) 进行访问

    • 也可以 通过 浏览器-服务器(browser-server) 进行访问

  • 只不过

    shell

    • 这次重生 基于 tcp/ip网络

    • 主机 更多

    • 分布 更广

    • 网络 更复杂

  • shell - 外壳

    • 终端硬件基础上的 软件外壳

    • 可以有 不同的外壳 (kshcshbash 等)

    • python游乐场 也可以理解为 一个外壳(shell)

  • 一套外壳 就是 一套命令解释系统

    • 则可以 管理进程

    • 就可以查看 当前文件夹中的 文件列表

    • 比如 执行 ls 命令

    • ps 命令

  • 在终端(terminal)上 通过壳子(shell) 控制内核(kernel)

    • 通过(kernel) 控制硬件

    • 方便 tty 和电脑主机 交互

  • 远程登录的ssh 是 Secure Shell

  • shell的硬件装置 是 tty

    tty

  • TTY TeleTYpewriter 电传打印机

    • 位于终端的 连接主机所用的 硬件

    • 接收 主机发送过来的 字节

    • 发送字节 给主机

  • 可以发送 abc之类 的 字母

  • 也可以发送 \n\r等 转义字符

  • 什么是 \r 来着?

    回顾

  • 想要知道 \r(return) 是什么...

    • 先回忆 \n(line-feed) 是什么?

  • 早年间 想要换行时

    • Line Feed

    • 就得 传过来 一个\n字符

    • 对应的字节 为 0x0a

    • 目的是 纸张向上一行

  • \n字符 可以 存储进文件吗?

    存储文件

  • 编写 一个纯文本

    • 输入 ab12

  • 中间加一个回车

  • :%!xxd

    • 将 文件 转化为 字节形态

  • 可以看到 回车换行的位置

    • 0x0a

  • 有了0x0a字符

    • 就有了 换行(line-feed)

    • 换行的同时 也自动回车了

  • 可是!

    • 我 没有给 回车字符\r

    • 就能 自动回车(退到行首) 了?

    • 换行 有 自动回车的功能 吗?

  • 先去总结

    总结

  • 区分概念

    • 主机旁边 的 控制面板

    • 终端硬件基础上的

    • 软件壳子

    • 电传打印机

    • 终端硬件

    • 主机网络中

    • 最终的 端点

    • terminal终端

    • TeleTYpewriter

    • shell

    • Console 控制台

  • 存储文件 的 时候

    • 我 在文件里 打了回车\n

    • 系统 将0x0a存入字节 进文件

    • 换行 自动就有 回车功能 了吗?🤔

  • 我们下次再看!👋

  • 蓝桥->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

  • 视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy



[oeasy]python0037_终端_terminal_电传打字机_tty_shell_控制台_console_发展历史的评论 (共 条)

分享到微博请遵守国家法律