第一周作业
1. 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?
2. 安装centos ubuntu系统.
3. 通过计算机基础和帮助的学习,完成学习ifconfig命令的使用。
4. 总结linux FHS结构。
5. 简要描述后期学习的计划。
2.1 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

1、GPL许可证
GPL:GNU General Public License,GNU 通用公共许可证。
特点:如果一个软件产品使用(包括类库引用、修改后的代码、或衍生代码)了GPL协议的产品,则该软件产品也必须遵循GPL许可证,即需要开源和免费,不允许修改后和衍生的代码作为闭源的商业软件进行发布和销售。
2、LGPL许可证
LGPL:GNU Lesser General Public License,GNU宽通用公共许可证。
LGPL 允许商业软件通过类库引用 (link) 方式使用 LGPL 类库而不需要开源商业软件的代码,这使得采用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售,但是前提是不能修改 LGPL 许可的软件部分。如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。
3、Mozilla许可证
Mozilla:Mozilla Public License,MPL协议允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者 。这种授权维护了商业软件的利益,它要求基于这种软件的修改无偿贡献版权给该软件。
4、BSD许可证
BSD 许可协议( Berkeley Software Distribution license )是自由软件中使用广泛的许可协议之一,BSD许可证非常宽松,它允许无限制地重用全部或部分软件,以集成到自由软件或所有者中。当发布使用了BSD协议的代码,或以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:(1)如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议;(2)如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议;(3)不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
5、MIT许可证
MIT许可证之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称 “X11条款”。作者只想保留版权,而无任何其他限制。MIT与BSD类似,但是比BSD协议更加宽松,是目前最少限制的协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。
6、Apache许可证
Apache 许可证(Apache License),是一个由 Apache 软件基金会发布的自由软件许可证。这是一个由强大社区支持的流行且广泛部署的许可证,Apache许可证允许自由使用、修改和分发任何Apache许可产品。Apache许可证和BSD许可证类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。

#ifconfig命令功能说明 ifconfig命令用于配置或显示linux网络接口信息,如果linux系统中没有ifconfig命令,可以通过如下命令安装: rocky/centos: yum install -y net-tools ubuntu: apt install -y net-tools [root@centos7 ~]# type ifconfig ifconfig is /usr/sbin/ifconfig #ifconfig是外部程序 [root@centos7 ~]# ifconfig --help #查看ifconfig命令的使用说明 Usage: ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>] [add <address>[/<prefixlen>]] [del <address>[/<prefixlen>]] [[-]broadcast [<address>]] [[-]pointopoint [<address>]] [netmask <address>] [dstaddr <address>] [tunnel <address>] [outfill <NN>] [keepalive <NN>] [hw <HW> <address>] [mtu <NN>] [[-]trailers] [[-]arp] [[-]allmulti] [multicast] [[-]promisc] [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>] [txqueuelen <NN>] [[-]dynamic] [up|down] ...
#ifconfig命令常用参数选项
-a: 显示所有的网络接口信息,包括活动的和非活动的
up: 激活指定的网络接口
down: 关闭指定的网络接口
hw: 设置网络接口的MAC地址
ifconfig命令使用举例:
root@ubuntu2204:~# ifconfig -a ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.12 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::20c:29ff:fe75:bab4 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:75:ba:b4 txqueuelen 1000 (Ethernet) RX packets 725 bytes 499242 (499.2 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 568 bytes 183134 (183.1 KB) 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 118 bytes 10036 (10.0 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 118 bytes 10036 (10.0 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens33: 网络接口名称 lo: 回环接口 root@ubuntu2204:~# ifconfig ens33 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.12 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::20c:29ff:fe75:bab4 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:75:ba:b4 txqueuelen 1000 (Ethernet) RX packets 803 bytes 507327 (507.3 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 622 bytes 191038 (191.0 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 命令返回信息解析: 第1行:UP表示网卡的开启状态,RUNNING表示网卡处于连接状态,MULTICAST表示支持组播,mtu 1500表示最大传输单元为1500字节。 第2行:inet表示网卡的IP地址,netmask表示子网掩码,broadcast表示广播地址。 第3行:inet6表示网卡ipv6协议的链路本地地址,prefixlen表示子网掩码长度为64。 第4行:ether表示网卡的物理地址即MAC地址。 第5行:RX packets表示网卡的收包统计信息。 第6行:RX errors/dropped表示网卡的RX方向错包/丢包统计信息。 第7行:TX packets表示网卡的发包统计信息。 第8行:TX errors/dropped表示网卡的TX方向错包/丢包统计信息。
对网卡进行up/down操作:
[root@centos7 network-scripts]# ifconfig -a ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.11 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::c94d:df7b:3ac8:5849 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:81:1d:02 txqueuelen 1000 (Ethernet) RX packets 265 bytes 30129 (29.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 181 bytes 38025 (37.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens35: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 00:50:56:2a:72:b1 txqueuelen 1000 (Ethernet) RX packets 3 bytes 746 (746.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 15 bytes 1706 (1.6 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 36 bytes 3060 (2.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 36 bytes 3060 (2.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@centos7 ~]# ifconfig ens35 up [root@centos7 ~]# ifconfig -a ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.11 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::c94d:df7b:3ac8:5849 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:81:1d:02 txqueuelen 1000 (Ethernet) RX packets 338 bytes 37823 (36.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 223 bytes 45335 (44.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens35: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.200.201 netmask 255.255.255.0 broadcast 192.168.200.255 inet6 fe80::e658:a630:c9b3:e169 prefixlen 64 scopeid 0x20<link> ether 00:50:56:2a:72:b1 txqueuelen 1000 (Ethernet) RX packets 4 bytes 1088 (1.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 24 bytes 2736 (2.6 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 [root@centos7 ~]# ifconfig ens35 down [root@centos7 ~]# ifconfig -a ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.11 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::c94d:df7b:3ac8:5849 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:81:1d:02 txqueuelen 1000 (Ethernet) RX packets 410 bytes 45383 (44.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 265 bytes 54239 (52.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens35: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 00:50:56:2a:72:b1 txqueuelen 1000 (Ethernet) RX packets 4 bytes 1088 (1.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 26 bytes 2860 (2.7 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 60 bytes 5100 (4.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 60 bytes 5100 (4.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
给网卡配置IP地址(临时生效,重启丢失配置):
[root@centos7 ~]# ifconfig ens35 192.168.200.11 [root@centos7 ~]# ifconfig -a ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.11 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::c94d:df7b:3ac8:5849 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:81:1d:02 txqueuelen 1000 (Ethernet) RX packets 458 bytes 50423 (49.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 293 bytes 59629 (58.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens35: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.200.11 netmask 255.255.255.0 broadcast 192.168.200.255 ether 00:50:56:2a:72:b1 txqueuelen 1000 (Ethernet) RX packets 4 bytes 1088 (1.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 26 bytes 2860 (2.7 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 72 bytes 6120 (5.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 72 bytes 6120 (5.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@centos7 ~]# ifconfig ens35:0 192.168.200.111 #给网卡配置多个IP地址 [root@centos7 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.11 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::c94d:df7b:3ac8:5849 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:81:1d:02 txqueuelen 1000 (Ethernet) RX packets 623 bytes 68140 (66.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 389 bytes 80325 (78.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens35: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.200.11 netmask 255.255.255.0 broadcast 192.168.200.255 ether 00:50:56:2a:72:b1 txqueuelen 1000 (Ethernet) RX packets 5 bytes 1331 (1.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 26 bytes 2860 (2.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens35:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.200.111 netmask 255.255.255.0 broadcast 192.168.200.255 ether 00:50:56:2a:72:b1 txqueuelen 1000 (Ethernet) 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 72 bytes 6120 (5.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 72 bytes 6120 (5.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
网卡配置文件:
[root@centos7 network-scripts]# cat ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=48770d6b-d56f-4438-9c04-fc17f9fe9872 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.100.11 PREFIX=24 GATEWAY=192.168.100.2 DNS1=114.114.114.114 IPV6_PRIVACY=no [root@centos7 network-scripts]# cat ifcfg-ens35 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens35 UUID=890c81cc-e4a6-355e-95cf-0012d75a99b8 DEVICE=ens35 ONBOOT=yes IPADDR=192.168.200.11 PREFIX=24 IPV6_PRIVACY=no
2.4 总结linux FHS结构
FHS:Filesystem Hierarchy Standard(文件系统层次化标准),定义了在Linux系统中的目录结构和目录内容,大多数Linux版本均采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。
FHS的重点在于规范每个特定的目录下应该要放置什么样的数据,针对目录树架构仅定义3层目录:
(1)/目录:--root
(2)/usr目录:--Uninx Software Resource
(3)/var目录:--Variable
2.5 简要描述后期学习的计划
学习计划:
1、快速看完一遍视频课程;
2、重点操作练习每节课程中的知识点;
3、归纳总结重点知识点涉及的面试考点;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通