马哥教育SRE笔记【作业】week01

week01

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

  • slackware:
    • SUSE Linux Enterprise Server (SLES)
    • OpenSuse桌面
  • debian:
    • ubuntu
    • deepin(深度)
    • mint
  • redhat:
    • RHEL: RedHat Enterprise Linux, 每18个月发行一个新版本
    • CentOS: Community Enterprise Operating System 兼容RHEL的格式
    • 中标麒麟:中标软件
    • Fedora:每6个月发行一个新版本
  • Alpine: 一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musllibc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,只有5M左右大小
  • ArchLinux:轻量简洁,遵循K.I.S.S.原则( keep it simple and stupid ),Manjaro
  • Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件
  • LFS:Linux From scratch 自制Linux,只是一个说明书
  • Android:kernel+busybox(工具集)+java虚拟机

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

(1) centos7.9安装示例

image-20220328212657727

image-20220328212724417

image-20220328212734621

image-20220328212747072

image-20220328212807857

image-20220328212931381

image-20220328212948708

image-20220328213032589

image-20220328213100067

image-20220328213154550

image-20220328213238663

image-20220328213314330

image-20220328213442727

image-20220328213603789

image-20220328213747126

(2) 创建一个用户zz

# 创建用户zz 密码zz 并登录
[root@centos79 ~]# useradd -p `python3 -c 'import crypt,getpass;pw="zz";print(crypt.crypt(pw))'` zz
[root@centos79 ~]# su zz
[zz@centos79 root]$ 

(3) Ubuntu 1804安装过程未截图,略

# 创建用户zz 密码zz 并登录

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

# 默认不显示时间
[root@centos83localdomain ~]#history
    1  hostname
	...
	
# 设置本用户有效
[root@centos83localdomain ~]#echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bash_profile
[root@centos83localdomain ~]#source ~/.bash_profile
[root@centos83localdomain ~]#history
    1  2022-04-03 11:31:02 hostname
	...

4、总结Linux哲学思想。

  • 一切都是一个文件(包括硬件)
  • 小型,单一用途的程序
  • 链接程序,共同完成复杂的任务
  • 避免令人困惑的用户界面
  • 配置数据存储在文本中

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

(1) echo

[root@centos83 ~]# echo $SHELL
/bin/bash

[root@localhost ~]#echo "this hostname is $(hostname)"
this hostname is localhost
[root@localhost ~]#echo i am `whoami`
i am root

(2) screen

# 1. 在窗口a执行 screen  创建新会话
# 2. 关闭窗口a,在窗口b执行ps aux,仍可以查到ping动作
# 3. 在窗口b可查看到已打开的会话
[root@centos79 ~]# screen -ls
There is a screen on:
	8810.pts-0.centos79	(Detached)
1 Socket in /var/run/screen/S-root.

# 4. 可恢复窗口a
[root@zzc ~]# screen -r
64 bytes from 192.168.120.137: icmp_seq=82 ttl=64 time=0.078 ms
...

(3) date

[root@centos83localdomain data]# touch $(date +%F).txt
[root@centos83localdomain data]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 31 20:55 2022-03-31.txt

(4) ifconfig

[root@centos83localdomain ~]#ifconfig
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::624c:35f4:6634:d1e8  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:cf:cb:6a  txqueuelen 1000  (Ethernet)
        RX packets 6841  bytes 3088695 (2.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4616  bytes 420308 (410.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 48  bytes 4080 (3.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48  bytes 4080 (3.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:06:a7:ca  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

(5) export

[root@bogon script]#export NAME=zhang
[root@bogon script]#export NAME=laozhang
[root@bogon script]#bash
[root@bogon script]#echo $NAME
laozhang
[root@bogon script]#bash
[root@bogon script]#echo $NAME
laozhang
[root@bogon script]#exit
exit
[root@bogon script]#NAME=xiaozhang
[root@bogon script]#bash
[root@bogon script]#echo $NAME
xiaozhang
[root@bogon script]#exit
exit
[root@bogon script]#exit
exit
[root@bogon script]#echo $NAME
laozhang

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

  • /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
  • /bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
  • /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
  • /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
  • /lib64:专用于x86_64系统上的辅助共享库文件存放位置
  • /etc:配置文件目录
  • /home/USERNAME:普通用户家目录
  • /root:管理员的家目录
  • /media:便携式移动设备挂载点
  • /mnt:临时文件系统挂载点
  • /dev:设备文件及特殊文件存储位置
    • b: block device,随机访问
    • c: character device,线性访问
  • /opt:第三方应用程序的安装位置
  • /srv:系统上运行的服务用到的数据
  • /tmp:临时文件存储位置
  • /usr: universal shared, read-only data
    • bin: 保证系统拥有完整功能而提供的应用程序
    • sbin:
    • lib:32位使用
    • lib64:只存在64位系统
    • include: C程序的头文件(header files)
    • share:结构化独立的数据,例如doc, man等
  • /var: variable data files
    • cache: 应用程序缓存数据目录
    • lib: 应用程序状态信息数据
    • local:专用于为/usr/local下的应用程序存储可变数据
    • lock: 锁文件
    • log: 日志目录及文件
    • opt: 专用于为/opt下的应用程序存储可变数据
    • run: 运行中的进程相关数据,通常用于存储进程pid文件
    • spool: 应用程序数据池
    • tmp: 保存系统两次重启之间产生的临时数据
  • /proc: 用于输出内核与进程信息相关的虚拟文件系统
  • /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
  • /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置

7、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

[root@centos83localdomain data]#ls -a /etc/ | grep '^[^[:alpha:]][[:alpha:]]*'
.
..
.pwd.lock
.updated

8、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

[root@centos83localdomain data]#mkdir /tmp/mytest1
[root@centos83localdomain data]#cp -av `ls  -d  /etc/p*[^[:digit:]]` /tmp/mytest1/
'/etc/pam.d' -> '/tmp/mytest1/pam.d'
'/etc/pam.d/vlock' -> '/tmp/mytest1/pam.d/vlock'
'/etc/pam.d/config-util' -> '/tmp/mytest1/pam.d/config-util'
'/etc/pam.d/fingerprint-auth' -> '/tmp/mytest1/pam.d/fingerprint-auth'
'/etc/pam.d/other' -> '/tmp/mytest1/pam.d/other'
'/etc/pam.d/password-auth' -> '/tmp/mytest1/pam.d/password-auth'
'/etc/pam.d/postlogin' -> '/tmp/mytest1/pam.d/postlogin'
'/etc/pam.d/smartcard-auth' -> '/tmp/mytest1/pam.d/smartcard-
...
...

#验证:
[root@centos83localdomain data]#ls /tmp/mytest1
pam.d      pbm2ppa.conf  plymouth      postfix         profile.d
papersize  pinforc       pm            prelink.conf.d  protocols
passwd     pipewire      pnm2ppa.conf  printcap        pulse
passwd-    pki           popt.d        profile
[root@centos83localdomain data]#ls  -d  /etc/p*[^[:digit:]]
/etc/pam.d         /etc/pinforc   /etc/pnm2ppa.conf    /etc/profile
/etc/papersize     /etc/pipewire  /etc/popt.d          /etc/profile.d
/etc/passwd        /etc/pki       /etc/postfix         /etc/protocols
/etc/passwd-       /etc/plymouth  /etc/prelink.conf.d  /etc/pulse
/etc/pbm2ppa.conf  /etc/pm        /etc/printcap

9、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

[root@centos83localdomain data]#tr 'a-z' 'A-Z' < /etc/issue > /tmp/issue.out
[root@centos83localdomain data]#cat /tmp/issue.out
\S
KERNEL \R ON AN \M

[root@centos83localdomain data]#cat /etc/issue
\S
Kernel \r on an \m

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值