换行回车

回忆上次内容

  • 换行回车 是两回事

    • 换行

      • 对应字节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

[oeasy]python0037_终端_terminal_电传打字机_tty_shell_控制台_console_发展历史的更多相关文章

  1. terminal(终端),shell,tty,console(控制台)区别

    原文地址  stackexchange:What is the exact difference between a 'terminal', a 'shell', a 'tty' and a 'con ...

  2. (笔记)Linux中的终端、控制台、tty、pty

    1>tty(终端设备的统称): tty一词源于teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘阅读和发送信息的东西,后来这东西被键盘与显示器 ...

  3. 关于Unix/Linux的终端、伪终端、控制台和shell

    历史是什么:是过去传到将来的回声,是将来对过去的反映. ——雨果(法)<笑面人> 阅读本文大概需要花费你15分钟 文章导航: 计算机的发展 UNIX系统的诞生 UNIX系统的发展 终端与控 ...

  4. 终端、虚拟终端、shell、控制台、tty的区别

    终端与控制台的区别? 最近开始接触Linux,终端.虚拟终端.shell.控制台.tty等概念让我很混乱,有必要认识清楚. 今天看到有人问终端和控制台的区别,而且这个问题比较有普遍性,因此想抽出一点时 ...

  5. 【转】linux下tty,控制台,虚拟终端,串口,console(控制台终端)详解----不错

    原文网址:http://blog.csdn.net/liaoxinmeng/article/details/5004743 首先: 1.终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算 ...

  6. Linux终端和win32控制台文本颜色输出

    在使用putty.secureCRT.XShell等终端仿真器连接linux系统时,ls.vim等工具的输出都含有各种颜色,这些颜色的输出大大地增强了文本的可读性. 通常我们可以使用echo命令加-e ...

  7. 【Linux探索之旅】第二部分第一课:终端Terminal,好戏上场

    内容简介 1.第二部分第一课:终端Terminal,好戏上场 2.第二部分第二课预告:命令行,世界尽在掌握 终端Terminal,好戏上场 随着第一部分的结束,我们进入了第二部分(小编你这好像是废话. ...

  8. 命令行界面 (CLI)、终端 (Terminal)、Shell、TTY的区别

    虽然这个话题已是老生常谈,搜索一下应该也能找到大把的相关文章.不过难得提到了这方面,就趁此机会把我的理解写下来,一来看看我是不是真正理解了,二来看看我能不能把它们之间的区别讲得更加简明易懂. 0. 太 ...

  9. Linux 终端(TTY)

    TTY 是 Teletype 或 Teletypewriter 的缩写,原来是指电传打字机,后来这种设备逐渐键盘和显示器取代.不管是电传打字机还是键盘显示器,都是作为计算机的终端设备存在的,所以 TT ...

  10. 虚拟机+ubuntu 图形界面和终端界面的切换

    虚拟机环境,在图形界面和文本界面间切换:1  VMWare虚拟机下,由图形界面切换到文本界面,和虚拟机设置有关,默认VM占用Ctrl+Alt为热键,所以由图形界面切换到文本界面的组合键为: Ctrl+ ...

随机推荐

  1. apisix~集成服务发现注册中心

    摘要 当业务量发生变化时,需要对上游服务进行扩缩容,或者因服务器硬件故障需要更换服务器.如果网关是通过配置来维护上游服务信息,在微服务架构模式下,其带来的维护成本可想而知.再者因不能及时更新这些信息, ...

  2. [NOIP2004 普及组] 火星人

    传送锚点:https://www.luogu.com.cn/problem/P1088 题目描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明 ...

  3. Vue cli传递数据

    Nav组件和Forecast组件都是Home组件的子组件. (1)子组件传递数据给父组件 在子组件中,通过this.$emit('自定义事件名', 参数1,参数2,...)来调用父组件中定义的事件. ...

  4. JavaServlet和后端的搭建(以Tomcat为例)

    目录 Servlet 前端如何才能访问到后端? 后端开发准备工作(配置Tomcat) 对象的生命周期 后端平台的搭建 创建Web项目(前提搭建好Tomcat配置) 创建Java文件 配置Web.xml ...

  5. 引用数据类型string字符串 类型转换

    String 任何" "之间的值 包括空格 String类型的字面取值 String str1 = "你好" String str2 = "hello ...

  6. nodejs加jq来实现下载word文档

    先看效果 浏览器上: 下载的效果: 第一步是自己先搭建前端页面把自己写的结构数据全部传到后端 下面就是整个的结构 结构分析后端拿到数据后端解析: 第一层菜单层: { role: '分析报告', //顶 ...

  7. 获取URL中查询参数 URL中动态参数

    通过 req.query 对象,可以访问到客户端通过查询字符串的形式发送到服务器的参数 app.get('/',(req,res)=>{ console.log(req.query) }) .U ...

  8. kettle从入门到精通 第六十一课 ETL之kettle 任务调度器,轻松使用xxl-job调用kettle中的job和trans

    1.大家都知道kettle设计的job流程文件有个缺点:只能设置简单的定时任务,无法设置复杂的如支持cron表达式的job. 今天给大家分享一个使用xxl-job调度carte的流程文件的示例.整个调 ...

  9. Codeforces Round 923 (Div. 3) 比赛记录

    Codeforces Round 923 (Div. 3) 这是我第二次参加 cf阴间场. 10 minutes ago: 这次报名人数超过 4 万,一开始网站就崩溃了,比赛延迟了 10 分钟..开局 ...

  10. webpack-bundle-analyzer 分析打包模块大小优化

    安装 webpack-bundle-analyzer npm i webpack-bundle-analyzer -D 配置vue.config.js module.exports = defineC ...