第1周作业

1. 开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?

什么是开源许可?
开源许可证是一种法律许可。通过它,版权拥有人明确允许,用户可以免费地使用、修改、共享版权软件。
版权法默认禁止共享,也就是说,没有许可证的软件,就等同于保留版权,虽然开源了,用户只能看看源码,不能用,一用就会侵犯版权。所以软件开源的,必须明确地授予用户开源许可证。

GPL

GPL,即GNU通用公共许可协议,是 GNU General Public License 的简写。它是由自由软件基金会(FSF)公布的自由软件许可证。

1. GPLv1:1989年2月25日发布。 	
2. GPLv2:1991年6月发布。 	
3. GPLv3:2007年6月29日发布。

特点:具有传染性

权力:

  1. 获取源码的权力;
  2. 修改源码的权利;
  3. 自由处理衍生作品的权利。

义务:

  1. 使用了遵循GPL协议发布的软件,自身也必须遵守GPL协议。这也是GPL被人称为有传染性的原因。
  2. 必须开放源代码;允许使用者自由获取(复制)、修改、发布的产品,即拥有获取源码、修改源码、分发软件的自由。

开源层度排序:

GPL>LGPL>MIT>BSD>Apache>wtfpl

GPL-强制开源-例如linux
LGPL-让公司能够拿GPL卖钱,保留一些源码不开发,例如QT
MIT-受公司欢迎的宽松协议-例如vue,可以选择不开源,只需要注明自己也是MIT协议的就可以了
BSD-别借我的名气做宣传“不能以某某升级版,某某加强版的名义来宣传我的软件”,和MIT区别不大;
Apache-可以开源或者闭源,增加了加强法制宣传,避免法律纠纷-比如PaddlePaddle

特点对比

下图摘自阮一峰制作的一份中文版分析图,更易于理解各协议间的特点https://tangjie.me/blog/226.html
在这里插入图片描述

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

在这里插入图片描述

3. Linux中总结

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

答:man -k man -k process :man -k 命令用于在 Linux 系统上搜索与关键字相关的手册页(man pages)。此命令中,使用了两次 -k 参数,然后跟着两个关键字:man 和 process。man -k 和 man -k process 是相同的命令,只是后者具体指定了要搜索的关键字为 “process”。

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

查看帮助的时候分章节,通过”whereis top“查看date这个命令的帮助,可以看到top命令的路径位置,以及该命令的帮助文档,文档被压缩了。man名令不仅存放命令的帮助,还存放了系统调用的帮助以及存放了配置文件格式的帮助。
在这里插入图片描述

3)解读man文档,man分几个部分?man每个部分的解释,特别是语法部分。<>, [] …等各代表什么含义。
查看帮助的时候分章节举例查询:

man 5 passwd   #通过此命令看一可以查看第5章的man帮助,注意,此处查询的是“passwd”这个文档格式描述
序号章节中文意思
第1章Executable programs or shell commands存放命令的帮助
第2章System calls (functions provided by the kernel)存放系统调用,一般是内核的函数调用;
第3章Library calls (functions within program libraries)程序库的函数帮助
第4章Special files (usually found in /dev)特殊文件的帮助,比如dev下的文件是干嘛的,有什么作用;
第5章File formats and conventions, e.g. /etc/passwd文件格式的信息说明,比如/etc/passwd文件格式说明;
第6章Games游戏
第7章Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)杂项
第8章System administration commands (usually only for root)系统管理员有权限使用的命令帮助;
第9章Kernel routines [Non standard]内核的运行时,非标准
Column 1Column 2

例如命令:passwd的帮助查看方法:
在这里插入图片描述
man帮助的组成部分
在这里插入图片描述

标题含义
NAME命令名称及功能描述
SYNOPSIS命令语法,包括可用的选项
DESCRIPTION命令功能的详细说明
OPTIONS每个选项的详细说明
EXAMPLES用法示例
ENVIRONMENT命令使用的环境变量
FILES命令相关的配置文件
AUTHOR程序的作者
BUGS错误、缺点、警告
COPYRIGHT版权信息
SEE ALSO参照、相关信息

命令格式中加粗样式的常见符号含义

常见符号作用
[ ]可选内容,可以加或者不加
< >必填内容
)多选一
{ }分组
同一个内容可出现多次

查看man文档时与vim命令的查看模式基本相同

查看方式操作命令
搜索/
搜索上一条N
搜索下一条n
退出q

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

[root@rocky8]/root#man echo

NAME
       echo - display a line of text   #
SYNOPSIS
       echo [SHORT-OPTION]... [STRING]...    #命令+短选项+字符串
       echo LONG-OPTION   #只能加长选项,没有参数
DESCRIPTION
       Echo the STRING(s) to standard output.
       -n     do not output the trailing newline
       -e     enable interpretation of backslash escapes
       -E     disable interpretation of backslash escapes (default)
       --help display this help and exit    #长选项-查看帮助
       --version   #长选项-查看版本
```bash
[root@rocky8]/root#echo hello word     #不加选项的时候
hello word
[root@rocky8]/root#echo -n Hello Word   #加了-n 选项后打印出来的字符串没有自动换行
Hello Word[root@rocky8]/root#
[root@rocky8]/root#echo -e "\033[0;36m 黄底蓝字 \033[0m"
 黄底蓝字 


> *这里有个特殊的情况,对于--help 和--version的长选项要使用以下方法;*

[root@rocky8]/root#which echo
/usr/bin/echo
[root@rocky8]/root#/bin/echo --version
echo (GNU coreutils) 8.30

一般命令使用长选项方法如下:
[root@rocky8]/root#grep --version   #查看grep的版本
grep (GNU grep) 3.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

[root@rocky8]/root#vim --help   #查看vim的帮助
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Aug  2 2022 07:47:17)

usage: vim [arguments] [file ..]       edit specified file(s)
   or: vim [arguments] -               read text from stdin
   or: vim [arguments] -t tag          edit file where tag is defined
   or: vim [arguments] -q [errorfile]  edit file with first error




在这里插入图片描述

  1. 切换到/etc/目录,列出fstab文件的详细信息,详细解决fstab一行,每个或每几个字符的详细含义。 【cd /etc; ls -l /etc/fstab】
man 5 fstab    #查看fstab 这个文档的帮助信息
#/etc/fstab中的内容
/dev/disk/by-uuid/1c3f8cc1-daa6-4416-960d-68ae696404d4 /boot ext4 defaults 0 1
#第一个字段(/dev/disk/by-uuid/1c3f8cc1-daa6-4416-960d-68ae696404d4):该字段描述要挂载的块特殊设备或远程文件系统。可以使用 LABEL=<label> 或 UUID=<uuid> 代替设备名称。建议使用UUID挂载,因为设备名称通常是硬件检测顺序的偶然巧合,并且在添加或移除其他磁盘时可能会发生变化。
#第二个字段(/boot):该字段描述文件系统的挂载点(目标)。
#第三个字段(ext4):该字段描述文件系统的类型。Linux 支持许多文件系统类型:ext4、xfs、btrfs、f2fs、vfat、ntfs、hfsplus、tmpfs、sysfs、proc、iso9660、udf、squashfs、nfs、cifs 等等。
#第四个字段(defaults):该字段描述与文件系统关联的挂载选项。一般默认即可
		defaults - 使用默认选项:rw、suid、dev、exec、auto、nouser 和 async。
		noauto - 在执行 "mount -a"(例如,在启动时)时不进行挂载。
		user - 允许用户挂载。
		owner - 允许设备所有者挂载。
		comment 或 x-<name> - 供 fstab 维护程序使用的注释。
		nofail - 如果设备不存在,则不报告错误。

#第五个字段(0):如果不存在,默认为零(不转储)。

#第六个字段(1):该字段由 fsck(8) 用于确定在启动时执行文件系统检查的顺序。根文件系统的 fs_passno 应为 1。其他文件系统的 fs_passno 应为 2。同一驱动器上的文件系统将按顺序检查,但不同驱动器上的文件系统将同时检查,以利用硬件中的并行性能。如果不存在,默认为零(不执行 fsck)。
  1. 简要说明FHS结构。
    FHS(Filesystem Hierarchy Standard)是用于 Linux 系统中文件系统组织和布局的标准。它定义了在 Linux 系统中不同目录应该存放的文件和目录的用途。
以下是 FHS 的简要说明
/根目录,包含整个文件系统的基础目录。
/bin存放系统启动和基本操作所需的可执行文件。
/boot存放启系统所需的文件,如内核、启动加载器(bootloader)和引导配置文件。
/dev存放设备文件,用于表示与系统交互的硬件设备。
/etc存放系统的配置文件,包括网络、用户、服务等的配置文件。
/home家目录,一般每个用户在该目录下有一个以用户名命名的子目录。
/lib存放系统启动所需的共享库文件。
/media用于挂载可移动媒体设备的挂载点,如光驱、USB 设备等。
/mnt临时挂载点,用于临时挂载其他文件系统。
/opt存放可选的第三方软件包,如商业软件和其他可选软件。
/proc虚拟文件系统,包含有关系统和进程的信息。
/root超级用户(root)的个人目录。
/run存放在系统引导过程中运行时创建的临时文件和运行时数据。
/sbin存放系统管理员(root)使用的系统管理命令。
/srv存放特定服务的数据目录。
/sys虚拟文件系统,提供与内核和硬件相关的信息。
/tmp存放临时文件的目录,一般用于存放临时数据和临时文件。
/usr存放用户应用程序和文件的目录。
/var存放可变数据文件,如日志文件、缓存和数据库文件等。
  1. 用自己的理解总结 文件管理,用户管理,组用户,权限管理相关的命令。
    文件: 【touch/rm/rmdir/cat/head/less/more】。
touch:创建文件、修改文件元数据信息的功能。 
rmdir:删除文件夹,因为rm也可以实现删除文件夹的功能,所以此命令用的少
cat:直接将文件内容打印到屏幕上来或直接显示文件的工能,支持输出重定向; 
head:文档查看工具,常用head -n    默认显示前10行;
less:文档查看工具,支持搜索功能,支持反复查看; more:文档查看工具,显示完就自动退出;

用户及组:user/group 【useradd/userdel/usermode; groupadd/groupdel/groupmod; chsh/…】。

useradd:添加用户
userdel:删除用户
usermode:修改用户
groupadd:添加组
groupdel:删除组
groupmod:修改组
chsh:修改sh外壳,一般很少用

权限 【chmod/chown/setfacl】"

chmod:修改文件权限
chown:修改文件所有则
setfacl:设置ACL权限
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值