第一周(0823~0829)
本周博客作业题:
1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
2、安装Centos7.9和ubuntu操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
3、配置环境变量,实现执行history的时候可以看到执行命令的时间。
4、总结Linux哲学思想。
5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
6、描述Linux发行版的系统目录名称命名规则以及用途。
学习前,先拜拜大神!

Q1 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别
(一)linux的发行版的基本定义:各个组织和厂家自己选择一些GUN软件,加上kernel等封装的一套套GNU/Linux。
(二)主流发行版罗列如下
slackware:SUSE Linux Enterprise Server (SLES),OpenSuse桌面
debian: ubuntu ,deepin ,mint ---优秀的个人桌面linux
redhat:RHEL: RedHat Enterprise Linux, 每18个月发行一个新版本。
CentOS:Community Enterprise Operating System 兼容RHEL的格式,已被收购。
Centos8 支持到2029年,代替OS:Rocky Linux,同团队。
Fedora:每6个月发行一个新版本。早期ATCA-Advanced架构通信设备也采用过这个系统。
Alpine: 一个面向安全的轻型 Linux 发行版。它不同于通常Linux发行版,Alpine采用了musllibc(其他发行版很多用glibc),库不同。busybox以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,只有5M左右大小。
ArchLinux: 轻量简洁,遵循KISS原则(keep it simple and stupid),据说AUR软件仓库有着世界上最齐全的Linux软件。
Manjaro---衍生版。
Gentoo: 极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件。
LFS: Linux From scratch 自制Linux,只是一个说明书,也就是说需要从零搭建linux系统,是最难的linux。
Android: kernel+busybox(工具集)+java虚拟机。
中标麒麟:中标软件,这个系统,如人饮水冷暖自知。
Q2 安装Centos7.9和ubuntu操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
(一)安装前,先下载Centos7.9和ubuntu,下载地址网页:
centos7.9:https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/ --(选择了清华的)

Ubuntu1804:http://cdimage.ubuntu.com/releases/18.04/release/

(二)分区规划
100G----------------虚拟机磁盘空间
ext4 --------1G-----------/boot 启动分区
xfs --------50G-----------/ 根分区
xfs --------20G-----------/data 测试数据目录
swap -------2G 交换分区
剩余27G,后期磁盘管理使用
(三)具体安装,centos7安装相对Ubuntu要简单,界面比较友好,主要是在分区的那部分。
虚拟机用的是VM14版本,虚拟机设置:菜单-->编辑--->虚拟网络编辑器...

两套系统安装通用部分,
选择 :网络选择NAT,语言ENGLISH ,美式键盘,时区 Asia/Shanghai ,软件自动更新不选。
下面是部分截图和说明
centos7:

网络选择NAT,CD/DVD 选择使用iso镜像

开启虚拟机,第一次可以选择,第二个选项,测试并安装,点击后显示进行测试



1.时区: Asia/Shanghai

2.软件:最小化安装(也可以桌面)

3.分区:选择自定义,不要自动


4.去掉系统日志收集,此项仅用于系统厂家支持,KDUMP

5.网络开启,设置主机名

到此,5项全部配置完成,就可以点击安装了。安装页面中,把密码设置一下,同时添加一个普通用户。

安装完成,reboot,如果是桌面版的,有个license 接受,最小化安装不用。

Ubuntu 的安装,麻烦一些的在分区部分开始到最后。前面的虚拟机的操作没差别,下面是差异部分的截图和说明。
1.选择:手工分区

2.选中这个磁盘

3.确认新建分区

4.选择空间 SPACE

5.新建分区

6.给一个地盘,也就是分区大小

7.类型要:主分区Primary

8.开始执行

9.默认ext4类型,选 / 根分区 ,完成设置(备注:使用向下箭头移动,使用回车键进行确定)

10.继续进行分区,类似的操作

11.注意的一个/data 没有可选项,选择手动输入


12. swap 需要修改文件系统类型

13.完成,选择finish,并接收yes


14.代理空着即可

15.不要自动更新

16.安装开启远程安全连接openssh服务(重要)

17.GRUB引导相关,需要接受YES

18.完成,reboot 提示,选YES

19.完成,可以登录了

Q3 配置环境变量,实现执行history的时候可以看到执行命令的时间。
临时生效:
export HISTTIMEFORMAT="%F %T "
从此刻开始,之后的输入的命令在记录历史信息中时,都会带有时间,之前的仅记录修改环境变量时刻的时间。
长期生效: 将设置追加到当前家目录下.bash_profile中
全局有效:将设置追加到/etc/profile中,需要root权限
echo 'export HISTTIMEFORMAT="%F %T " ' >>~/.bash_profile source ~/.bash_profile echo 'export HISTTIMEFORMAT="%F %T " ' >>/etc/profile source /etc/profile
Q4 总结Linux哲学思想
linux也可以称为类UNIX操作系统,因此也继承了UNIX的哲学思想
一切都是一个文件(包括硬件):操作系统的本质,将硬件资源虚拟为软件资源,文件形式-bcdlps,普通,块,字符,目录,软链接,管道,套接字
小型:单一用途的程序,单个小程序完成小任务,小而美。
程序共同完成复杂的任务
避免令人困惑的用户界面:命令行窗口,精准的接收指令,准确的输出反馈。
配置数据存储在文本中:配置文本化,修改和备份方便。
Q5 总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
Linux 命令格式
command [options]...[argmuments]
command 命令,是二进制执行程序,主要分内部命令,外部命令(后装的应用程序都是这个)
options 选项,有长选项、短选项。用于开启或关闭命令的某个功能,是为了准确的使用该命令功能,根据具体情况使用或者不用。
arguments 参数(对象),命令的作用对象,对文件,服务等执行命令。
常见实例:
echo

echo 将文本信息进行标准输出显示。
选项
-E:不启用转义\的解释功能(default)
-n:不自动换行
-e:启用转义字符\的解释功能,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\e escape,相当于\033
\n 换行且光标移至行首
\t 插入tab
举例:打印输出文本内容,也可以打印变量
[root@centos7 ~]# echo "user is user" user is user [root@centos7 ~]# echo "user is $USER" user is root
打印命令执行结果和参数数,扩展,转义
[root@centos7 ~]# echo `date` Fri Aug 27 10:45:30 CST 2021 [root@centos7 ~]# echo -e "hi \nmage" hi mage
screen(没怎么用过,一般后台跑程序用nohup COMMAND &)
当我们在使用xshell等终端进行远程访问服务器时,进行远程访问的界面往往不能关掉,否则,程序将不再运行。
screen可以创建一个终端,将终端会话送到系统后台。这样即使断开会话,screen中任务任然在继续执行。
screen –S [SESSION] :创建会话
screen –x [SESSION]:加入会话
exit :退出关闭会话
Ctrl+a,d : 剥离当前会话
screen -ls: 显示所有已经打开的会话
screen -r [SESSION] : 恢复会话
date
用的最多的是,脚本中配置日期参数。举例:
[root@centos7 ~]# date Fri Aug 27 11:03:01 CST 2021 [root@centos7 ~]# date "+%F %T" 2021-08-27 11:03:08 [root@centos7 ~]# date -d '-5 day' "+%F %T" 2021-08-22 11:03:15 [root@centos7 ~]# date -d '-5 day' "+%Y%m%d" 20210822 [root@centos7 ~]# date -d '-1 day' "+%Y%m%d" 20210826
常用于备份创建目录或文件带日期结尾
[root@centos7 ~]# touch backupfile`date -d '-1 day' "+%Y%m%d"` [root@centos7 ~]# ls anaconda-ks.cfg backupfile20210826
ifconfig 用于查看网络信息,c7后用ip命令代替了。
发现没这个命令,需要安装个rpm包:net-tools
[root@centos7 ~]# ifconfig
-bash: ifconfig: command not found
[root@centos7 ~]# yum install net-tools
[root@centos7 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.151 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::af84:88a4:f53f:e4df prefixlen 64 scopeid 0x20<link>
用ip a 命令
[root@centos7 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:4e:c3:dd brd ff:ff:ff:ff:ff:ff
inet 10.0.0.151/24 brd 10.0.0.255 scope global noprefixroute dynamic ens33
valid_lft 1207sec preferred_lft 1207sec
inet6 fe80::af84:88a4:f53f:e4df/64 scope link noprefixroute
valid_lft forever preferred_lft forever
export 声明环境变量
Q6 描述Linux发行版的系统目录名称命名规则以及用途。
在centos 7上,实用tree -L 2 命令,截取了主要的目录

浙公网安备 33010602011771号