Week 1 Homework

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

主流Linux发行版分三大系:Debian系、RedHat系和Slackware系;

Debian系
Ubuntu是基于Debian,以桌面应用为主的Linux发行版,Ubuntu每六个月(即每年的四月与十月)发布一个新版本,长期支持(LTS)版本每两年发布一次。普通版本一般只支持9个月,但LTS版本一般能提供5年的支持。
 Mint是一种基于Ubuntu的Linux发行版,被很多爱好者誉为“最好的桌面应用系统”,就像是 Linux 世界中的 macOS,非常适合个人日常办公或开发电脑使用。
 Deepin,深度操作系统,是武汉深之度科技有限公司开发的开源操作系统。它是基于Debian的稳定版本的一个Linux发行版。它可以运行在个人计算机和服务器上,并免费提供给个人用户使用。
 Kali Linux 是基于Debian的Linux发行版,设计用于数字鉴识和渗透测试。拥有超过600个预装的渗透测试程序。  
RedHat系
 RHEL:Red Hat Enterprise Linux是一个由Red Hat公司开发的商业市场导向的Linux发行版,每18个月发布一个新版本。
 CentOS:Community Enterprise Operating System社区企业操作系统,它是来自于Red Hat Enterprise Linux(RHEL)依照开放源代码规定发布的源代码所编译而成,后被RedHat收购成为RedHat公司下的另一个企业版产品,自RedHat被IBM公司收购后CentOS开发团队于2020年12月8日宣布,传统的CentOS 8将仅维护至2021年底,之后仅维护CentOS Stream,使其变为滚动发行的散布版。
 Fedora:由Fedora项目社群开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由(开放源代码)的操作系统,它是许多新技术的测试平台,被认为可用的技术最终会加入到RHEL中,每6个月发布一个新版本。
 Rocky: 随着CentOS即将成为一个CentOS Stream滚动版后,CentOS创始人之一Gregory Kurtzer为首,8小时内250人啸聚网络,计划以创建RockyLinux(Rocky为已经逝世的另外一个CentOS创始人)取代CentOS。

中标麒麟:中标软件

Slackware系
  suse是一家总部位于德国的软件公司,创立于1992年,以提供企业级Linux为主要业务,SUSE提供了名为SUSE Linux Enterprise的企业级Linux发行版,并参与包括openSUSE在内的多个开源项目的开发。

其他系

ArchLinux:轻量简洁
Gentoo:极致性能,不提供传统意义的安装程序
LFS: Linux From scratch 自制Linux,只是一个说明书
Android: kernel+busybox(工具集)+java虚拟机

不同发行版之间的联系
  所有发行版都使用Linus的内核,都遵循GNU/GPL协定;

不同发行版之间的区别
  不同发行版运作方式不同,有社区维护,有商业公司进行维护;
  不同发行版的内核、库、程序不同;
  不同发行版的包管理机制不同:Debian系用dpkg,apt进行软件包管理,RedHat系用rpm,yum,dnf进行包管理等。

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

1)创建CentOS7虚拟机

  • 主页–>创建新的虚拟机–>自定义
    在这里插入图片描述
    在这里插入图片描述
  • 我稍后安装操作系统
    在这里插入图片描述
  • 选择客户端操作系统:客户机操作系统选择【Linux】,版本选择【CentOS 7 64位】
    在这里插入图片描述
  • 命名虚拟机及虚拟机存放路径
    在这里插入图片描述
  • 处理器配置:数量1,内核数4
    在这里插入图片描述
  • 内存配置:2G
    在这里插入图片描述
  • 网络类型:NAT模式
    在这里插入图片描述
  • 选择磁盘:创建新虚拟磁盘
    在这里插入图片描述
  • 指定磁盘容量:200G,将虚拟机存储为单个文件
    在这里插入图片描述
  • 自定义硬件
    在这里插入图片描述
  • 给虚拟光驱加入映像文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 创建虚拟机配置完成
    在这里插入图片描述

2)安装CentOS 7.9系统

  • 加电开机
    在这里插入图片描述
  • 选择第一项,安装CentOS 7
    在这里插入图片描述
  • 设置语言
    在这里插入图片描述
  • 设置时区
    在这里插入图片描述
    在这里插入图片描述
  • 软件包选择:Server with GUI
    在这里插入图片描述
    在这里插入图片描述
  • 设置系统分区:
  • 分区规划:
  • / :100G
  • /boot:1G
  • /data:50G
  • swap:4G

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 配置网络和主机名
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 开始安装
    在这里插入图片描述
  • 设置root用户密码
    在这里插入图片描述
    在这里插入图片描述
  • 创建普通用户及密码
    在这里插入图片描述
    在这里插入图片描述
  • 安装完成后:重启
    在这里插入图片描述
  • 第一次启动
    在这里插入图片描述
  • 许可协议
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 进入登录界面, 登录系统
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 初始化桌面环境
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 进入系统桌面
    在这里插入图片描述

3)创建Ubuntu虚拟机同CentOS7创建方法类似(省略)

4)安装Ubuntu18.04.5

  • 选择语言
    在这里插入图片描述
  • 选择安装Ubuntu 服务
    在这里插入图片描述
  • 选择安装过程的语言
    在这里插入图片描述
  • 选择国家和地区
    在这里插入图片描述
  • 选择No,不检测键盘布局
    在这里插入图片描述
  • 选择键盘布局
    在这里插入图片描述
    在这里插入图片描述
  • 设置主机名
    在这里插入图片描述
  • 创建用户
    在这里插入图片描述
  • 设置用户密码
    在这里插入图片描述
    在这里插入图片描述
  • 确定位置和时区
    在这里插入图片描述
  • 自定义分区
  • 分区规划: 和CentOS7分区规划一致
    在这里插入图片描述
  • 选中磁盘进行分区
    在这里插入图片描述
  • 创建空的分区表用于创建新分区
    在这里插入图片描述
  • 创建/根分区:100G
    在这里插入图片描述
    在这里插入图片描述
  • 选择默认主分区
    在这里插入图片描述
  • 默认从开始处划分新分区
    在这里插入图片描述
    在这里插入图片描述
  • 选中剩余的FREE SPACE,继续创建/boot分区: 1G
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 选中挂载点
    在这里插入图片描述
  • 选择/boot为挂载点
    在这里插入图片描述
    在这里插入图片描述
  • 选中剩余的FREE SPACE,继续创建/data数据分区: 50G
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 选择挂载点
    在这里插入图片描述
  • 选择手动输入
    在这里插入图片描述
  • 输入/data为挂载点
    在这里插入图片描述
    在这里插入图片描述
  • 选中剩余的FREE SPACE,继续创建swap交换分区: 4G
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 修改文件系统
    在这里插入图片描述
  • 选择SWAP文件系统类型
    在这里插入图片描述
    在这里插入图片描述
  • 完成所有分区设置并确定写入磁盘
    在这里插入图片描述
    在这里插入图片描述
  • 设置HTTP 代理为空
    在这里插入图片描述
  • 不自动更新软件
    在这里插入图片描述
  • 安装 SSH服务(用向下箭头键选择SSH服务,然后用空格键选中,中括号会出现一个*星号代表已选择)
    在这里插入图片描述
  • 安装GRUB启动程序
    在这里插入图片描述
  • 安装完成,reboot
    在这里插入图片描述
  • 进入登录界面,输入账号和密码进行系统登录
    在这里插入图片描述

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

  • 设置【HISTTIMEFORMAT】变量,加入【%F %T】参数(仅临时生效)
[root@centos7 ~]# HISTTIMEFORMAT="%F %T " 
[root@centos7 ~]# history 
    1  2021-08-28 11:16:01 ip a sh 
    2  2021-08-28 11:17:57 ping 10.0.0.2
    3  2021-08-28 11:18:27 systemctl stop firewalld
    4  2021-08-28 11:21:16 ping www.baidu.com
    5  2021-08-28 11:22:15 HISTTIMEFORMAT="%F %T " 
    6  2021-08-28 11:22:19 history 
  • 持续生效,需写入配置文件
[root@centos7 ~]# HISTTIMEFORMAT="%F %T " >> /etc/profile.d/histtimeformat.sh

4、总结Linux哲学思想。

  • 一切皆文件
  • 由众多单一目的的小程序组成
  • 尽量避免跟用户交互
  • 使用纯文本文件保存配置信息

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

1)echo命令:显示一行文本
格式:echo [SHORT-OPTION]… [STRING]…
选项:-n 不自动换行; -e 启用\字符的解释功能
-e选项所支持的\字符串:
\a 发出警告声
\b 退格键
\c 最后不加上换行符
\e escape,相当于\033,跟提示符颜色相关
\n 换行且光标移至行首
\t 插入Tab
\ 插入\字符
\0nnn 插入\nnn(八进制)所代表的ASCII字符
\xHH 插入HH(十六进制)所代表的ASCII字符
范例:

# 不自动换行,显示字符
[root@centos7 ~]# echo -n "hello world."
hello world.[root@centos7 ~]# 

# 以红色显示字符
[root@centos7 ~]# echo -e "\e[1;31mhello world\033[0m"
hello world

# 以十六进制字符显示LIU
[root@centos7 ~]# echo -e "\x4C\x49\x55"
LIU

2)screen命令:实现会话管理
安装:yum -y install screen (默认screen没有安装)
常见用法:

  • 创建新screen会话: screen -S [会话名称]
  • 加入screen会话: screen -x [会话名称]
  • 关闭screen会话: exit
  • 剥离当前screen会话: Ctrl+a,d
  • 显示所有已打开的screen会话: screen -ls
  • 恢复某个screen会话: screen -r [会话名称]
    3)date命令:显示和设置系统日期或时间
    格式: date [OPTION]… [+FORMAT]
    选项: -d STRING 显示字符串所指的日期与时间; -s 设置时间
    范例:
# 显示当前日期
[root@centos7 ~]# date 
Sat Aug 28 12:04:18 CST 2021
[root@centos7 ~]# date +"%Y/%m-%d %H:%M:%S"
2021/08-28 12:04:42

# 显示昨天日期
[root@centos7 ~]# date -d "yesterday"
Fri Aug 27 12:05:32 CST 2021
[root@centos7 ~]# date -d "-1 day"
Fri Aug 27 12:05:41 CST 2021

# 显示明天日期
[root@centos7 ~]# date -d "1 day"
Sun Aug 29 12:06:25 CST 2021

# 修改日期
[root@centos7 ~]# date -s "2021/12/31"
Fri Dec 31 00:00:00 CST 2021

# 修改时间
[root@centos7 ~]# date -s "12:30:00"
Fri Dec 31 12:30:00 CST 2021

# 距离1970年1月1日至今所经过的秒数
[root@centos7 ~]# date +%s
1640925038
[root@centos7 ~]# date -d @1640925038 +%F\ %T
2021-12-31 12:30:38

4)ifconfig命令:显示或配置网络接口
安装:yum -y install net-tools
格式:ifconfig [网络接口] [参数]
范例:

# 显示ens33网络接口IP地址
[root@centos7 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.152  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::8fdf:4736:8804:1816  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b9:6b:32  txqueuelen 1000  (Ethernet)
        RX packets 359582  bytes 537787191 (512.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 147865  bytes 8942677 (8.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# 设置ens33网络接口IP地址(临时生效)
[root@centos7 ~]# ifconfig ens33 10.0.0.150 netmask 255.255.255.0 
[root@centos7 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.150  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::8fdf:4736:8804:1816  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b9:6b:32  txqueuelen 1000  (Ethernet)
        RX packets 359586  bytes 537788460 (512.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 147962  bytes 8960836 (8.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

5)export命令:用于设置或显示环境变量
格式:export [-fn] [name[=value] …]
范例:

# 显示所有环境变量
[root@centos7 ~]# export | more
declare -x DISPLAY="localhost:10.0"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="centos7.node1.com"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
... ...

# 设置环境变量
[root@centos7 ~]# export DISPLAY=10.0.0.1:0.0

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

  • 文件和目录被组织成一个单根倒置树结构
  • 文件系统从根目录下开始,用"/"表示
  • 标准Linux文件系统,文件名称大小写敏感
  • 以点"."开头的文件为隐藏文件
  • 路径以斜杠"/"分隔
  • 文件名最长255个字节
  • 包括路径在内文件名称最长4095个字节
  • 蓝色–>目录,绿色–>可执行文件,红色–>压缩文件,浅蓝色–>链接文件,灰色–>其他文件
  • 除了斜杠和NULL所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用
    Linux的文件系统依照FHS标准:FHS Filesystem Hierarchy Standard
  • /boot: 存放引导文件,内核文件,引导加载器grub
  • /bin: 存放所有用户使用的基本命令,不能独立分区,OS启动即会用到的程序
  • /sbin: 管理类的基本命令,不能独立分区,OS启动即会用到的程序
  • /lib:启动时程序依赖的基本共享库文件以及内核模块文件"/lib/modules"
  • /lib64:专用于x86_64系统上的共享库文件
  • /etc:配置文件目录
  • /home:普通用户家目录
  • /root:管理员家目录
  • /media: 便携设备挂载点
  • /mnt: 设备文件设备挂载点
  • /dev:设备文件目录
  • /opt:第三方应用程序安装位置
  • /srv: 系统上运行的服务用的数据目录
  • /tmp: 临时目录
  • /usr:通用共享只读数据目录
  • /usr/bin:同/bin
  • /usr/sbin:同/sbin
  • /usr/lib::同/lib
  • /usr/lib64:同/lib64
  • /usr/include: c程序头文件
  • /usr/share: 结构化独立的数据,如:doc,man等
  • /usr/share/local: 第三方应用程序的安装位置
  • /var:经常发生变化的数据文件目录
  • /var/cache: 应用程序缓存数据目录
  • /var/lib: 应用程序状态信息数据
  • /var/local: 专用于/usr/local下的应用程序存储可变数据
  • /var/lock:锁文件
  • /var/log: 日志目录
  • /var/opt:专用于/opt下应用程序存储可变数据
  • /var/run:运行中的进程相关数据,常用于存储进程PID
  • /var/spool:应用程序数据池
  • /proc:用于输出内核与进程信息相关的虚拟文件系统
  • /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
  • /selinux: security enhanced linux,SELinux相关的安全策略等信息的存储位置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值