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

Linux=Liunx内核+GNU工具,主要发行版本如下:

目前三大主流发行版分别为Debian、Redhat、SUSE

redhat:RHEL: Red Hat公司发布的面向企业用户的Linux操作系统,每18个月发行一个新版本CentOS: 社区企业操作系统。是RHEL的再编译版本Fedora:是由Fedora项目社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由(开放源代码)的操作系统。每6个月发行一个新版本


Debian:

Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范 的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经 过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是 稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。


suse是基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。


第一周学习作业_linux



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


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

临时生效:设置变量HISTTIMEFORMAT

第一周学习作业_linux_02

永久生效:在/etc/profile或者~/bash_profile配置文件添加如下配置

echo 'export HISTTIMEFORMAT="$F %T"' >> ~/.bash_profile

第一周学习作业_linux_03

4、总结Linux哲学思想。

一切皆文件

所有资源在Linux上都以文件方式存在,包括硬件设备;

 单一目的的小程序

一条命令完成一个任务,一串代码完成一个任务,这些小程序彼此独立,代码简单,目的明确;

 组合小程序完成复杂任务

一个复杂的任务不必使用一个大型的程序来独立完成,它由多个单独的小程序组合以完成复杂任务。这样既便于排错,也可以让程序运行更完美;

 文本文件保存配置信息

使用简单的文件编辑器,就可以完成配置;

尽量避免捕获用户接口

尽量不和用户进行交互,一个程序一但开始运行,就不需要用户进行任何操作;

提供机制,而非策略

机制是泥坯,策略是可以定制的各种细节。机制是接口,策略是数据流。管道是机制,应用管道处理各种数据是策略。AWK的读入行循环是机制,各种正则式与后附的处理操作是策略。

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

Echo 命令用于打印给定的字符串

功能:显示字符

语法:

选项:

-E (默认)不支持 \ 解释功能

-n 不自动换行

-e 启用 \ 字符的解释功能

显示变量

echo "$VAR_NAME" 变量会替换,弱引用

echo '$VAR_NAME' 变量不会替换,强引用

第一周学习作业_数据_04


date命令可以用来显示或设定系统的日期与时间

% : 印出 %

%n : 下一行

%t : 跳格

%H : 小时(00..23)

%I : 小时(01..12)

%k : 小时(0..23)

%l : 小时(1..12)

%M : 分钟(00..59)

%p : 显示本地 AM 或 PM

%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)

%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

%S : 秒(00..61)

%T : 直接显示时间 (24 小时制)

%X : 相当于 %H:%M:%S

%Z : 显示时区

第一周学习作业_小程序_05



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

/boot:引导文件存放目录,内核文件( vmlinuz)引导加载器( bootloader,grub都存放于此目

/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序

/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序

/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/ modules)

/lib64:专用于8664系统上的辅助共享库文件存放位置

/etc:配置文件目录

/home/ USERNAME:普通用户家目录

/root:管理员的家目录

/media:便携式移动设备挂载点

/mnt:临时文件系统挂载点

/dev:设备文件及特殊文件存储位置

 b: block device,随机访可

 C: character device,线性访问

/opt:第三方应用程序的安装位置

/srv:系统上运行的服务用到的数据

/tmp:临时文件存储位置

/usr: universal shared, read-only data

 bin:保证系统拥有完整功能而提供的应用程序

 sbin:

 lib32:32位使用

 lib64:只存在64位系统

 include:C程序的头文件(header files)

 share:结构化独立的数据,例如doc,man等

 local:第三方应用程序的安装位置

 bin,sbin,lib,lib64,etc,share

/var:variable data files

 cache:应用程序缓存数据目录

 lib:应用程序状态信息数据

 local:专用于/usr/local先的应用程序存储可变数据

 lock:锁文件

 log:日志目录及文件

 opt:专用于/opt下的应用程序存储可变数据

 run:运行中的进程相关数据,通常用户存储进程pid文件

 spool:应用程序数据池

 tmp:保存系统两次重启之间产生的临时数据

/proc:用于输出内核与进程信息相关的虚拟文件系统

/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统

/selinux:security enhanced Linux,selinux相关的安全策略等信息的存储位置