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

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

换行回车

回忆上次内容

  • 换行回车 是两回事
  • 换行
  • 对应字节0x0A
  • Line-Feed
  • 水平 不动
  • 垂直 向上喂纸
  • 所以是 feed
  • 回车
  • 对应字节0x0D
  • Carriage-Return
  • 垂直 不动
  • 水平 到纸张左侧
  • 可移动的打印头
  • 运输字符 的 装置 (Carriage)
  • 到 行首
  • 所以是 Return
  • ttyterminalshellconsole
  • 好像 都叫 终端
  • 有什么 不一样 吗?🤔

区分 几个概念

  • Console 控制台
  • 可以 理解为 主机(MainFrame) 的 控制面板
  • 从底层 监控 硬件状态
  • 有 显示寄存器状态 的 指示灯
  • 有 直接操作寄存器 的 开关
  • 而且 控制台与主机 直接物理连接
  • 无法 远程操作
  • terminal终端
  • 主机网络中 最终的端点
  • 一般 是 电传打字机(tty)之类的 硬件
  • 当时的 大流行设备
  • Teletype Model 33
  • Xterm 全称是
  • X Window terminal
  • terminal 上面运行着的 才是shell
  • terminal 这个单词 来自于什么呢?
  • term (学期)
  • 终端和学期
  • 又 有什么关系 呢?

term

  • term
  • term 作为时间段
  • 最重要的是 起点和终点
  • 比如 秋季学期 一般是 9月到12月
  • 开始点和结束点 决定的这段时间 叫做
  • 一个 term
  • 类似的 还有 任期、孕期、刑期 之类的
  • 都是 有头有尾的时间范围
  • terms and conditions
  • 条款 与 条件
  • 条款 限制了
  • 权利和义务的 范围
  • 出了这个边界
  • 就要 付违约金
  • term 作为 行业的术语
  • 俗话说 隔行如隔山
  • 想要
  • 了解 一个行业的逻辑
  • 必须 了解术语
  • 这些 术语、行话
  • 就像高墙一样
  • 把外面的人 隔开
  • 让 里面的人 沟通流畅
  • 术语 就是 行业圈子的 边界/终点

计算机 术语(term)

  • terminal
  • 作为一个 计算机(computer ) 术语(term)
  • terminal 指的是 终端
  • terminal 作为端点边缘
  • 还可以用在 空间概念 上
  • 也有 端点的意思
  • 边缘
  • 点 是 线段的边缘(term)
  • 线 是 面的边缘(term)
  • 航线的端点 就是 Terminal
  • 所以航站楼(T1、T2) 一般都是 T打头
  • 来自于terminal
  • 极端的情况 容易到头
  • terminal cancer
  • 癌症晚期

主机-终端时代

  • 一台主机可以连接多个终端
  • 通过 终端的shell 和 主机的kernel 交互
  • 主机的kernel 再去 和硬件交互
  • 可以说 终端上的 shell
  • 就是 当时的主界面
  • 就像 今天的浏览器图形用户界面
  • 后来
  • 个人电脑 普及
  • 人人 都有 自己的主机
  • 通过 自己的图形用户界面 操作
  • 使用图形化 的 控制面板
  • 到今天
  • 需要访问 的 数据
  • 多在 服务器上
  • 主机-终端模式 再次复活
  • 通过 客户端-服务器(client-server) 进行访问
  • 也可以 通过 浏览器-服务器(browser-server) 进行访问
  • 只不过
  • 这次重生 基于 tcp/ip网络
  • 主机 更多
  • 分布 更广
  • 网络 更复杂

shell

  • 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) 是什么?
  • 早年间 想要换行时
  • 就得 传过来 一个\n字符
  • 对应的字节 为 0x0a
  • 目的是 纸张向上一行
  • Line Feed
  • \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
目录
相关文章
|
19天前
|
Unix 编译器 Shell
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
本文回顾了计算机语言与操作系统的起源,探讨了早期 Unix 操作系统及其与 C 语言的相互促进发展。Unix 最初用汇编语言编写,运行在 PDP-7 上,后来 Thompson 和 Ritchie 开发了 C 语言及编译器,使 Unix 重写并成功编译。1974 年 Ritchie 发表论文,Unix 开始被学术界关注,并逐渐普及。伯克利分校也在此过程中发挥了重要作用,推动了 Unix 和 C 语言的广泛传播。
37 9
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
|
2月前
|
程序员 开发者
IDEA插件-Grep Console彩色控制台
IDEA插件-Grep Console是一款用于增强IDEA开发环境的工具,它可以帮助开发者更好地搜索和过滤控制台输出。
277 0
IDEA插件-Grep Console彩色控制台
|
3天前
|
Python
在python终端中打印颜色的3中方式(python3经典编程案例)
这篇文章介绍了在Python终端中打印彩色文本的三种方式:使用`colorama`模块、`termcolor`模块和ANSI转义码。
20 8
|
5天前
|
Python
[oeasy]python035_根据序号得到字符_chr函数_字符_character_
本文介绍了Python中的`ord()`和`chr()`函数。`ord()`函数通过字符找到对应的序号,而`chr()`函数则根据序号找到对应的字符。两者互为逆运算,可以相互转换。文章还探讨了单双引号在字符串中的作用,并解释了中文字符和emoji也有对应的序号。最后总结了`ord()`和`chr()`函数的特点,并提供了学习资源链接。
14 4
|
1月前
|
算法 Unix 程序员
[oeasy]python031_[趣味拓展]unix起源_Ken_Tompson_Ritchie_multics
回顾了上次内容关于调试的基本概念后,本文介绍了Unix操作系统的起源。从早期计算机任务的独占执行方式讲起,到1960年代 Dartmouth 开发出分时算法,使得一台主机能够面对多个终端,轮流使用CPU时间片。随后,贝尔实验室、通用电气和MIT合作开展Multics项目,项目成员Kenneth Thompson与Dennis Ritchie在此期间开发了一款名为《Space Travel》的游戏。然而,因金融动荡等原因,Multics项目最终被裁撤。Thompson和Ritchie后来利用实验室闲置的一台PDP-7计算机仅用三周时间就开发出了Unix操作系统的第一版,初衷是为了能够继续玩游戏。
36 3
|
10天前
|
Unix 编译器 C语言
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ordinal_
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ord
12 0
|
1月前
|
程序员 开发工具 Python
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
23 2
|
1月前
|
程序员 Python
[oeasy]python0028_女性程序员_Eniac_girls_bug_Grace
回顾上次内容,我们了解到 `.py` 文件中的代码是按顺序一行行被解释执行的,可以使用 `pdb3 hello.py` 来调试程序。此外,我们探讨了“bug”这一术语的由来,它最早是在 1947 年由 Grace Murray Hopper 发现的一只真正的飞蛾所引起的计算机故障,从此“debugging”成了查找并修复程序错误的过程。早期的程序员大多为女性,因为她们通常更加细心且有耐心,这些特质对于检查错综复杂的线路和编程工作至关重要。编程与编织有着相似之处,都需要细致和有条理的操作。最后,我们认识到 bug 的存在是程序员工作的基础,没有 bug 就不需要程序员去修正它们。
36 3
|
2月前
|
Linux Python Windows
在终端怎么升级python
Windows上,使用`Win+R`打开命令行,运行`cmd`,然后用`python -m ensurepip --upgrade`更新pip。通常需从官网下载安装新版本Python。验证版本用`python --version`。 Mac/Linux,打开终端,用`conda update python`(Anaconda/Miniconda环境)或手动下载安装新版本。 验证版本:`python3 --version`或`python --version`。
64 9