第一周作业

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

Debian:
是三大发行版本中唯一以社区形式而不以商业公司形式运作的发行版是一个致力于创建自由操作系统的合作组织。而且debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程。

  • ubuntu:是一个以桌面应用为主的linux操作系统。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。 
  • mint:Linux Mint 是一款基于 Ubuntu 与 Debian 开发的 Linux 操作系统发行版,被很多爱好者誉为“最好的桌面应用系统”,就像是 Linux 世界中的 macOS,非常适合个人日常办公或开发电脑使用。
    Redhat:
  • RHEL: RedHat Enterprise Linux,是Redhat自己的发行的企业版,是Redhat的一个重要节点。每18个月发行一个新版本
  • CentOS:是一个基于Redhat linux 提供的可自由使用源代码的企业级linux发行版本。目前Centos已被收购,成为redhat旗下的一个组织。Centos兼容RHEL的格式
  • 中标麒麟:中标软件
  • Fedora:Fedore是一款基于linux的操作系统,也是一组维持计算机正常运行的软件集合。由红帽公司赞助。每6个月发行一个新版本,可视为Redhat的技术测试版,被认为可用的技术最终会加入到Red Hat Enterprise Linux中
    Slackware:
    是由 Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)原则。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。 Slackware 的很多特性体现出了KISS原则,最为有名的例子就是不依赖图形界面的文本化系统配置,传统的服务管理方式和不解决依赖的包管理。
    ArchLinux:轻量简洁
    Gentoo:极致性能,不提供传统意义的安装程序

各个发行版之间的联系:
均使用Linux内核,都需遵循GNU的GPL协议

各发行版之间的区别:
发行版=Linux+库和程序,不同发行版几乎采用不同的包管理器,SLES、Fedora、openSUSE、centos、RHEL使用rmp包管理系统,包文件以RPM为扩展名;Ubuntu系列,Debian系列使用基于DPKG包管理系统,包文件以deb为扩展名。

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

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

echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc_profile
source ~/.bashrc_profile

4、总结 Linux哲学思想。

  • 一切皆文件
  • 小型、单一用途的程序
  • 链接程序共同完成复杂的任务
  • 避免令人困惑的用户界面
  • 配置数据存储在文本中

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

(1)echo:可以将后面跟的字符进行输出,显示字符,标准输出,最后加换行符

用法:

-n 不自动换行

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

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

显示变量:

echo "$VAR_NAME"	#弱引用,用变量值替换
echo '$VAR_NAME'	#强引用,变量值不替换
[11:18:34 root@centos7-7 ~]#echo "$HOSTNAME"
centos7-7
[11:20:06 root@centos7-7 ~]#echo '$HOSTNAME'
$HOSTNAME
[11:20:12 root@centos7-7 ~]#echo $HOSTNAME
centos7-7

启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出

  • \a 发出警告声
  • \b 退格键
  • \c 最后不加上换行符号
  • \e escape,相当于\033
  • \n 换行且光标移至行首
  • \r 回车,即光标移至行首,但不换行
  • \t 插入tab
  • \ 插入\字符
  • \0nnn 插入nnn(八进制)所代表的ASCII字符
  • \xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii)
[11:26:38 root@centos7-7 ~]#echo -e "\e[1;31m hello \e[0m"
 hello 
[11:27:10 root@centos7-7 ~]#echo -e "\0101"
A

(2)screen:新建会话,共享会话等

安装screen

[root@centos7-7 ~]#yum -y install screen
  • 创建新screen会话

    screen –S [SESSION]

  • 加入screen会话

    screen –x [SESSION]

  • 退出并关闭screen会话

    exit

  • 剥离当前screen会话

    Ctrl+a,d

  • 显示所有已经打开的screen会话

    screen -ls

  • 恢复某screen会话

    screen -r [SESSION]

    [11:31:09 root@centos7-7 ~]#screen -ls
    There is a screen on:
            10508.test      (Attached)
    1 Socket in /var/run/screen/S-root.
    

(3)date:显示系统时间

[10:39:39 root@centos7-7 ~]#date +%s
1604543985
[10:39:45 root@centos7-7 ~]#date -d @`date +%s`
Thu Nov  5 10:40:03 CST 2020
[10:39:58 root@centos7-7 ~]#date -d @1604543985
Thu Nov  5 10:39:45 CST 2020
[10:40:03 root@centos7-7 ~]#date -d @`date +%s` +%F_%T
2020-11-05_10:40:38

(4)ifcongfig:显示或设置网络设备

  • up/down 开启或者关闭网络设备
  • -a 显示全部接口信息
  • -s 显示摘要信息
  • netmask<子网掩码> 设置网卡子网掩码
  • address 设置网卡IPV4地址
  • broadcast<地址> 设置网卡广播地址
  • mtu<字节数> 设置网卡最大传输单元
  • arp 开启和关闭网卡ARP协议
[11:43:26 root@centos7-7 ~]#ifconfig eth0 up
[11:43:26 root@centos7-7 ~]#ifconfig eth0 down
[11:43:35 root@centos7-7 ~]#ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.246.20  netmask 255.255.255.0  broadcast 192.168.246.255
        inet6 fe80::64ed:e682:caa0:1037  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:fe:61:74  txqueuelen 1000  (Ethernet)
        RX packets 5331  bytes 464458 (453.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3650  bytes 567523 (554.2 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 32  bytes 2592 (2.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32  bytes 2592 (2.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[13:20:38 root@centos7-7 ~]#ifconfig -s
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0             1500     5390      0      0 0          3693      0      0      0 BMRU
lo              65536       32      0      0 0            32      0      0      0 LRU
[13:21:01 root@centos7-7 ~]#ifconfig eth0 192.168.246.7 netmask 255.255.255.0 broadcast 192.168.246.255

[13:28:46 root@centos7-7 ~]#ifconfig eth0 arp
[13:28:46 root@centos7-7 ~]#ifconfig eth0 -arp

(5)export:用于设置或显示环境变量

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

显示环境变量

[11:31:22 root@centos7-7 ~]#export -p
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="centos7-7"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"

定义环境变量

[11:34:37 root@centos7-7 ~]#export COMPANY
[11:34:55 root@centos7-7 ~]#export -p
declare -x COMPANY

设置环境变量

[11:37:15 root@centos7-7 ~]#export -p
declare -x COMPANY="MI"
[11:37:46 root@centos7-7 ~]#export -n COMPANY=MI
[11:38:23 root@centos7-7 ~]#export -p
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="centos7-7"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
posted @ 2020-11-23 13:48  gody2019  阅读(72)  评论(0)    收藏  举报