linux / 运维技术 · 2023年8月25日 0

知识点1


1. 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?

GPL:是“通用性公开许可证”(General Public License,简称GPL)的简称。GPL同其它的自由软件许可证一样,许可社会公众享有运行、复制软件的自由;发行传播软件的自由;获得软件源码的自由,以及改进软件并将自己作出的改进版本向社会发行传播的自由。

LGPL:LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL 允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。

BSD:是“宽容自由软件许可证”中的一员,在软件复用上给予了最小限度的限制。BSD协议允许作者使用该协议下的资源,将其并入私人版本的软件,该软件可使用闭源软件协议发布。

MIT:MIT许可证(The MIT License)是许多软件授权条款中,被广泛使用的其中一种。与其他常见的软件授权条款(如GPL、LGPL、BSD)相比,MIT是相对宽松的软件授权条款。

Mozilla:MPL(Mozilla Public License 1.1)MPL协议允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者 。这种授权维护了商业软件的利益,他要求基于这种软件的修改无偿贡献版权给该软件。这样,围绕该软件的所有代码的版权都集中在发起开发人的手中。但MPL是允许修改,无偿使用得。MPL软件对链接没有要求。

Apache:Apache License(Apache许可证),是Apache软件基金会发布的一个自由软件许可证。Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和最终原作者的著作权,同样允许源代码修改和再发布。但是也需要遵循以下条件:

  1. 需要给代码的用户一份Apache Licence。
  2. 如果修改了代码,需要在被修改的文件中说明。
  3. 在衍生的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
  4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但是不可以表现为对Apache Licence构成更改。

2. 安装各发行版系统的安装(centos, rockylinux, ubuntu, 等) 【任选1个】

3. Linux中总结

1)如何通过一个简短的关键字 【man -k XXX】,例如查看process 获取相关的命令。

如果不记得命令名怎么办?可以使用关键字搜索手册页。语法是:man -k 关键字。

例如,要查找与终端相关的命令

man -k terminal

例如,要查找与进程相关的命令

man -k process

2)通过命令的描述,选择一个命令,获取命令的man文档。【man top】

以 awk 为例获取命令的man文档信息

man -f awk

3)解读man文档,man分几个部分?man每个部分的解释,特别是语法部分。<>,[],…等各代表什么含义。

man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。

语法

man ( 选项 )( 参数 )

选项

  • -a:列出所有帮助
  • -k:搜索man手册
  • -f:相当于whatis
  • -w:打印man帮助文件的路径

参数

  • 数字:指定从哪本man手册中搜索帮助。
  • 关键字:指定要搜索帮助的关键字。

符号含义

  • [ ]:可选内容
  • <>:必选内容
  • a | b:二选一
  • { }:分组
  • …:同一内容可出现多次

4)根据语法部分简要的写几个操作。

查看 ls 命令的使用手册

man ls -a

4. 切换到/etc/目录,列出fstab文件的详细信息,详细解决fstab一行,每个或每几个字符的详细含义。

cd /etc

ls -l /etc/fstab

5. 简要说明FHS结构。

在Linux系统中,所有的目录和文件都是由 / (根目录)开始的,然后再一个一个分下来,通常我们将这种配置方式称为目录树,图中画出了Linux系统目录大致情况。

Linux系统目录结构

  • /bin:所有用户可用的基本命令程序文件。
  • /lib:为系统启动或根文件系统上的应用程序(/bin、/sbin等)提供共享库,以及为内核提供内核模块。
  • /boot:引导加载器必须用到的各种静态文件,如kernel、grub等。
  • /dev:设备文件与特殊文件。
  • /etc:系统程序的静态配置文件。
  • /home:普通的家目录的集中位置,一般每个普通用户的家目录默认为此目录下与用户名同名的子目录。
  • /root:管理员的家目录。
  • /mnt:挂载点目录,通常挂载额外的临时文件系统。
  • /sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口。
  • /run:存放动态的,不持久的应用程序运行数据。
  • /sbin:供管理员的使用的工具程序。
  • /tmp:临时文件。
  • /user:全局共享的只读数据路径。

6. 用自己的理解总结 文件管理,用户管理,组用户,权限管理相关的命令。