1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 Fedora Core Fedora Core(自第七版直接更名为Fedora)是众多 Linux 发行版之一。它是一套从Red Hat Linux发展出来的免费Linux系统。Fedora Core 的前身就是Red Hat Linux。Fedora是一个开放的、创新的、前瞻性的操作系统和平台,基于Linux。它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。Fedora 项目由 Fedora 基金会管理和控制,得到了 Red Hat, Inc. 的支持。Fedora 是一个独立的操作系统,是Linux的一个发行版,可运行的体系结构包括 x86(即i386-i686), x86_64 和 PowerPC。 Debian Debian Project诞生于1993年8月13日,它的目标是提供一个稳定容错的Linux版本。支持Debian的不是某家公司,而是许多在其改进过程中投入了大量时间的开发人员,这种改进吸取了早期Linux的经验。Debian的安装完全是基于文本的,对于其本身来说这不是一件坏事。但对于初级用户来说却并非这样。因为它仅仅使用fdisk 作为分区工具而没有自动分区功能,所以它的磁盘分区过程令人十分讨厌。磁盘设置完毕后,软件工具包的选择通过一个名为dselect的工具实现,但它不向用户提供安装基本工具组(如开发工具)的简易设置步骤。最后需要使用anXious工具配置X Windows,这个过程与其他版本的X Windows配置过程类似。完成这些配置后,Debian就可以使用了。 Ubuntu Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图),意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和unity桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。随着云计算的流行,ubuntu推出了一个云计算环境搭建的解决方案,可以在其官方网站找到相关信息。于2012年4月26日发布最终版ubuntu 12.04,ubuntu 12.04是长期支持的版本。 Red Hat Linux 这是最著名的Linux版本了,Red Hat Linux创造了自己的品牌,越来越多的人听说过它。Red Hat在1994年创业,当时聘用了全世界500多名员工,他们都致力于开放的源代码体系。 Red Hat Linux是公共环境中表现上佳的服务器。它拥有自己的公司,能向用户提供一套完整的服务,这使得它特别适合在公共网络中使用。这个版本的Linux也使用最新的内核,还拥有大多数人都需要使用的主体软件包。 SuSE 总部设在德国的SuSE AG在商界已经奋斗了8年多,它一直致力于创建一个连接数据库的最佳Linux版本。为了实现这一目的,SuSE与Oracle 和IBM合作,以使他们的产品能稳定地工作。SuSE还开发了SuSE Linux eMail Server III,一 Gentoo Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统 ——Portage包管理系统。 centos CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。 RHEL 在发行的时候,有两种方式。一种是二进制的发行方式,另外一种是源代码的发行方式。

2、安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。 按照课程要求已完成centos7.7安装,因前期安装时无截图,所以仅以下面方式展示系统版本和用户登陆

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

4、总结Linux哲学思想。 linux哲学思想 (1)一切都是一个文件(包括硬件) (2)小型,单一用途的程序 (3)链接程序,共同完成复杂的任务 (4)避免令人困惑的用户界面 (5)配置数据存储在文本中 5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令 echo命令用于在终端设备上输出字符串或变量提取后的值,这是在Linux系统中最常用的几个命令之一,但操作却非常简单。 常用参数:

-n 不输出结尾的换行符 -e “\a” 发出警告音 -e “\b” 删除前面的一个字符 -e “\c” 结尾不加换行符 -e “\f” 换行,光标扔停留在原来的坐标位置 -e “\n” 换行,光标移至行首 -e “\r” 光标移至行首,但不换行 -E 禁止反斜杠转移,与-e参数功能相反 —version 查看版本信息 --help 查看帮助信息

screen命令 screen命令为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常中有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。 常用参数:

-A 将所有的视窗都调整为目前终端机的大小 -d<作业名称> 将指定的screen作业离线 -m 即使目前已在作业中的screen作业,仍强制建立新的screeN作业 -r<作业名称> 恢复离线的screen作业 -R 先试图恢复离线的作业,若找不到离线的作业,即建立新的screen作业 -s<shell> 指定建立新视窗时,所要执行的shell -S<作业名称> 指定screen作业的名称 -v 显示版本信息 -x 恢复之前离线的screen作业 -ls 显示目前所有的screen作业 -list 显示目前所有的screen作业 -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业

date命令可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记 。

常用参数:

-d datestr 显示 datestr 中所设定的时间 (非系统时间) -s datestr 将系统时间设为 datestr 中所设定的时间 -u 显示目前的格林威治时间 --help 显示帮助信息 --version 显示版本编号

ifconfig命令的英文全称是“network interfaces configuring”,即用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。 常用参数:

add<地址> 设置网络设备IPv6的IP地址 del<地址> 删除网络设备IPv6的IP地址 down 关闭指定的网络设备 up 启动指定的网络设备 IP地址 指定网络设备的IP地址

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

系统目录名称命名规则:

1.严格区分字符的大小写; 2.文件名可以使用除斜线(/)以外的任意字符; 3.文件名不能超过255个字符; 4.以点号开头的文件为隐藏文件, 但是还有两个特殊文件: 一个点:表示当前目录和还有一个是点点(..):这表示当前目录的上一级目录; 各个目录的作用简介

/boot 系统启动引导文件存放此目录,内核文件以及引导加载器都存放在此目录下 /bin 存放所有用户的基本命令,该目录不可以独立分区,系统启动时会使用此目录下的文件 /sbin 存放管理类的基本命令,该目录不能独立分区,系统启动时会使用此目录下的文件。 /lib 存放系统启动时程序依赖的基本共享库文件和内核模块文件(/lib/modules) /lib64 专用于x86_64系统上的辅助共享库文件存放的位置 /etc 配置文件目录 /home 普通用户的家目录 /root 管理员用户的家目录 /media 移动式设备的挂载点 /mnt 临时文件系统挂载点 /dev 设备文件和特殊文件存储位置 /opt 第三方引用程序的安装位置 /srv 系统运行的服务用到的数据 /tmp 产生临时文件的程序提供的存储临时文件的目录 可以执行用户执行写入权限,有特殊权限 /tmp 临时文件存储位置 /usr 全局共享的只读数据路径 /var 存储常发生变化的数据库的目录 一般情况下,使用较多的时 /var/log 日志目录 /proc 基于内存的虚拟文件系统,为内核和进程存储其相关信息,多为内核参数。 /sys sysfs虚拟文件系统提供一种比proc更加理想的访问内核数据的途径。用于管理Linux设备

export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。

一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本

常用参数:

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

7、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?

元数据信息包含: File:文件名 Size:文件大小(单位:B) Blocks:文件所占块个数 IO Block:每个数据块的大小(单位:B) regular file:普通文件(此处显示文件的类型) Inode:文件的Inode号,文件的索引节点号 Links:硬链接次数 Access:权限 Uid:(属主id/属主名) Gid:(属组id/属组名) Context:文件所在的环境 Access:最近访问时间access time (atime) Modify:数据改动时间modification time (mtime) Change:元数据改动时间status time (ctime) Creat:文件创建时间

查看文件的元数据的方法: stat命令:stat – display file or file system status,使用stat 查看文件的元数据

使用语法:stat FILE…

[14:21:38 root@repo-server[ ~]#stat abc.sh File: abc.sh Size: 311 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 203392227 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-04-06 12:45:09.108591050 +0800 Modify: 2021-04-06 12:45:09.108591050 +0800 Change: 2021-04-06 12:45:09.108591050 +0800 Birth: - [14:21:46 root@repo-server[ ~]#touch abc.sh [14:25:30 root@repo-server[ ~]#stat abc.sh 刷新三个时间 File: abc.sh Size: 311 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 203392227 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-04-23 14:25:30.204727147 +0800 Modify: 2021-04-23 14:25:30.204727147 +0800 Change: 2021-04-23 14:25:30.204727147 +0800 Birth: - [14:25:32 root@repo-server[ ~]#

[14:25:32 root@repo-server[ ~]#touch -a abc.sh 仅改变atime 和ctime [14:28:34 root@repo-server[ ~]#stat abc.sh
File: abc.sh Size: 311 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 203392227 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-04-23 14:28:34.718728303 +0800 Modify: 2021-04-23 14:25:30.204727147 +0800 Change: 2021-04-23 14:28:34.718728303 +0800 Birth: - [14:28:37 root@repo-server[ ~]#

[14:28:37 root@repo-server[ ~]#touch -m abc.sh 改mtime和ctime [14:30:02 root@repo-server[ ~]#stat abc.sh File: abc.sh Size: 311 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 203392227 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-04-23 14:28:34.718728303 +0800 Modify: 2021-04-23 14:30:02.447728853 +0800 Change: 2021-04-23 14:30:02.447728853 +0800 Birth: - [14:30:04 root@repo-server[ ~]#

[14:30:04 root@repo-server[ ~]#touch -t 202104211130 abc.sh 修改Atime 和Mtime

[14:31:57 root@repo-server[ ~]#stat abc.sh File: abc.sh Size: 311 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 203392227 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-04-21 11:30:00.000000000 +0800 Modify: 2021-04-21 11:30:00.000000000 +0800 Change: 2021-04-23 14:31:51.832729538 +0800 Birth: - [14:32:02 root@repo-server[ ~]#

8、总结软连接和硬连接区别,并用实例操作说明。

(1)硬链接与原文件指向同一个物理文件,具有相同的inode号,创建硬链接时链接数递增。下图比较了对f1文件建立硬链接前后的文件信息

软链接与原文件是不同的文件,具有不同的inode号,创建软链接时链接数不变。软链接是一个指向原文件的符号链接,类似于windows中的快捷方式。 (2)创建硬链接时原文件的路径相对的事当前工作目录,创建软链接时原文件的路径相对的是软链接的文件路径。 3)创建硬链接时不能跨硬盘分区;软链接可以跨硬盘分区创建。 (4)不能对目录创建硬链接,但是可以对目录创建软链接。