️️️️️️️️️️️️️️️️️️️️
️️️️️无人扶我青云志️️️️️
️️️️️我自踏雪之山巅️️️️️
️️️️️️️️️️️️️️️️️️️️
在说Linux发展史之前还要介绍Unix发展,它们俩之间的发展还是息息相关
(1)1969-1970年,AT&T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础 上开发了UINX系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,UNIX就是一个有价值 的、高效的、多用户和多任务的操作系统。 |
(2)UNIX从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品。 |
(3)第一个UNIX版本是免费给许多知名大学的计算机系使用的。 |
(4)1972年,贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加州大学伯克莱分校的计算机系。伯克莱给系统增加了许多新的特点,后来成为了标准。 |
(5)1975年伯克莱由下属部门BSD发行了自己的UNIX版本。UNIX的BSD版本成为AT&T贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX版本也开始萌生。 |
(6)1980年微软公司开发了叫做Xenix的UNIX PC版本。AT&T发行了第一个商业版本。名叫System Ⅲ,后来被成为对商用软件产品良好支持的System Ⅴ所替代。 |
(7)同时UNIX的BSD版本不断发展,在70年代末期,BSD UNIX成为了国防部的高科技研究机构科研项目的基础。其结果,伯克莱发行了一个叫做BSD Release 4.2的有效版本。 |
(8)它包括了高级的文件管理器和基于TCP/IP网络协议的网络特点。现在TCP/IP被Internet所使用。BSD Release4.2被许多厂商所采用,例如SUN Microsystem。 |
(9)UNIX不同版本的出现导致了UNIX标准的需要,软件开发商不知道他们的程序运行在哪些版本上比较合适。 |
(10)到80年代中期,两个竞争的标准出现了,一个是基于AT&T的UNIX版本,另一个是BSD版本。在今天的书店里你能发现分别适用于这两个版本的不同的UNIX的书,一些是System V,另一些集中在BSD UNIX。 |
(11)AT&T建立了一个叫UNIX系统实验室的新组织,它的作用就是综合UNIX的不同版本,集中开发一个标准系统。 |
(12)1991年,UNIX综合实验室综合了System V Release3,SUN OS和Xenix的所有特点,发行了System V Release4。为了与System V Release 4 竞争,一些其它公司,如IBM和惠普Open Software Foundation(OSF)去产生自己的UNIX标准版本,继而出现了两个标准商业版本OSF版本和System Release 4。 |
(13)1993年,AT&T把它的UNIX转卖给Novell公司。UNIX系统实验室成为了Novell的UNIX系统小组的一部分。Novell发行了基于System V Release 4的自己的UNIX版本UNIXWare,它可以和Novell公司的Netware系统相联。SUN公司已经把System V Release 4 融进了它的SUN OS形用户界面(一个叫Motif,另一个叫Openlook),已经合并为一个新的工作平台标准,叫做通用平台环境(CDE)。 |
1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。读者也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有被发布,原因是0.01版本不实用。Linus仅仅在第一个Linux的FTP站点(ftp://nic.funet.fi)上提供过这个版本的源代码。
(1)Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU的C编译程序(gcc)以及为数不多的其它语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的Linux。; |
(2)Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。正式的1.0版本是在1994年公布的 |
Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。
(1)GNU通用公共许可协议(GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由软 件许可协议条款,最初由理查德斯托曼为GNU计划而撰写,GPL给予了计算机程序自由软件的定义, 任何基于 GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码。 |
(2)Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词 |
Linux在服务器领域的发展:
随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占 据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。据权威部门统计,目前Linux在服务器领域已经占据75%的市场份额,同时,Linux在服务器市场的迅速崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。 |
Linux在桌面领域的发展:
近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗 Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得 到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已经积 累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定 的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。 |
Linux在移动嵌入式领域的发展:
Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用,目 前Linux以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的 Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作系 统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。 此外,思科在网络防火墙和路由器也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系 统“YunOS”,可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都在 逐渐采用定制版本的Linux来实现,而这一切均归功与Linux与开源的力量。 |
Linux在云计算/大数据领域的发展:
互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源 软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进行云 计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。 |
Linux发行版本:
Ubuntu
Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手用户肯定爱不释手的一款操作系统。红帽企业级Linux 这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。
CentOS
CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。
Fedora
小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。
Kali Linux
Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马
可以使用。Kali使用APT来管理软件包。毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(我不想谈论恶意黑客)青睐的操作系统。
… …
与服务器主要有三种方法:
Linux 环境的搭建方式主要有三种
- 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好。(不推荐)
- 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾.(不推荐)
- 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器.(推荐)
下载安装 XShell
XShell 是一个远程终端软件. 可以选择到官网下载下载安装的时候选择 "home/school" 则为免费版本. |
查看 Linux 主机 ip(也就是你云服务器的公网ip)
使用 XShell 登陆主机 在 XShell 终端下敲 ip 为刚才看到的 ifconfig 结果. 如果网络畅通, 将会提示输入用户名密码. 输入即可正确登陆 , 这里的用户名密码都是在最初购买服务器的时候设置的用户名密码。 |
XShell 下的复制粘贴
复制: ctrl + insert (有些同学的 insert 需要配合 fn 来按) ,粘贴: shift + insert ctrl + c / ctrl + v 是不行的 |
该指令可以查看当前登录系统人的身份
whoami
可查看当前我的系统中有哪些用户在使用我的系统(一个系统分为主用户和副用户,主用户就是root,其他账户就是在root账户下创建的)
who
因为目前我的系统只有我一个人使用,所以只会出现一个用户。 |
该指令可以查看当前我所处的目录
pwd
第一张图,我使用pwd指令,是显示我在root目录下。之后我进行了一些操作。第二张图就是我进行了操作后再使用pwd指令,此时显示我在game目录下。 |
该指令可以查看当前目录下的文件或目录的信息
ls
首先利用pwd显示当前我们所处于那个目录,然后再使用ls查看当前目录下的文件夹信息(文件夹可以是目录也可以是文件),比如:game就是我自己创建的目录,而test.txt是我创建的文件 |
该指令相较于ls可以查看更多的或目录文件信息。(一般以d开头的是目录)
ls -l
该指令是查看当前目录下的隐藏文件。(一般以点开头的是隐藏文件)
ls -a
ls -l
ll
从这张图中可以看出ls -l和ll,这两个指令的作用是完全一样的。
ls -la=ls -a -l=ls -l -a=ls -al=ll -a(有这样的一个关系式,当然以后我们常用的还是ll。)
该指令可以切换路径
cd game //进入下一级目录或文件
cd /root //进入上一级目录或文件
一开始我们在root目录,然后利用cd指令就进入到game目录了,后面我们又再次利用cd指令回到了root目录 |
该指令是跳转最近一次所处的目录中
cd -
该指令是进入到家目录中。(家目录,如果是主用户的家目录就是root,而副用户的家目录一般是在主用户家目录的子目录下)
cd ~
执行该条指令的时候,有些云服务器可能没有tree的信息,所以需要先执行"yum install -y tree"这条指令进行安装tree的相关信息
该指令只能在当前目录下执行,它就是把你指定的目录,把该目录的目录或文件以树状图的形式列出。
tree
该指令是可以创建普通文件(touch后面的文件名可以自己指定)
touch today.txt(自己修改的文件名)
该指令可以查看文件的相关属性,如访问信息的时间、修改文件信息的时间、改变文件信息的时间
stat test.txt(文件名)
该指令可以创建一个目录,前提是只能在当前目录下创建
mkdir today
该指令可以删除文件或目录
rm test.txt //删除文件
rm -r game //删除目录,因为目录是递归式,它下面可能还会有其它目录
//上面两种方式,系统都会先询问你是否删除,你回答yes或y才能删除
rm -f test.txt //删除文件,这样你删除文件,系统就不会询问
rm -rf game //删除目录,这样删除目录,系统就不会询问
//上面两种方式,系统都不会先询问你删除了,而是直接删除了。
该条指令就是如果你需要在删除文件或目录需要系统提醒你是否删除时,可以采取该条指令
rm -i 文件名或目录名
该指令类似于查资料的库,在使用之前,有的云服务器没有该库,可以执行"yum install -y man-pages",进行安装
man+手册编号+查找的内容 //+是空格的意思
// 该指令的意思是在指定的手册编号里寻找你需要的内容的用法
man man //当你想知道man的内容和用法可输入该条指令
cp+文件名+路径 //可以复制文件里的内容到指定路径中
cp+文件名+新的文件名 //可以复制文件里的内容到当前的路径中,并且改变了原来的文件名
如果是执行目录,其操作也是一模一样的在,只不过需要在cp 的后面加一个-rf
在执行该条指令时,可能也需要先执行"yum install -y nano",进行安装。
该指令就类似于笔记本的意思,执行它就是打开笔记本的意思
该指令是把文件或目录进行移动
mv+目录名或文件名+路径
mv+文件名+新文件名 //相当于对文件重命名操作
mv+目录名+新目录名 //相当于对目录重命名操作