Linux基础(第一周)

1. Linux多个发行版间的联系与区别

1.1 什么是Linux?

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户,多任务,支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件,应用程序和网络协议。它支持32位和64位硬件,Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

1.2 一切要从那个男人开始说起

既然Linux是基于UNIX系统的,因此不得不提到那个创造UNIX系统的男人 Ken Thompson

1969年的夏天 Ken Thompson 为了能玩到自己制作的“星际旅行”游戏程序而在一台闲置的 PDP-7上开发出了一个及其简易的操作系统,这个简单的操作系统就是后来大名鼎鼎的UNIX系统的雏形。

因此追根溯源,如果乘坐时光飞机要去参观计算机系统的诞生,1969年夏天是一个必须记住的时刻,同时1970年,也被称作UNIX元年。

补充:

UNIX操作系统(英语:UNIX),是美国AT&T公司贝尔实验室于1969年完成的操作系统。最早由肯·汤普逊(Ken Thompson),丹尼斯·里奇(Dennis Ritchie),道格拉斯·麦克罗伊(Douglas McIlroy),和乔伊·欧桑纳于1969年在AT&T贝尔实验室开发。于1971年首次发布,最初是完全用汇编语言编写。后来,在1973年用一个重要的开拓性的方法,Unix被丹尼斯·里奇编程语言C(内核和I/O例外)重新编写。高级语言编写的操作系统具有更佳的兼容性,能更容易地移植到不同的计算机平台

1.3 GNU

接上文,上个世纪70年代末AT&T终于发现了UNIX的商业价值,于是成立了USG组织,将UNIX变成商业化产品,并规定只有再缴纳不菲的费用后才能够使用UNIX,至此,UNIX系统变成了一个“奢侈品”。

世界上从来都不缺乏反抗者,1983年 Richard Stallman 创立了GNU组织,GNU是“GNU is not UNIX”的递归缩写,GNU组织的理念是提倡Open Source计划,其希望发展处一个完全自由免费的Unix操作系统,但创作的过程异常复杂,所以该项目的发展进度也异常缓慢。

补充:

1983年,理查德·马修·斯托曼创立GNU计划。这个计划有一个目标,是为了发展一个完全自由的类Unix操作系统。自1984年发起这个计划以来,在1985年,理查德·马修·斯托曼发起自由软件基金会并且在1989年撰写GPL。1990年代早期,GNU开始大量地产生或收集各种系统所必备的组件,像是——库、编译器、调试工具、文本编辑器,以及一个Unix的用户界面(Unix shell)——但是像一些底层环境,如硬件驱动守护进程、系统内核(kernel)仍然不完整和陷于停顿,GNU计划中是在Mach微内核的架构之上开发系统内核,也就是所谓的GNU Hurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。林纳斯·托瓦兹曾说过如果GNU内核在1991年时可以用,他不会自己去写一个。

1.4 Linux的诞生

Linux最早是由芬兰人Linus Torvalds设计的,当时由于UNIX系统的商业化,Andrew Tannebaum 教授开发了Minix操作系统以便不受AT&T许可协议的约束并免费给全世界的学生使用,MINIX有许多UNIX的特点,但与UNIX PC不完全兼容,于是 Linus Torvalds 开始在MINIX上开发Linux内核,为了给MINIX用户设计一个比较有效的UNIX PC版本,他便将该项目上传到Minix新闻组上,毫无疑问,这个项目很快便得到了极大的反响。

于是,Linus Torvalds 在这之上继续扩展功能,并在很多支持者的帮助下开发并推出了Linux的第一个稳定的工作版本:时间1991年11月,版本0.10。
1994年3月,正式的Linux1.0诞生,截止那是,该系统的用户基数已经相当庞大,而且Linux的核心开发团队也建立了起来。

补充:

1991年,林纳斯·托瓦兹赫尔辛基大学上学时,对操作系统很好奇。他对MINIX只允许在教育上使用很不满(在当时MINIX不允许被用作任何商业使用),于是他便开始写他自己的操作系统,这就是后来的Linux内核

林纳斯·托瓦兹开始在MINIX上开发Linux内核,为MINIX写的软件也可以在Linux内核上使用。后来使用GNU软件代替MINIX的软件,因为使用从GNU系统来的源代码可以自由使用,这对Linux的发展有益。使用GNU GPL协议的源代码可以被其他项目所使用,只要这些项目使用同样的协议发布。为了让Linux可以在商业上使用,林纳斯·托瓦兹决定更改他原来的协议(这个协议会限制商业使用),以GNU GPL协议来代替。之后许多开发者致力融合GNU元素到Linux中,做出一个有完整功能的、自由的操作系统。

1.5 Linux发行版

Linux发行版为了许多不同应用场景和目的而制作,包括对不同计算机结构的支持,对一个具体区域或语言的本地化,实时应用,嵌入式等。
如今的Linux发行版本可以简单分为两类:一类是为了商业公司维护的发行版本,一类是社区组织维护的发行版本,前者最著名的是RedHat(RHEL)为代表,后者以Debian为代表。

1.6 三大主流发行版

Debain

Debian 是包括Ubuntu在内的许多发行版的上游发行版,Debian 是一个注重系统稳定性的纯开源计划,同时也提供了迄今为止最大和最完整的软件仓库给用户。

Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian 最早由 Ian Murdock 于1993年创立,分为三个分支:stable、testing、unstable。其中unstable为最新的测试版本,其中有最新的软件包,但相对的,BUG也比较多。testing是经过unstable中的测试,相对稳定的版本,也有一些BUG,适合桌面用户,而stable版本一般只适用于服务器。上面的软件和程序比较过时,但是稳定性和安全性都非常高。

Debian最具特色的是apt-get / dpkg包管理方式。

RedHat

RedHat Linux 系列是红帽公司研发的Linux发行版,包括Fedora、RHEL、CentOS和Oracle Linux多种版本,相比RHEL ,Fedora由多样化的社区参与合作,其打包了更多的软件包,所以其内容更加丰富。而CentOS多用于演示和试验,因为它对于用户而言是免费提供的,但比Fedora有更长的发布周期。

SUSE

SUSE ,SUSE Linux Enterprise Server (SLES),和openSUSE 之间的关系类似于Fedora、Fedora、RedHat Enterprise Linux和CentOS的关系,都是有一个公司研发制作的不同Linux发行版。

2. 安装CentOS 7操作系统

2.1 Linux安装和准备

如上文所言CentOS是一个免费而且多用于演示和试验的Linux发行版。所以我们选择安装CentOS 7作为我们学习的Linux系统。

安装之前需要有一下准备:
1.电脑(毫无疑问)

2.软件VMware Workstation

  1. 操作系统CentOS 7

2.2 手动安装CentOS

在VMware Workstation安装完毕后,双击打开,我们可以看到如下画面:

打开VMware Workstation界面

选择创建新的虚拟机:

选择创建新的虚拟机

选择自定义之后点击下一步:

选择自定义之后点击下一步

下一步:

下一步

选择稍后安装操作系统:

选择稍后安装操作系统

选择操作系统为Linux,版本为CentOS7 64位:

选择操作系统为Linux,版本为CentOS7 64位

填写命名,选择安装位置:

填写命名,选择安装位置

默认即可,选择下一步

默认即可,选择下一步

选择虚拟内存为2G,即内存为2048MB

选择虚拟内存为2G,即内存为2048MB

选择使用网络地址转换(NAT):

选择使用网络地址转换(NAT)

选择推荐的LSI Logic(L)

在这里插入图片描述

选择推荐的SCSI(S)

选择推荐的SCSI(S)

磁盘选项为创建新虚拟磁盘(V)

磁盘选项为创建新虚拟磁盘(V)

磁盘大小选择20G,点击将虚拟磁盘拆分为多个文件

磁盘大小选择20G,点击将虚拟磁盘拆分为多个文件

此时我们已经创建了一个新的虚拟机,虚拟机的配置信息可以很清楚的在界面上看到,下一步我们要安装操作系统

此时我们已经创建了一个新的虚拟机,虚拟机的配置信息可以很清楚的在界面上看到,下一步我们要安装操作系统

点击CD/DVD(IDE)

点击CD/DVD(IDE)

手动选择刚刚下载好的CentOS7的系统的位置后,点击确认

手动选择刚刚下载好的CentOS7的系统的位置后,点击确认

点击开启此虚拟机,开始安装CentOS7系统

点击开启此虚拟机,开始安装CentOS7系统

鼠标点击进入虚拟机场景,按方向键(“↑”,“↓”)选择Install CentOS7 ,按回车Enter确认

鼠标点击进入虚拟机场景,按方向键(“↑”,“↓”)选择Install CentOS7 ,按回车Enter确认

默认语言Language为英语English,直接点击右下角的蓝色Continue按钮继续

默认语言Language为英语English,直接点击右下角的蓝色Continue按钮继续

点击红框内软件安装的选项,SOFTWARE SELECTION

点击红框内软件安装的选项,SOFTWARE SELECTION

选择GNOME Desktop

选择GNOME Desktop

选好后,点击左上角Done完成

选好后,点击左上角Done完成

选在系统安装位置,INSTALLATION DESTINATION

选在系统安装位置,INSTALLATION DESTINATION

选择之前创建的虚拟硬盘空间后,点击左上角的蓝色按钮Done完成

选择之前创建的虚拟硬盘空间后,点击左上角的蓝色按钮Done完成

点击左下角的Begin Installation 开始安装操作系统

点击左下角的Begin Installation 开始安装操作系统

还没完,在安装的过程中点击ROOT PASSWORD选项,设定Root用户的账号密码

还没完,在安装的过程中点击ROOT PASSWORD选项,设定Root用户的账号密码

设置好root的账号密码后点击左上角的蓝色按钮Done完成操作,等待安装系统完成:

设置好root的账号密码后点击左上角的蓝色按钮Done完成操作,等待安装系统完成

等呀……等呀

等呀……等呀

装好了,点击右下角的蓝色Reboot 重启按钮

装好了,点击右下角的蓝色Reboot 重启按钮

点击虚拟机窗口进入虚拟机场景,按方向键上下选择第一个,按回车Enter确定进入下一步

点击虚拟机窗口进入虚拟机场景,按方向键上下选择第一个,按回车Enter确定进入下一步

点击许可证信息:LICENSE INFORMATION,我们确认一下许可证

点击许可证信息:LICENSE INFORMATION,我们确认一下许可证

点击红框中的接受条款后,点击左上角的蓝色Done按钮完成

点击红框中的接受条款后,点击左上角的蓝色Done按钮完成

点击右下角:FINISH CONFIGURATION 完成操作

点击右下角:FINISH CONFIGURATION 完成操作

检查是否语言为English,确认无误后点击右上角的蓝色Next按钮进入下一步

检查是否语言为English,确认无误后点击右上角的蓝色Next按钮进入下一步

输入方式选English,确认无误下一步

输入方式选English,确认无误下一步

隐私选择关闭本地服务,选择下一项

隐私选择关闭本地服务,选择下一项

时区选项:在输入框中输入shanghai,选择上海时区,后下一步:

时区选项:在输入框中输入shanghai,选择上海时区,后下一步

跳过连接你的网络账户

跳过连接你的网络账户

设置你的账户名:

设置你的账户名

设置你的密码:

设置你的密码

安装成功,开始使用CentOS Linux:

安装成功,开始使用CentOS Linux

关闭GNOME Help 后可以看到桌面了:

关闭GNOME Help 后可以看到桌面了

恭喜你完成安装了!:

恭喜你完成安装了!

3.配置环境变量,实现执行history的时候可以看到执行命令的时间

history 命令的用法格式为:

history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]

3.1 History 命令的HISTTIMEFORMAT变量

HISTTIMEFORMAT变量能够显示时间:

因此:

~]$ HISTTIMEFORMAT="%F %T "我们将HISTTIMEFORMAT变量设置成以下格式

之后查询 history 命令查看是否更改成功

~]$ history 3 122 2020-02-04 22:44:24 HISTTIMEFORMAT="%F %T " 123 2020-02-04 22:44:26 history 124 2020-02-04 22:47:12 history 3

修改成功,下一题!

4.总结Linux哲学思想

4.1 一切皆文件

​ 不仅是普通的文件,像目录、字符设备、块设备、套接字等在Unix与Linux中都是用文件的方式存储的,它们虽然类型不同,但是对其提供的却是同一套操作系统接口,使得所有资源的访问都是统一表现为文件形式。

4.2 提供多个小型且用途单一的程序

​ Linux中提供的程序和可执行文件一般功能单一,短小精悍,所以程序一般不太复杂,从而保证了linux可以高效的运行,Linux中常见的工具也就几百个。

4.3 用多个小的程序共同完成复杂任务

​ 由于每个程序都是短小精悍的,所以在处理复杂的任务时,需要多个小程序来共同完成,系统可以通过连接多个简单的程序来处理复杂的功能,在保证简洁的同时,也完成了对复杂任务处理的需求。

4.4 使用字符界面,简介明了

​ 对于计算机的访问,Linux通常给出的是字符型的界面,特点是简洁明了,消耗极小的资源,最重要的是开源,出现的任何问题都可以通过简洁的命令行实现排查排错,修改系统配置。

4.5 配置数据存储在文本中

​ Linux及各种应用的配置文件都存放在文本配置文件当中,无论是什么配置修改,都可以通过对其配置文件的修改来达。

5.总结Linux常用命令使用格式

COMMEND [OPTIONS] [ARGUMENTS...]

COMMAND:代表需要执行的命令

OPTIONS:选项,用来调整命令的执行特性

[] :中括号中的内容表示可以省略,一般命令都支持一个或多个选项

ARGUMENTS:参数,表示命令作用的对象,需要多个参数时,用空白字符分隔开

5.1 echo命令的使用格式

echo [SHORT-OPTION]... [STRING]...
 
 -n     do not output the trailing newline/不另起新行输出
 
 -e     enable interpretation of backslash escapes/启用反斜杠转义

 -E     disable interpretation of backslash escapes (default)/禁用反斜杠转义(默认)

 --help display this help and exit/显示此帮助界面并退出

5.2 date命令的使用格式

 date [OPTION]... [+FORMAT] 显示日期时间
 
 date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 设定日期

FORMAT 格式说明:
%F 日期,显示为数字,格式为:2020-03-02
%D 显示英制时间,月日年,格式为:03/02/2020
%T 时间,显示为数字,格式为:15:52:16
%Y 年份,只显示完整的年份数字,格式为:2020
%y 显示年份的后两位,显示格式为:20
%m 月份,只显示数字,显示格式为:02
%d 日期,只显示数字,显示格式为:04
%H 小时,只显示数字,显示格式为:(00…23):21
%k 小时,显示格式(0…23)
%I 12小时制,显示格式为:(00…12)
%l 12小时制,显示格式:(0…12)
%h 显示月份,显示格式为:2月
%M 分钟,只显示数字
%S 秒钟,只显示数字
%a 缩写星期
%A 完整星期
%b 缩写月份
%B 完整月份
%r 显示格式:(11:11:11 PM)
%R %H%M (23:31)
%s 显示时间戳,从1970年1月1日至今的秒数

5.3 ifconfig命令的使用格式

ifconfig [-v] [-a] [-s] [interface]

ifconfig [-v] interface [aftype] options | address ...

ifconfig命令用于显示或设置网络设备。

ifconfig可设置网络设备的状态,或是显示目前的设置

5.4 export命令的格式

export [-fnp][变量名]=[值]
-f  代表[变量名称]中为函数名称。
-n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p  列出所有的shell赋予程序的环境变量

发布了1 篇原创文章 · 获赞 1 · 访问量 318

猜你喜欢

转载自blog.csdn.net/FlamencaH/article/details/104193784