第一周作业

1. 简单总结计算机发展相关历史,详细总结服务器硬件和计算机分类相关知识

1.1计算机发展简史

1930年,美国科学家范内瓦·布什造出世界上首台模拟电子计算机。

1946年2月14日,由美国军方定制的世界上第一台电子计算机“电子数字积分计算机”(ENIAC, Electronic Numerical Integrator And Calculator)在美国宾夕法尼亚大学问世了。ENIAC 是美国奥伯丁武器试验场为了满足计算弹道需要而研制成的,这台计算机占地170平方米,重达28t(吨),耗电150千瓦,造价48万美元,每秒可执行5000次加法或400次乘法运算,共使用了18000个电子管。ENIAC的问世具有划时代的意义,表明电子计算机时代的到来。

在以后60多年里,计算机技术以惊人的速度发展,发展历程可分为四代:第1代:电子管数字机(1946—1958年)、第2代:晶体管数字机(1958—1964年)、第3代:集成电路数字机(1964—1970年)、第4代:大规模集成电路机(1970年至今)。

现代计算机架构-冯·诺依曼架构:

冯·诺依曼架构(Von Neumann Architecture)是冯·诺依曼和其他人提出的电子计算机通用架构。冯·诺依曼架构将通用计算机定义为以下 3 个基本原则:

1、采用二进制:指令和数据均采用二进制格式;

2、存储程序:一个计算机程序,不可能只有一条指令,而是由成千上万条指令组成的。指令和数据均存储在存储器中,而不是早期的插线板中,计算机按需从存储器中取指令和取数据;

3、计算机由 5 个硬件组成:运算器、控制器、存储器、输入设备和输出设备。在最开始的计算机中,五个部件是围绕着运算器运转的,这使得存储器和 I/O 设备之间的数据传送也需要经过运算器。而现代计算机中,五个部件是围绕着存储器运转的,这使得存储器和 I/O 设备可以直接完成数据传送,而不需要经过 CPU。

而 1948 年建造完成的 Manchester Baby 则被认为是世界上第一台基于冯·诺依曼架构的通用计算机。从 Baby 到现在 70 多年的时间,所有的单片机、PC 电脑、智能手机、服务器依然在遵循这一计算机架构。现代所有的计算机科学上的发展都是在软件和硬件能力上做优化,根本上的计算机架构依然没有改变。 冯·诺依曼也因而被誉为 “电子计算机之父”。

1.2计算机分类(按功能和角色划分)

服务器Server和客户机Client

服务器:即Server,计算机的一种,通常是网络中为客户端计算机提供各种服务的高性能的计算机,服务器在网络操作系统的控制下,将与其相连的硬盘、磁带、打印机及昂贵的专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发布及数据管理等服务

客户机:即向服务器提出请求,需要服务器为之提供相应的服务和支持的计算机。

常说的C/S模式,就是指 Client/Server(客户端/服务端)这种按角色来分的模式,服务端并不是一直都是服务端,客户端也并不是一直都是客户端,在使用时,服务提供者,就是服务端,服务请求者,就是客户端。

2. 制作一个教程,说明vmware软件如何下载安装。安装rocky 系统, ubuntu 系统,并结合xshell演示如何通过虚拟IP登入系统。

2.1vmware软件如何下载安装

2024年05月博通宣布VMware Workstation Pro 17.5.2:个人用户免费。以下简单的下载安装教程:

VMware软件下载链接已经合并到博通网站:https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware+Workstation+Pro

打开链接并登录,如果没有博通账户可以注册一个。登录后选择对应系统的个人版本下载

VMware workstation Pro版本选择页面
vmw17版本选择
完成下载

完成下载后默认安装,然后运行程序,在许可窗口选择个人使用即可。


2.2安装系统

2.2.1VMware新建虚拟机

完成

2.2.2安装Rocky Linux

提前准备好系统镜像文件

编辑虚拟机设置
使用对应系统的镜像文件
开启虚拟机
选择第一项安装
等待自检




创建一个普通用户,然后开始安装系统
等待安装进度条跑满,然后重启系统
重启后点击许可


2.2.3安装Ubuntu


开始安装

2.2.4xshell通过虚拟IP登录系统

使用ip a 命令查出当前系统的ip地址

3. 结合man命令总结linux常用基本命令用法,以及查看帮助文档的方法。

man 是单词 manual 的简写,是Linux系统中的帮助手册和文档。man 是一个外部命令,基本质就是读取特定文件,进行输出,其读取的文件一般位于/usr/share/man/目录下。新安装一个软件或程序后,对应的man手册也会放到/usr/share/man/目录下几乎每个命令都有man的 “页面”。

标准man手册有以下9章节:

(1)用户命令

(2)系统调用

(3)C库函数

(4)设备和特殊文件

(5)文件格式和约定

(6)游戏和演示

(7)杂项

(8)系统管理命令

(9)内核API

man的配置文件

centos7以后:/etc/man_db.conf

Ubuntu:/etc/manpath.config

man 命令常见用法:

-f:显示与指定关键字相关的手册页面,相当于whatis。

-k:搜索手册页中与关键字匹配的条目。

-a:显示所有匹配的手册页面。

-w:仅显示手册页的位置,而不显示其内容。

可结合whatis 和 whereis,先查处命令或文件属于man的第几个章节和man手册中的文档路径。

如查看passwd,作为命令则在man的第一章,作为文件则在man的第五章。

man 1 passwd 或者man /usr/share/man/man1/passwd.1.gz

man 5 passwd 或者man /usr/share/man/man5/passwd.5.gz

man 5 passwd

man -a passwd

4. 总结linux文件系统相关知识,并结合操作演示文件操作常见的命令

4.1系统目录结构

登录系统后,在当前命令窗口下输入命令: ls /

树状目录结构

以下是对这些目录的解释:

/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

/etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

/lib:lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

/media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/root:该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

/tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

/var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/usr:usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

4.2文件类型

七种文件类型

普通文件类型:Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]

目录文件:就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx]

块设备文件:块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]

字符设备:字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]

套接字文件:这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型

管道文件:FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]

链接文件:类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]

4.3文件操作命令

pwd:显示出当前/活动目录的名称。常用选项:

-L:显示真实物理路径。

-P:显示链接路径。默认选项。

cd:切换目录。常用选项:

-L:切换至链接目录,默认选项。

-P:切换至真是目录,而非链接目录。

cd .. :切换至父目录。

cd - :切换到上一个目录。

cd 或 cd ~ :切换至当前用户家目录。

cd ~username :切换至指定用户家目录。

ls:列出目录内容。常用选项:

-a:显示所有文件,包括隐藏文件。

-l:显示额外的信息

-R:目录递归

-d:仅显示当前目录

-S:按从大到小排序显示

stat:查看文件状态。常用选项:

-t:使用简洁格式显示。

-f:显示文件系统的信息。

文件信息
目录也是一个文件
文件系统信息

file:确定文件内容。文件可以包含多种类型的数据,使用file命令检查文件的类型,然后确定适当的打开命令或应用程序使用格式。常用选项:

-b:只显示结果,不显示文件名

-f:从指定文件中获取要处理的文件名

touch:用来创建空文件或刷新文件的时间。常用选项:

-a:改变atime和ctime。

-m:改变mtime和ctime。

-r:使用某个文件的atime和mtime作为当前文件的atime和mtime。

-d:指定atime和mtime,而不采用当前系统时间。

-c:如果文件不存在则不创建。

touch一个新文件
touch -d &touch -r 
touch -a

cp:实现文件和目录的复制。常用选项“

-i:如果目标文件已存在,则提示是否覆盖。

-n:如果目标文件已存在,则跳过此文件。

-R|-r:递归复制,可用于目录的复制。

-s:不复制文件,而是创建链接。

-p:同时复制访问时间,修改时间,权限等属性。

-u:当源文件比目标文件新时,才执行复制。

-b:先备份后覆盖。

复制文件
复制文件夹

mv:可以实现文件或目录的移动和改名。同一分区移动数据速度快,数据位置没有变化。不同分区移动数据速度慢,数据位置发生变化。常用选项:

-b:如果目标存在,则先备份。

-n:如果目标已存在,则跳过此文件。

-i:如果目标文件已存在,则提示是否覆盖

-u:当源文件比目标文件新时,才执行移动。

rm:可删除文件和目录,此命令非常危险,慎重使用,建议使用 mv 代替 rm。常用选项:

-i:删除前确认。

-f:不确认直接删除。

-r:递归删除。

-d:删除空目录。

--no-preserve-root:强删根目录。

mkdir:创建目录。常用选项:

-m:目录权限属性。

-p:如果要创建的目录父级目录不存在,则一起创建,是递归的意思。

-v:显示创建过程。

rmdir:删除空目录。只能删除空目录,如果向删除非空目录,可以使用rm -r 命令,递归删除目录。常用选项:

--ignore-fail-on-non-empty:忽略非空错误提示。

-p:连着父目录一起删除

-v:显示删除过程。

5. 总结操作系统概念相关视频的知识点

5.1操作系统的概念

1、操作系统:负责管理计算机中各钟软硬件资源并控制各类软件运行(他是介于硬件和应用软件系统之间的软件,运行在逻辑上,是人与计算机通信的桥梁)

2、进程:指进行中的程序,既进程=程序+执行(进程有一定的生命周期,而程序可以长时间的保存)

3、线程(提出它的概念主要是为了 提高CPU的利用率)(由于CPU处理的速度很快可以理解成多线程是并发的):线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位

4、内核态和用户态

特权态既内核态:拥有计算机中所有的软硬件资源

普通态既用户态:其访问资源的数量和权限均受到限制(由于安全考虑,大多数应用程序时存储在用户态的)

5.2操作系统的组成

1、进程管理:系统资源的分配单位(基本单位使进程  重点区分一下CPU调度和分派的基本单位线程)

2、存储管理:内存分配,存储保护,虚拟存储

3、设备管理:管理外设和接口

4、文件管理:保存程序和数据等软件信息

5、程序接口:提供指令或函数的调用方式,使程序能够调用系统的服务

6、用户界面:为用户提供操作环境

5.3操作系统的分类

1、单用户操作系统(一次只能运行一个用户程序):DOS,Windows系列

2、批处理操作系统(多个程序或作业同时运行):DOS/VSE(IBM)

3、分时操作系统(1、经济实惠,可以充分利用计算机的资源 2、分时系统的多个用户之间,可以通过文件系统彼此共享数据和共享文件,在各自的终端上协同完成共同的任务,CPU时间分片):UNIX

4、实时操作系统(要求计算机对数据进行迅速处理,这种有响应时间要求的快速处理过程,叫实时操作系统)

5、网络操作系统 (将物理上分散的独立的多个计算机系统互联起来,通过网络协议在不同的计算机之间实现信息交换、资源共享等   它们这种提供网络通信,资源共享的操作系统称为网络操作系统)

5.4典型操作系统

1、服务器操作系统:Windows、Unix、LInux、Netware

2、PC操作系统:DOS、Windows、MacOS

3、实时操作系统:VxWorks

4、嵌入式操作系统:Palm OS

6. 总结常用命令部分的命令使用和演示,最好带有注释信息

lscpu:查看cpu信息。cat /proc/cpuinfo也可看查看到。

free:查看内存大小。显示备注:

total:系统总的可用物理内存大小。

used:已被使用的物理内存大小。

free:剩余可用物理内存大小。真正尚未被使用的物理内存数量。

shared:被共享使用的物理内存大小。

buff/cache:被buff和cache占用的物理内存大小。

available:还可以被应用程序使用的物理内存大小。是应用程序认为可用内存数量,available = free + buffer + cache (大概的计算方法)

lsblk:查看硬盘和分区情况

shutdown:关机或重启。shutdown程序会广播已登录的用户,被看作是安全的关机命令。常用选项:

+10:10分钟后关机。默认是1分钟。

-r|--reboot:一分钟后重启。

-r now:立刻重启。

-c:取消关机计划。

7. 总结通配符,管道,重定向,inode知识点,并且结合示例,添加注释信息

7.1通配符

Linux中通配符主要是用来模糊搜索文件或文件夹。当查找文件/文件夹时,可以使用它来代替一个或多个真正字符,它使得文件搜索更加快速、便捷,大大提升了工作效率。

* 表示任意长度的任意字符

? 表示任意一个字符

~表示当前用户家目录

[] 匹配指定范围内任意一个字符,[a-z]:表示任意一个字母,[0-9]:表示任意一个数字,[^] 匹配除了指定范围以外的任意一个字符。

*| ?
[]| [^]

7.2管道

在shell 中,可以将两个或多个命令(程序|进程)连接起来,将前一个命令的输出作为后一个命令的输入,就像拿水管将两个命令连起来;使用管道,要求前一个命令必须支持标准输出,后一个命令必须支持标准输入。

7.3标准输入和输出和I/O重定向 redirect

Linux 系统中有三个最基本的IO设备:

1. 标准输入设备(stdin):对应终端键盘

2. 标准输出设备(stdout):对应终端的显示器

3. 标准错误输出设备(stderr):对应终端的显示器

在Linux系统中,一切皆文件,所以,这三个设备也是以文件的形式存在于系统中。程序从标准输入设备中获取数据,再将运行结果和错误信息输出到标准输出设备和标准错误输出设备。

重定向:redirect

I/O重定向:将默认的输入,输出或错误对应的设备改变,指向新的目标。

7.3.1标准输出重定向:

> | 1> :把标准输出重定向到文件

2> :把标准错误输出重定向到文件

&> :把标准输出和标准错误输出都重定向

>> :追究标准输出重定向到文件

7.3.2标准输入重定向

标准输入重定向是使用文件来代替键盘的输入, 从文件中读取数据,代替当前终端的输入设备输入的数据,此处要严格区分命令是否支持标准输入,标准输入和参数是两个概念。

格式:COMMAND 0< FILE  , COMMAND < FILE。

7.3.3标准输入多行重定向

使用 "<<终止词" 命令从键盘把多行重导向给STDIN,直到终止词位置之前的所有文本都发送给STDIN,有时被称为就地文本(here documents),其中终止词可以是任何一个或多个符号,比如:!,@,$,EOF(End Of File),magedu等,其中EOF比较常用。

7.4元信息inode

inode包含很多的文件元信息,但不包含文件名,例如:字节数、属主UserID、属组GroupID、读写执行权限、时间戳等。而文件名存放在目录当中,但Linux系统内部不使用文件名,而是使用inode号码识别文件。对于系统来说文件名只是inode号码便于识别的别称。

三个主要的时间属性:

ctime:change time是最后一次改变文件或目录(属性)的时间,例如执行chmod,chown等命令。

atime:access time是最后一次访问文件或目录的时间。

mtime:modify time是最后一次修改文件或目录(内容)的时间。

7.4.1inode 号码

表面上,用户通过文件名打开文件,实际上,系统内部将这个过程分为三步:

①系统找到这个文件名对应的inode号码;

②通过inode号码,获取inode信息;

③根据inode信息,找到文件数据所在的block,并读出数据。

其实系统还要根据inode信息,看用户是否具有访问的权限,有就指向对应的数据block,没有就返回权限拒绝。

直接查看文件inode号

7.4.2inode 大小

inode也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区,存放inode所包含的信息。每个inode的大小,一般是128字节或256字节。通常情况下不需要关注单个inode的大小,而是需要重点关注inode总数。inode总数在格式化的时候就确定了。

查看硬盘分区的inode总数和已使用情况

7.4.3inode 耗尽故障

由于硬盘分区的inode总数在格式化后就已经固定,而每个文件必须有一个inode,因此就有可能发生inode节点用光,但硬盘空间还剩不少,却无法创建新文件。同时这也是一种攻击的方式,所以一些公用的文件系统就要做磁盘限额,以防止影响到系统的正常运行。

至于修复,很简单,只要找出哪些大量占用i节点的文件删除就可以了。

另外,系统会提示 "No space left on device"有两种可能:1、磁盘空间被耗尽;2、inode被耗尽。

7.4.4硬链接与软链接

硬链接

通过文件系统的inode链接来产生的新的文件名,而不是产生新的文件,称为硬链接。

一般情况下,每个inode号码对应一个文件名,但是Linux允许多个文件名指向同一个inode号码。意味着可以使用不同的文件名访问相同的内容。

ln src dest

运行该命令以后,源文件与目标文件的inode号码相同,都指向同一个inode。inode信息中的链接数这时就会增加1。

当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名;但是删除一个文件名,不影响另一个文件名的访问。删除一个文件名,只会使得inode中的链接数减1。

需要注意的是不能对目录做硬链接。

通过mkdir命令创建一个新目录,其硬链接数应该有2个,因为常见的目录本身为1个硬链接,而目录下面的隐藏目录.(点号)是该目录的又一个硬链接,也算是1个连接数。

每多创建一个硬链接,inode链接数增加1
创建一个新目录,其硬链接数应该有2个

7.4.5软链接

类似于Windows的快捷方式功能的文件,可以快速连接到目标文件或目录,称为软链接。

ln -s src(源文件或目录) dest(目标文件或目录)

软链接就是再创建一个独立的文件,而这个文件会让数据的读取指向它连接的那个文件的文件名。例如,文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。这时,文件A就称为文件B的软链接soft link或者符号链接symbolic link。

这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode链接数不会因此发生变化。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、一个完整计算系统的简要介绍硬件系统和软件系统共同构成了一个完整的计算机系统,硬件是指具有形的物理设备,包含主机...
    zhk_e847阅读 237评论 0 0
  • [TOC] 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别 Linux的发行版本可以大体分为两类,...
    szlwl01阅读 560评论 0 1
  • 1. 总结计算机发展相关,并且总结服务器硬件相关知识。 计算机发展概述: 计算机从巨大笨重到今天的小型化、高效能...
    BillFromWeb阅读 134评论 0 0
  • 1.计算机发展史 第一代(1946一1956年)电子管计算机时代,1946年电子计算机ENlAC问世于美国宾夕法尼...
    14fed2575abf阅读 91评论 0 0
  • 1、描述计算机的组成及其功能。 2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 3、描述Li...
    yaha21阅读 725评论 1 3

友情链接更多精彩内容