“为什么说Unix/Linux是自由的:

        因为我们可以自己组装一个操作系统:Unix/Linux内核+其他实用工具+编程工具+GUI

        因为我们可以自由地获取开源工作者们分享的各种自由软件

        因为我们可以自由地修改、再发行自由软件,促进软件的完善

        因为我们可以自由管理自己的电脑:通过群组与用户来管理电脑的使用者;通过文件系统、属性、权限来限制使用;通过查阅、编辑各种配置文件对电脑的各个部位了如指掌、指挥自如;通过shell script高效地管理主机;基于多用户多任务的模式提供高效的访问与系统使用。。。。。。”

1:Unix的含义

Unix = 类Unix内核 + 类Unix实用工具 组成的一种操作系统。

(我们称 类Unix ,是因为现在广泛使用的都不是原来的真正Unix,而是与原Unix兼容、开源的。原来的真正的Unix由于其公司的商业化策略,不开源。)

2:Linux的含义

Linux第一层含义:Linux内核。由Linus Torvalds开发并发起的项目,直到如今也只是一个内核。

Linux第二层含义:基于Linux内核组装起来的操作系统,我们称之为Linux发行版。一个Linux发行版至少由Linux内核、实用工具和编程工具(由GNU提供)、GUI组成。

3:FSF自由软件基金会

Stallman发起的开源软件组织,他编写并开源了大量自由软件。

为了让开源软件能够正常运行,他需要编写一个与Unix兼容的操作系统(因为Unix为AT&T公司所有,AT&T禁止公司以外的人阅读源码),他将这个新的操作系统命名为GNU。并且之后发表了GNU宣言,开启了“开放源代码运动”。GNU也成为了FSF组织成员以及很多开发者投身参与的项目,并且由此诞生了gcc、g++、gdb、Bash等一系列优秀的实用工具。

为了保障开源软件工作者的权利,Stallman发表了“通用公共许可证”(GPL协议),允许所有人基于GPL软件进行查看、修改、再发行,但不允许对GPL软件添加限制。

4:Unix的分支与Linux的诞生

伯克利分校对Unix进行改编移植,产生了BSD。

但由于AT&T公司对Unix的商业化策略,所有使用Unix的人都要向其购买许可证。这令BSD程序员被限制而感到抱怨,从而促使他们决心开发出一款与Unix完全独立的BSD版本。

之后一年半时间,BSD程序员把Unix的相关组件进行了改写替换,然而,Unix系统内核部分仍然未能找到替换方案。

4.1)此时(1991),Linus Torvalds站了出来,他编写了Linux内核。其他程序员根据GNU项目提供的众多实用工具,组装得到各种Linux发行版,Linux由此诞生。

4.2)1992年,BSD程序员终于开发出与Unix安全无关的操作系统——386BSD。此后,衍生出3个发行版:FreeBSD、NetBSD、OpenBSD。

自此,我们一般使用到的类Unix系统有:

BSD的发行版:FreeBSD、NetBSD、OpenBSD

Linux的发行版:Ubuntu、Red Hat、CentOS等等

5:Unix连接——终端与主机架构模型

终端:接收输入、生成输出,包括显示器、键盘、鼠标、音响、麦克风等。

主机:包含内存、CPU、硬盘等的综合设备。

小型终端与主机:我们日常使用时,屏幕+键盘等就相当于终端,而电脑的CPU等内置部件组成主机,终端与主机之间通过接线相连。

大型终端与主机:理论上,终端可以通过缆线、通过LAN、通过Wifi、通过Internet与主机相连,此时就可以有多台计算机连接到某一台起主机作用的计算机。通常,我们把该台主机成为“服务器”。

Unix多用户多任务的基础——多终端与主机连接模型:

每个用户有自己的终端(负责输入、输出);

每个终端与主机进行连接。

(控制台是系统管理员专门用来管理主机的一个特殊终端。在个人计算机上,默认使用的终端就是控制台。而对于Web服务器、路由器等无显示设备的主机,则通过其他终端远程连接,然后以管理员身份登陆主机,进行系统管理)

终端的种类:
字符终端:就是我们常用的命令行窗口。

图形终端:带有图形界面的终端(不推荐)。

6:Unix使用

系统管理员:Unix系统需要专门的人员进行管理与维护。

普通用户:如果我们只是使用一台共享的Unix主机,那么我们需要使用系统管理员提供给我们的  用户标识  和  口令  登录系统即可。

提示符:Bash、Korn Shell提示符是 $ ,C-Shell提示符是 % ,超级用户提示符是 #

注销用户:logout、exit、Ctrl+D组合键

修改口令:passwd

7:GUI

Unix GUI都基于X Window,目前开源的Unix系统常用的两种桌面环境为:KDE和Gnome,商业的用CDE。

(大型企业选择商业软件的原因:方便后面维护,减少维护成本以及缩短出错的修复时间)

【附:桌面环境与实际操作系统是独立的!我们可以选择为自己的操作系统灵活搭配桌面环境!】

8:使用自由软件为计算机搭配一套的操作系统

计算机系统:Linux的发行版,推荐Ubuntu

桌面环境:Gnome或者KDE

浏览器:FireFox

办公软件:Open Office

文本编辑器:Vim

9:GUI与CLI

GUI:图形用户界面

CLI:命令后界面

10:Linux运行级别

【大多数情况下,默认引导至3或5】

【级别1通常用于系统维护,只有管理员能够登录】

改变运行级别:

sudo init n :n为运行级别

11:Terminal与Konsole

Terminal:Unix的传统命令行窗口

Konsole:一种多功能的仿真终端窗口,即使系统没有自带,我们也可以安装使用

12:su与su -

su:不改变工作环境

su - :改变工作环境

13:管道线 |
如果一个指令会输出很长、很多页的结果,或者结果打印太快根本来不及看,这个时候可以使用管道线,把指令结果输出到一个可以查看文本的指令(对应一个可执行程序),这样就相当于使用了查看指令来阅读前一条指令的结果了,可以进行翻页阅读。

有长结果输出到指令 | 阅读指令
eg:
dmesg | less //查看系统启动信息

14:快捷键的由来——先有键盘组合键,后有操作系统快捷键

早起,Unix系统使用Teletype ASR33 键盘作为终端,该台设备主要用于接收和发送信息,并且其硬件设计中,Ctrl+C等组合键有特定的功能。

因此,为了适应所使用的硬件,Unix的两位作者就将这些功能集成到了操作系统中——将组合键事件  映射  为某种信号。

在标准的Unix键盘中,修饰键有Shift和Crtl,没有Alt,因此我们看不到带Alt的组合键。

Shift用于输入大写、输入按键顶部的符号。

Ctrl+字母:用于输入特殊信号,如:中断、撤销、剪切、粘贴、注销、擦除等等。

15:Unix文化

终端窗口的名称:tty。早期Unix使用Teletype设备作为终端,因此其缩写tty就保留了下来。

打印显示指令:print。因为早期的终端输出是依靠纸带来穿孔打印的,因此使用print来表示,现在虽然是在屏幕显示了,但仍然使用print。

同样,其他含打印显示意思的指令,都会含有p缩写,例如:pwd = “print working directory”

16:仿真终端的类型

Unix下的终端类型:常见VT100(文字)、xterm(图形),还有VT220和3270。

Linux下终端类型:linux

查看当前系统的终端类型:

echo $TERM   

17:Unix的程序设计准则

《Unix&Linux大学教程》学习笔记一:历史与常识的更多相关文章

  1. 《Unix&Linux大学教程》学习笔记6——Unix文件系统

    1:Unix文件类型——3种 普通文件(常规文件):文本文件(纯文本.脚本.源程序.配置文件.html等).二进制文件(多媒体文件.数据库等) 目录:用于组织文件 伪文件:不存储数据,目的是提供一种服 ...

  2. 《Unix&Linux大学教程》学习笔记5 :正则表达式

    1:Unix下正则表达式规则

  3. 《Unix&Linux大学教程》学习笔记四:标准I/O 与 过滤器

    1:标准IO Unix中的标准IO主要包括:标准输入.标准输出(正常输出).标准错误(异常信息) 2:重定向输出 内容 > 文件名 :将内容输出到文件,并且覆盖文件原来内容:文件不存在则新建 内 ...

  4. 《Unix&Linux大学教程》学习笔记三:Shell常识

    1:全局变量与局部变量 全局:可以从父进程传递给子进程的变量,如:环境变量. 局部:只能在特定的子Shell中使用的变量. 局部变量变全局:使用 “export 局部” 指令将创建的局部变量导出到环境 ...

  5. 《Unix&Linux大学教程》学习笔记七:进程与作业控制

    1:进程:一个内存中的程序+程序所需数据+管理程序的各种状态信息. 2:进程由内核进行管理,内核使用调度器,给予进程一个时间片来运行,然后切换到下一个进程. 3:进程分叉 fork :创建一个子进程 ...

  6. 《Unix&Linux大学教程》学习笔记二:指令常识

    1:指令的本质——调用可执行程序 在Shell输入命令时,其实就是根据名称运行相应的程序. 2:在系统中查找程序 which 指令名 type 指令名 3:时间与日历 date [-选项] 参数 ca ...

  7. unix&linux大学教程 目录

    第1章unix简介 第2章什么是linux?什么是unix 第3章unix连接 第4章开始使用unix 第5章gui:图形用户界面 第6章unix工作环境 第7章unix键盘使用 第8章能够立即使用的 ...

  8. 《嵌入式Linux基础教程学习笔记一》

    常用书目下载地址:http://www.cnblogs.com/pengdonglin137/p/3688029.html 第二章 1.进程上下文和中断上下文(Page20) 当应用程序执行系统调用, ...

  9. 尚硅谷韩顺平Linux教程学习笔记

    目录 尚硅谷韩顺平Linux教程学习笔记 写在前面 虚拟机 Linux目录结构 远程登录Linux系统 vi和vim编辑器 关机.重启和用户登录注销 用户管理 实用指令 组管理和权限管理 定时任务调度 ...

随机推荐

  1. sublime text的扩展插件

    sublime text用作开发编辑器,还缺省二个比较重要功能:跨文件跳转.返回最后一次编辑的位置: 这里有二个插件正好解决此问题:CTags.ChangeList   其它常用的插件,google一 ...

  2. 低版本系统兼容的ActionBar(六)用Fragment+ViewPager+Tab实现快速导航

    Tab经常和Fragment结合使用,这一讲我们用3种方式来实现这种快捷导航. 0.重要的两个监听器 MyTabListener,这个我们之前已经接触过了 package com.kale.actio ...

  3. GridView和SimpleAdapter实现网格布局

    android:horizontalSpacing 元素之间的水平间距 android:verticalSpacing     元素之间的垂直间距 android:numColumns         ...

  4. Java正则表达式教程及示例

    本文由 ImportNew - ImportNew读者 翻译自 journaldev.欢迎加入翻译小组.转载请见文末要求. [感谢 @CuGBabyBeaR  的热心翻译.如果其他朋友也有不错的原创或 ...

  5. ubuntu下如何批量修改文件后缀名

    正确的方法是: 在命令行中输入   rename   's/\.JPG/.jpg/'    *.JPG [注意] 在单引号中的最后一个'/'符号不能少! 意思是:把当前文件夹下的所有 .JPG文件 替 ...

  6. git clone报错:“server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none”

    I can push by clone project using ssh, but it doesn't work when I clone project with https. it shows ...

  7. cannot import name 'main' 解决方案

    error description: pip3 install numpy Traceback (most recent call last): File "/usr/bin/pip3&qu ...

  8. DAU预测

    转自: http://www.kaixin001.com/repaste/80488684_6910412734.html 我们知道在所有的游戏运营数据中,最终要的两个数据莫过于DAU.ARPU了.| ...

  9. hyper-V下虚拟机连接外网,怎么才能将Hyper-V 的虚拟机接入互联网?

    现在情况是这样的: windows hyper-V主机IP: 192.168.20.3 hyper-v虚拟网卡IP:192.168.20.13 虚拟机1IP:192.168.20.21 同一局域网主机 ...

  10. android adb源码分析(1)

    ADB是Android debug bridge的缩写,它使用PC机可以通过USB或网络与android设备通讯. adb的源码位于system/core/adb目录下,先来看下编译脚本Android ...