zoukankan      html  css  js  c++  java
  • Linux(二)

    主机 = 内核 + 实用工具

    内核(kernel)

    • 当计算机启动时,计算机要经历一系列动作,这些动作构成了引导过程。引导过程的最后一个动作是启动一个非常复杂的程序,该程序就被称为内核(Kernel)

    • 内核的作用是控制计算机,提供基础服务,是操作系统的核心,主要分为单内核和微内核两种

      • 单内核(monolithic kernel):自身可以完成所有事情,大多数早期 Unix 使用单内核设计,现在流行的单内核为 Linux kernel
      • 微内核(micro kernel):只能完成最基本的任务,例如 Minix、macOS

    实用工具

    • 编辑器、编译器等等等
    • Shell:命令行解释器,包括了用来组合命令的流程控制结构。除了在交互式提示符下输入命令外,用户还可以编写脚本。大多数 shell 都有一套共同的语法(基于Bourne shell)。

    终端 = 输入设备 + 输出设备

    最初,终端(terminal)和控制台(Console)都不是个人电脑的概念,而是多人共用的小型、中型、大型计算机上的概念。在计算机早期时代,个人无法承担高昂的费用,多个人通过终端同时使用一台主机,而控制台是管理员管理系统时使用的机柜,一般会直接附着在主机旁边。

    字符终端

    字符终端 (Character Terminal) 也叫文本终端 (Text Terminal),是只能接收和显示文本信息的终端。

    早期人们使用价格低廉的电传打字机(Teletypewriter,tty)作为字符终端,所有输入结果都在纸带上打孔,最早型号为 Teletype ASR33(Automatic Send-Receive),后来由于电传打字机的使用过于普遍,以至于 tty 和终端成为同义词,终端(terminal) = tty = 命令的输入输出环境

    字符终端也分为 哑终端 (Dumb Terminal) 和所谓的 智能终端 (Intelligent Terminal),因为后者可以理解转义序列、定位光标和显示位置,比较聪明,而哑终端不行。

    DEC 公司在 1978 年制造的VT100 终端,VT100 不仅是史上最流行的字符终端,更是成为了字符终端事实上的标准。

    终端仿真器(Terminal Emulator)

    模拟:Simulate,按照实现来实现,原理相同,行为相同
    仿真:Emulate,保持外部行为,但内部原理已经改变

    如今的终端,指的是使用软件都是对终端设备进行仿真,与主机进行交互的终端仿真器,在面对命令行 (CLI) 程序时,终端仿真器会「假装」成一个传统终端设备;而对于现代的图形接口,终端仿真器会「假装」成一个 GUI 程序。

    一个终端模拟器的标准工作流程是这样的:

    • 捕获你的键盘输入;
    • 将输入发送给命令行程序(程序会认为这是从一个真正的终端设备输入的);
    • 拿到命令行程序的输出结果(STDOUT 以及 STDERR);
    • 调用图形接口(比如 X11),将输出结果渲染至显示器。

    现代系统中, Linux 默认提供了 6 个虚拟控制台(virtual consoles)和一个图形界面来让用户登录,Unix 则提供了 8 个,它们是由操作系统内核直接提供的,而那些那些运行在图形界面上的终端模拟器则被叫做终端窗口 (Terminal Window)。

    无论是字符终端还是图形终端的仿真,都对应着 Linux 上的 /dev/tty 设备,Unix&Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的,而设备的属性等信息都保存在其中。

    CLI(Command Line Interface)类仿真设备有 VT100、VT220、Xterm等,使用infocmp | less 可以看到自己当前所仿真的终端设备型号。

    而 infocmp 命令显示内容则基于 ncurses (free version of curses),存储着不同型号设备的配置信息,用于命令的执行

    命令行界面 (CLI)、终端 (Terminal)、Shell、TTY,傻傻分不清楚?

    Linux

    The name “Linux” refers to any Unix system that uses the Linux kernel。

    GNU/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫做「虚拟 shell」或「图形 shell」。

    Linux 学习路径

    [Linux 学习路径]
    Linux 学习路径

    Linux 目录结构

    FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

    [Linux 目录结构]
    Linux 目录

    [Linux 目录类型]
    Linux 系统划分

  • 相关阅读:
    如何使用SAP Intelligent Robotic Process Automation自动操作Excel
    OpenSAML 使用引导 IV: 安全特性
    Spring Cloud Zuul 网关使用与 OAuth2.0 认证授权服务
    微服务架构集大成者—Spring Cloud (转载)
    Spring Cloud Eureka 服务注册列表显示 IP 配置问题
    使用 Notification API 开启浏览器桌面提醒
    SignalR 中使用 MessagePack 序列化提高 WebSocket 通信性能
    配置 Nginx 的目录浏览功能
    关于 Nginx 配置 WebSocket 400 问题
    Migrate from ASP.NET Core 2.0 to 2.1
  • 原文地址:https://www.cnblogs.com/imzhizi/p/linux--unixlinux-ji-ben-gai-nian.html
Copyright © 2011-2022 走看看