初识Linux
在前面的课程中,我们无论是开发、测试。部署、存储都在Windwos操作系统的环境中,从今天开始我们一起学习下Linux,Linux系统和Windows系统最大的区别就是图形化界面操作和用途上有所差异,除了这两点,两者有异曲同工之妙,在国内,
Linux 系统更多的是应用于服务器上,而桌面操作系统更多使用的是
Windows,也就是说Linux与Windows一样,同样也是操作系统只是在使用以及应用上有所差异,其他都是一样的;
因为Linux也是操作系统 所以在正式进入Linux学习之前,我们先简单的学习操作系统的知识,然后在讲解Linux
1.1 操作系统
操作系统(Operation System,
OS),是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
操作系统作为接口的示意图:
如上图所示,在操作系统的最上层是用户,中间层是操作系统(里面可能装了很多的应用程序),最下层是硬件的支撑,包含CPU/内存/硬盘等
这就是一个完成的操作系统结构图
主流操作系统按照应用领域的划分
1、桌面操作系统
- Window 系列
- 用户群体大
- macOS
- 细节处理的更好, 没有windows软件丰富, 价格高
- Linux
- 应用软件少
2、服务器操作系统
-
Linux
- 安全、稳定、免费
- 占有率高
-
Windows Server
- 付费
- 占有率低
3、嵌入式操作系统
Linux
4、移动设备操作系统
- IOS
- Android (基于Linux)
- 华为鸿蒙(基于linux)
1.2 Linux发展历程
引子
在上面,我们学习了操作系统的知识,也知道了主流操作系统按照应用领域划分了四个类型的操作系统,其中Linux操作系统在四个领域都有提名,因为它是至今开源序列最好的操作系统,下面,我们就一起看下Linux的发展历程,看看它是怎么诞生的…1984年,Andrew S.Tanenbaum 开发了用于教学的Unix系统,命名为Minix,但是仅仅用于教学 1989年,Andrew
S.Tanenbaum将Minix系统运行于x86的pc平台 1990年,芬兰赫尔辛基大学学生Linus
Torvalds首次接触Minix系统 1991年,Linus Torvalds开始在Minix上编写各种驱动程序等操作系统内核组件
1991年年底,Linus Torvalds公开了Linux内核源码0.02版,仅仅是内核 1994年,Linux
1.0版本发行,Linux转向GPL版权协议 至此,Linux开始盛行开来…
Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版
Unix操作系统 Minix 太难用了,于是决定自己开发一个操作系统。第 1 版本于 1991 发布,当时仅有 10 000 行代码。
李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,并邀请他人一起完善 Linux。与 Windows
及其他有专利权的操作系统不同,Linux 开放源代码,任何人都可以免费使用它。据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,虽然他仍然拥有 Linux
内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的
Linux,我更倾向于说是由李纳斯•托瓦兹和后来陆续加入的众多 Linux 好者共同开发完成的。
Unix
Unix 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明。它的部分技术来源可追溯到从
1965 年开始的 Multics
工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。Unix是一个强大的多用户、多任务操作系统。于1969年在AT&T的贝尔实验室开发。Unix 的商标权由国际开放标准组织(The Open
Group)所拥有。Unix操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。
1.3 Linux简介
Linux和我们常见的Windows一样,都是操作系统,
例如:新浪、百度、淘宝等互联网公司,他们使用的服务器全都是Linux系统;全球500强企业95%的服务器使用的都是Linux系统。
1.3.1 什么是 Linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux 的标志和吉祥物是一只名字叫做Tux(它克斯)的企鹅,Linux是基于Unix的。
Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux操作系统不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的
一大亮点。
Linux与其他操作系统相比
,具有开放源码、没有版权、技术社区用户多等特点
,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈
,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。
1.3.2 Linux的特点
基本思想
Linux的基本思想有两点:
第一:一切都是文件
第二:每个软件都有确定的用途
其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近
完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
优点
1)Linux由众多微内核组成,其源代码完全开源;
2)Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、 TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈;
3)Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;
1.4 Linux和Unix区别
1、开源情况
Unix 是商业化的,而 Linux 是开源的,是免费、公开源代码的。
2、硬件适用
Unix 系统大多是与硬件配套的,也就是说,大多数Unix系统如AIX、HP-UX等是无法安装在 x86 服务器和个人计算机上的,而 Linux则可以运行在多种硬件平台上。
可以先学习Linux后再学习Unix,因为Linux可以方便的在虚拟机上运行,防止新手的误操作。
3、本质不同
Linux是开放源代码的自由软件,用户对前者有很高的自主权,在实际的的开发是处在一个完全开放的环境之中;
而Unix是对源代码实行知识产权保护的传统商业软件,用户的开发完全是处在一个黑箱之中,只有相关的开发人员才能够接触的产品的原型;
Unix 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 Unix是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 Unix
1.5 Linux和Windows区别
目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。主要区别如下
比较 | Windows | Linux |
---|---|---|
界面 | 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 | 图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 Unix传承下来,基本命令和操作方法也几乎一致。 |
驱动程序 | 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。 | 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。 |
使用 | 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 | 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。 |
学习 | 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 | 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。 |
软件 | 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 | 大部分软件都可以自由获取,同样功能的软件选择较少。 |
Windows与Linux在其他方面的不同
开放性
所谓的开放性就是Linux 操作系统是开放源码系统,可以对其程序进行编辑修改。而微软的Windows 系统是受微软版权保护,就是只能微软内部进行开发及修改。
文件格式不同
Windows 操作系统内核是NT,而Linux 是 shell;
另外,windows 硬盘文件格式是fat32或NTFS,而Linux 需要的文件格式是ext2或ext3,该操作系统还多一个SWAP格式的交换分区
免费与收费
在中国,对个人用户Windows 和Linux 都是免费的,对公用户Windows 需要收费,Linux 是免费的。
技术支持
Windows 较普及。Linux 需要深度的Linux 版块支持。
安全性
Linux 相对Windows 来说安全性更高。
开源
开源就是指对外部开放软件源代码。Linux 开源,而Windows并不开源。
使用习惯
Windows 放弃了dos的字符模式,主攻图形界面,让桌面系统更易用。Linux 字符模式运行的更好,图形界面还只是附带品,可有可无。
软件与支持
Windows 下可以运行绝大部分软件、玩99.999%的游戏、硬件厂商近乎100%的支持。Linux 下可直接运行的软件数量和win下比起来就是1和99的区别,而且目前选择Linux 的人基本不会考虑玩游戏,同时Linux 正期待更多硬件厂商的支持
linuk命令:
一、
1.cd:切换命令(切换目录)
2.cd 根目录名:切换到根目录
3.ls:查看当前目录中所有的目录和文档
4.pwd:查看当前所在位置
5.cd…:返回上一级目录
6.cd /:切换到系统根目录
7.cd ~:切换到用户的主目录
8.cd -:切换到上一个操作的目录
9.ls -a:显示当前目录所有的目录和文档(包括隐藏文件)
10.ls -l(缩写:ll):显示当前目录中所有目录的详细信息
11.mkdir 目录名:创建一个新的目录
12.rmdir 目录名:删除一个目录(只能删除空目录)
13.mkdir -p 目录1/目录2:级联创建(创建一个联动目录,目录1中包含目录2)
二、
1.touch 文档名:创建一个文档
2.cat 文档名:浏览文档
3.rm 文档名:删除文档
4.cp 文档1 文档2:复制文档1并改名文档2
5.mv 文档 路径:移动文档
6.mv 文档1 文档2:重新命名
三、
tar:打包文件
-c:创建一个新的tar文件
-v:显示运过程的信息
-f:指定文件名
-z:调用gzip压缩文件(gzip只能压缩单个文件)
-t:查看压缩文件内容
-x:解压文件
-C:指定目录
tar -cvf xxx.tar ./:打包文件(打包当前目录下的所有文件)
tar -zcvf xxx.tar.gz ./:打包并且压缩文件
解压打包文件:tar -xvf xxx.tar(解压到当前目录)
解压压缩文件:tar -xvf xxx.tar.gz -C 目录(解压文件到指定目录)
2.vim编辑器
vim 文档:进入文档编辑模式
i:在当前位置的前面插入内容
I:在当前行的行首插入内容
a:在当前位置的后面插入内容
A:在当前行的行尾插入内容
o:在当前行的下一行插入内容
O:在当前行的上一行插入内容
按Esc键 :wq :保存并退出
按Esc键 :q :退出
按Esc键 :q! :强制退出
四、
清空屏幕 :clear
强制删除: rm -r 文件名
浏览方式:
1.cat 文档(适用于文档内容比较少的情况)
2.more文档(适用于文档内容较多的情况,空格键翻页,回车键下一行 ,按q退出)
3.less文档(用法和more类似 pgup pgdn翻页,q退出
vi /etc/sysconfig/network-scripts/ifcfg-ens33
需要删掉的:
IPADDR
GATEWAY
NETMASK
DNS1
需要修改的:
BOOTPAOOTO=dhcp
保存退出
查看ip:ifconfig
重启网络:
service network restart