Linux:基础知识补充:计算机基础、程序包管理知识、终端、交互式接口等

目录

1、Linux允许核心转发:DHCP、FTP、HTTP、Cobbler

2、现代计算机设备的组成部分:

3、计算机基础知识:

4、Linux发行版本:

5、GUN(是一个自由的操作系统,其内容软件完全以GPL方式发布):GPLv2, GPLv3, LGPL(lesser)

6、程序包管理器:

7、Linux哲学思想

8、终端

9、交互式接口:启动终端后,在终端设备附加一个交互式应用程序


 

1、Linux允许核心转发:DHCP、FTP、HTTP、Cobbler

2、现代计算机设备的组成部分:

  • 运算器、控制器、存储器、输入设备、输出设备(如:CPU、BUS(总线)、Memory(编址存储设备)、Read Ahead(高速缓存))
  • IO:(磁盘、网卡)
  • CPU:(运算器、控制器)CPU指令、指令集
    • 特权指令:OS运行特权指令
    • 普通指令:
  • OS:Operating System
    • 软件程序
    • 通用目的
      • 硬件驱动
      • 进程管理
      • 内存管理
      • 网络管理
      • 安全管理
    • System Call:Syscall(系统调用)
    • 编程层次:
      • 硬件规格(Hardware Spenifiacation)
      • 系统调用
      • 库调用(Library Call)
  • UI:
    • GUI(Graphic User Interface):图形用户界面
    • CLI(Command Programming Interface):指命令行界面
  • ABI(Application Binary Interface):应用程序二进制接口
  • API(Application Programming Interface):应用程序接口
  • CPU架构类型:
    • x86
    • x64
    • arm
    • m68000,m68k
    • power
    • powerpc
    • ultrasparc
    • alpha
    • 安腾

3、计算机基础知识:

  • 程序运行模式:
    • 用户空间(User Space)
    • 内核空间(System Space)
  • POS(Portable Operating System):可移植性的操作系统
    • POSIX:可移植性的系统操作接口
    • API:编程接口
  • 运行程序格式:
    • Windows:EXE(执行程序),DLL(Dynamic Link Library:动态链接库)
    • Linux:ELF(可执行文件),SO(Shared Object:共享库)
  • 程序:指令+数据
    • 指令:只读
    • 数据:读写
  • 程序:算法+数据结构
  • 库调用、系统调用:允许被调用的程序:
    • malloc():C语言中动态内存分配
    • free():C语言中释放空间的函数
  • 编程语言:
    • 汇编语言:微码编程(系统中某些于硬件相关的特有代码、驱动程序开发)
    • 高级语言C、C++:系统级应用、驱动程序
    • 高级应用JAVA、Python、PHP:应用程序
    • Unix-like:各种传统的UNIX系统

4、Linux发行版本:

  • Linux From scratch:较古老的Linux发行版,灵活性和稳定性作为主要目标
    • SUSE:SUSE Linux原是以Slackware Linux为基础,并提供完整德文使用界面的产品
      • OPENSUSE:openSUSE是一个一般用途的基于Linux内核的GNU/Linux操作系统,由openSUSE项目社区开发维护,在2004年2月Novel收购SUSE Linux之后,Novell决定以100%开源产品发布SUSE Linux专业版,并作为一个开源项目
  • Debian:是指一个致力于创建自由操作系统的合作组织及其作品(最接接近于Linux源版本)
    • Ubuntu:是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和Gnome桌面环境
      • Linux Mint:致力于使桌面系统对个人用户每天的工作更易用,更高效
  • RedHat:红帽公司的产品
    • RHEL(Read Hat Enterprise Linux):Red Hat公司发布的面向企业用户的Linux操作系统。大概每18个月发行一次;
    • Centos:基于RHEL上开源的Linux发行版本,Centos最后加入Red Hat公司
    • Fedora:Fedora基于Red Hat Linux,在Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用
  • ArchLinux:Arch Linux项目注力于简洁主义(对开发者而言),其贡献在于对发行版的组件提供具有良好注释的配置文件,而非带有图形界面的配置工具。这也为其赢得适合“不惧怕命令行的中高级Linux用户”的发行版称号
  • Gentoo:Gentoo是一个基于Linux的自由操作系统,它能为几乎任何应用程序或需求自动地作出优化和定制。追求极限的配置、性能,以及顶尖的用户和开发者社区,都是Gentoo体验的标志特点
  • LFS: Linux From scratch:就是一种从网上直接下载源码,从头编译LINUX的安装方式。它不是发行版,只是一个菜谱,告诉你到哪里去买菜(下载源码),怎么把这些生东西( raw code) 作成符合自己口味的菜肴──个性化的Linux,不单单是个性的桌面。
  • Android构成:Kernel+Busybox+Java虚拟机

5、GUN(是一个自由的操作系统,其内容软件完全以GPL方式发布):GPLv2, GPLv3, LGPL(lesser)

  • LGPL: 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可证);
  • GPL:GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式;
    • Apache: Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
    • BSD: BSD协议是“宽容自由软件许可证”中的一员,在软件复用上给予了最小限度的限制。BSD协议允许作者使用该协议下的资源,将其并入私人版本的软件,该软件可使用闭源软件协议发布。BSD UNIX发展起来,修改版本被Apple、Apache所采用

6、程序包管理器:

  • RPM
    • RHEL,Fedora、SUSE、Centos
  • DPT
    • Debian, Ubuntu

7、Linux哲学思想

  1. 一切皆文件:把几乎所有资源,包括硬件设备都组织为文件格式;
  2. 有众多单一目的小程序组成:一个程序只实现一个功能,而且要做好组合组合小程序完成复杂任务;
  3. 尽量避免根用户交互:实现脚本编程,已自动完成某些功能
  4. 使用纯文本文件保存配置信息:一款使用的文本编辑器既能完成系统配置工作

8、终端

  • 用户与主机交互,必然用到的设备
  • 物理终端:直接接入本机的显示器和键盘设备:/dev/console
  • 虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,Centos默认启动6个虚拟终端:Ctrl+Alt+F{1:6}
    • 图形终端:附加在物理终端之上的以软件方式虚拟实现的终端:但额外会提供桌面环境
    • 设备文件路径:/dev/tty#
  • 模拟终端
    • 图形界面下打开的命令接口,基于SSH协议或Telnet协议等远程打开的界面
    • 设备文件:/dev/pts/[0,∞)
  • 查看当前终端设备:tty

9、交互式接口:启动终端后,在终端设备附加一个交互式应用程序

  • GUI:图形用户界面
    • X Protocol:X视窗系统协议
    • Windows Manager:窗口管理器
    • Desktop:桌面
      • GNOME (C:C语言编写, GTK:一套跨多种平台的图形工具包):GNOME是Linux操作系统上最常用的图形桌面环境之一
      • KDE(C++:用C++编写,QT:跨平台C++用户图形界面应用程序开发框架):KDE 是一个网络透明的现代化桌面环境,支持Linux、 FreeBSD、Unix、其它类Unix、MOS Max 和微软的Windows
      • XFCE :是一个自由软件,运行在类Unix系统上(如Linu、FreeBSD和 Solaris)上,提供轻量级桌面环境
    • CLI:指令行界面
      • Shell程序:
        • sh:Bourne shell :Bourne shell 是一个交换式的命令解释器和命令编程语言
        • csh:C shell:主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。
        • tcsh:ENEX/TOPS C shell:Tcsh是csh的增强版,并且完全兼容csh。它不但具有csh的全部功能,还具有命令行编辑、拼写校正、可编程字符集、历史纪录、作业控制等功能,以及C语言风格的语法结构。
        • ksh:Korn shell :ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法,新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能
        • bash:Bourne Again shell :bash是GUN计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat,Slackware,Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。
        • zsh:Zsh初版由原作者保罗·弗斯塔德(Paul Falstad)于1990年在普林斯顿大学求学时编写 [3]  。其名称zsh源于普林斯顿大学助教的邵中(Zhong Shao,现任耶鲁大学教授)——保罗将邵中的用户名"zsh"作为此Shell的名称
  • 显示当前使用的shell:[root@localhost ~]# echo ${SHELL}
    /bin/bash
  • 显示当前系统使用的所有shell:[root@localhost ~]# cat /etc/shells 
    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash
    /bin/tcsh
    /bin/csh
  • 命令提示符:管理员:[root@localhost ~]#     #代表管理员 
  • 命令提示符:管理员:[zhang@localhost ~]$    $代表普通用户
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值