换行回车
换行
和回车
是两回事换行
- 对应字节
0x0A
- Line-Feed
- 水平 不动
- 垂直 向上喂纸
- 所以是
feed
- 对应字节
回车
- 对应字节
0x0D
- Carriage-Return
- 垂直 不动
- 水平
回
到纸张左侧
- 可移动的打印头
- 运输字符 的 装置 (Carriage)
回
到 行首
- 所以是
Return
- 对应字节
tty
、terminal
、shell
、console
- 好像 都叫
终端
- 有什么
不一样
吗?🤔
- 好像 都叫
Console
控制台- 可以 理解为 主机(MainFrame) 的 控制面板
- 从底层 监控 硬件状态
- 有 显示寄存器状态 的 指示灯
- 有 直接操作寄存器 的 开关
- 而且 控制台与主机 直接物理连接
- 无法 远程操作
terminal
终端- 主机网络中 最终的端点
- 一般 是 电传打字机(
tty
)之类的 硬件- 当时的 大流行设备
- 是
Teletype Model 33
- 是
- 当时的 大流行设备
Xterm
全称是X Window terminal
terminal
上面运行着的 才是shell
terminal
这个单词 来自于什么呢?term
(学期)
- 终端和学期
- 又 有什么关系 呢?
term
term
作为时间段- 最重要的是 起点和终点
- 比如 秋季学期 一般是 9月到12月
- 开始点和结束点 决定的这段时间 叫做
- 一个
term
- 一个
- 类似的 还有 任期、孕期、刑期 之类的
- 都是 有头有尾的时间范围
terms
and conditions- 条款 与 条件
- 条款 限制了
- 权利和义务的 范围
- 出了这个边界
- 就要 付违约金
- 就要 付违约金
- 条款 限制了
- 条款 与 条件
term
作为 行业的术语- 俗话说 隔行如隔山
- 想要
- 了解 一个行业的逻辑
- 必须 了解术语
- 这些 术语、行话
- 就像高墙一样
- 把外面的人 隔开
- 让 里面的人 沟通流畅
术语
就是 行业圈子的边界
/终点
terminal
- 作为一个 计算机(computer ) 术语(term)
terminal
指的是终端
- 作为一个 计算机(computer ) 术语(term)
terminal
作为端点边缘- 还可以用在 空间概念 上
- 也有
端点
的意思
- 也有
- 边缘
- 点 是 线段的边缘(term)
- 线 是 面的边缘(term)
- 航线的端点 就是 Terminal
- 所以航站楼(T1、T2) 一般都是 T打头
- 来自于terminal
- 还可以用在 空间概念 上
- 极端的情况 容易到头
- terminal cancer
- 癌症晚期
- terminal cancer
- 一台主机可以连接多个终端
- 通过 终端的shell 和 主机的kernel 交互
- 主机的kernel 再去 和硬件交互
- 可以说 终端上的
shell
- 就是 当时的
主界面
- 就像 今天的
浏览器
或图形用户界面
- 就是 当时的
- 后来
- 个人电脑 普及
- 人人 都有 自己的主机
- 通过 自己的图形用户界面 操作
- 使用图形化 的 控制面板
- 到今天
- 需要访问 的 数据
- 多在 服务器上
- 主机-终端模式 再次复活
- 通过 客户端-服务器(client-server) 进行访问
- 也可以 通过 浏览器-服务器(browser-server) 进行访问
- 只不过
- 这次重生 基于 tcp/ip网络
- 主机 更多
- 分布 更广
- 网络 更复杂
shell
- 外壳- 终端硬件基础上的 软件外壳
- 可以有 不同的外壳 (
ksh
、csh
、bash
等) - python游乐场 也可以理解为 一个外壳(
shell
)
- 一套外壳 就是 一套命令解释系统
- 比如 执行
ls
命令- 就可以查看 当前文件夹中的 文件列表
ps
命令- 则可以 管理进程
- 比如 执行
- 在终端(
terminal
)上 通过壳子(shell
) 控制内核(kernel
)- 通过(kernel) 控制硬件
- 方便
tty
和电脑主机 交互
- 远程登录的ssh 是
Secure Shell
shell
的硬件装置 是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