1、罗列Linux的发行版,并描述不同版本之间的联系与区别

联系:不同的Linux发行版它们都是基于Linux内核构造出的发行版。因此它们都是自由的、开放源代码的类Unix系统。

区别:根据软件包技术阵营可以分为Debian系和红帽(Red Hat)系,Debian系采用.deb技术,其主要有debian和ubuntu,红帽系采用.rpm技术,其主要有Fedora、RHEL和Centos。以下将介绍几个主流的Linux发行版:

1) Debian

特点: 完全由自由软件组成的Linux发行版;稳定性高

高级软件包工具: apt

低级软件包工具: dpkg

init程序: Debian8以后采用systemd

桌面: Gnome

平台: 多CPU架构

生命周期:每2年发布一个稳定版本,每个版本获得3年的正式支持,以及额外的2年安全更新共计5年的安全更新支持。

2)ubuntu:

特点:基于debian,接受私有软件;旨在提供一个友好通用的桌面环境;目前桌面用户最多的Linux发行版

高级软件包工具:apt

低级软件包工具: dpkg

init程序: ubuntu 15.04以后使用systemd

桌面: Gnome

平台:x86-64, Arm

生命周期:每半年发布一个新版本(通常在4月和10月),长期支持版(LTS)每2年发布一次,普通版只提供9个月支持,LTS提供5年支持。

3)RHEL:

特点:红帽公司推出的带有商业支持的Linux发行版,目前是基于Fedora,因此它可以使用Fedora的EPEL(Extra Package For Enterprise Linux)的软件包。

高级软件包工具:yum或dnf

低级软件包工具:rpm

init程序:RHEL7以后使用systemd

默认桌面:Gnome

平台:多CPU架构支持

生命周期:大约每3年发布一个版本,每个版本提供10年支持

4)Fedora:

特点:由Fedora社区开发,但是由红帽公司赞助;是RHEL的上游源码,经过Fedora测试验证充分的技术会加入到RHEL

高级打包工具:dnf

低级打包工具:rpm

init程序:Fedora15以后采用systemd

默认桌面:Gnome

平台:多CPU架构

生命周期:大约每三年发布一个版本,每个版本提供10年支持

5)Centos:

特点:是基于RHEL依照开放源代码规定发布的源代码,由于出于同样的源代码因此有高度要求稳定性的服务器会以Centos替代RHEL

高级软件包工具:yum或dnf

低级软件包工具:rpm

init程序:systemd

默认桌面:Gnome/KDE

平台:多CPU架构支持

生命周期:Centos8已经被Centos团队宣布停止维护,以后Centos将作为RHEL的上游来反哺给RHEL。

6)Anolis Os:

特点:由Open Anolis(龙蜥)社区开发的开放源代码的Linux发行版,与Centos8完全兼容。

高级打包工具:yum

低级打包工具:rpm

init程序:systemd

默认桌面:KDE

平台:x86,arm

生命周期:-

此外还有LFS(Linux From Scratch,从源码构建Linux,从而帮助我们理解Linux),Arch Linux(国内用户活跃);Gentoo linux等、


2、安装Centos7.9和ubuntu操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图

第1步:在“主页”中点击创建新的虚拟机

作业1——初识Linux_linux

第2步:选择“典型”,然后点击下一步

作业1——初识Linux_linux_02

第3步:选择“稍后安装操作系统”,然后点击下一步

作业1——初识Linux_发行版_03

第4步:因为是安装Centos7.9所以选择Centos7 64位,然后下一步

作业1——初识Linux_发行版_04

第5步:选择安装位置,这里我将所有虚拟机都存放在了D盘的Virtual_machines目录下了,这里忘记给虚拟机改个名了

作业1——初识Linux_linux_05

第6步:指定磁盘容量200G,选择将虚拟磁盘存储为单个文件,点击下一步

作业1——初识Linux_发行版_06

第7步:点击完成

作业1——初识Linux_linux_07

第8步:点击编辑虚拟机设置,放入ISO文件然后点击确定

作业1——初识Linux_发行版_08


第9步:开启虚拟机

作业1——初识Linux_发行版_09

第10步:选择第一个install安装或者第二个test&install,第二个只是比第一个多了个test

第11步:默认英语直接continue

作业1——初识Linux_linux_10

第12步:设置磁盘空间分配策略

作业1——初识Linux_linux_11

第13步:选择“I will..."然后done

作业1——初识Linux_linux_12

第14步:选择”Strandard Partition"

作业1——初识Linux_发行版_13

第15步:给/ /boot /swap /data分别分配100G 1G 2G 50G磁盘空间,注意/boot文件系统类型改成ext4 /swap文件系统类型改成swap

第16步:software selection,可以minum安装或者withGUI

第17步:设置网络和主机名

作业1——初识Linux_linux_14

第18步:设置时区和时间,选择shanghai


第19步:安装,在此期间可以为root用户设置密码和创建普通账户

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

sed -i '$aHISTTIMEFORMAT="%F %T "' .bash_profile && source .bash_profile 

echo 'HISTTIMEFORMAT="%F %T "' >> .bash_profile && source .bash_profile 

4、Linux哲学思想(设计理念)

1、一切皆文件(包括设备比如stdin和stdout都是文件)

2、小型、单一功能用途的程序

3、通过连接(通过管道这一shell特性实现)小型、单一功能用途的程序来处理复杂任务

4、避免难以理解的用户界面(貌似在指GUI),CLI是比较自然的人机交互界面(就像写书信一样与计算机交流)

5、配置数据都存储在文本文件中

5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令

Linux的命令格式一般是:command -options arguments,-options是短选项形式的参数,也可以写成长选项的形式。

例如 find . \( -type d -not -perm 0700 \) -or \( -type f -not -perm 0600 \) 找出当前目录下面“不安全“的目录文件和普通文件;ls -i(长格式 ls --inode),列出文件的节点信息。此外,与查看进程信息相关的ps命令还可以有BSD格式的形式比如 ps aux(查看属于每个用户的进程信息)。

echo:显示一行文本

-e: 输出转移字符

-n: 输出不换行

echo后面经常与“”或''一起使用,""里单词分割机制比如"hello word"被认为是一个参数、花括号扩展以及~扩展都会失效但是参数扩展、命令替换、算术扩展仍然有效,而''内任何扩展都失效

date 查看日期:

例如:date +"%F"相当于date +"%Y-%m-%d";输出结果:2021-11-18

    date +”%H-%M-%S“ 21-25-11

ifconfig: 查看网络接口、子网掩码等信息

export:将环境变量导出到随后要运行的程序中

例如将用户家目录下的bin目录添加到PATH环境变量中以使shell能够找到用户个人的程序

PATH=$PATH:$HOME/bin


export $PATH

6、描述Linux发行版的系统目录名称命名规则以及用途

Linux文件系统层级标准(FHS,File System Hierachy Strandard),定义了Linux系统的主要目录和目录结构。FHS由Linux基金会负责维护。

/根目录:一切从/开始

/bin:可执行程序如ls

/boot:引导程序文件,内核以及initrd等文件

/device: 设备文件

/etc:系统范围的配置文件

/home: 用户home目录,个人用户的配置

/media:可移动的媒体,cd-rom的挂载点

/lib和/lib64:/bin和/sbin中用到的库文件存放的位置

/mnt: 临时挂载点

/opt: 可选的应用包,一般用于存放着一些直接提供二进制程序的开源包

/proc: 虚拟文件系统

/root: root用户的home目录

/run: 存在一些pid和socket文件

/sbin: 系统可执行文件,init,ifconfig,mount等

/sys: 非FHS标准,但大部分发行版都有,虚拟文件系统,用来对内核和设备驱动做设置

/usr: usr的全称是unix software resource,绝大多数的程序和应用工具安装在这里,结构和/非常相似

/usr/bin: 可执行文件

/usr/lib: /usr/bin对应的库文件

/usr/share: 和计算机架构无关的一些共享资源文件

/usr/src: 源代码存放的路径,如ubuntu内核源码

/var: 程序运行过程中不断变化的文件比如日志

/tmp: 临时文件系统,重启后内容丢失