首页 > 系统相关 >linux 计算机基础

linux 计算机基础

时间:2023-06-03 18:22:54浏览次数:47  
标签:GPL 文件 计算机 代码 基础 修改 linux BSD 源代码

1.   GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

 

 GPL

  GPL许可证的核心:允许任何人观看、修改,并散播程序软件里的原始程序码,条件是如果你要发布修改后的版本就要连源代码一起公布,不允许修改后和衍生的代码做为闭源的商业软件发布和销售。Linux就是采用了GPL协议。

  GPL协议的特点:只要在一个软件中使用GPL 协议的产品,则该软件产品必须也采用GPL协议,即必须也是开源和免费。

       GPL协议的优势: 作为一个单独的产品使用没有任何问题,还可以免费享受。

  GPL协议的劣势:由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

 BSD

 BSD开源协议特点:可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布,鼓励代码共享的同时,需要尊重代码作者的著作权。

    尊重著作权体现在以下三个方面:

(1)、如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。

(2)、如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。

(3)、不可以用开源代码的作者、机构名字和原来产品的名字做市场推广。

  BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,是对商业集成很友好的协议,因为可以完全控制这些第三方的代码。

 MIT

 MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制,较BSD协议宽松。

    一般使用 MIT 授权的项目,需在源文件头部增加源文件创建的年份,版权所有者等内容。

 Mozilla

Mozilla公共许可证(英语:Mozilla Public License,简称MPL) 允许免费重发布、免费修改,但修改后的代码版权归软件的发起者,

 得有一个专门的文件就对源代码程序修改的时间和修改的方式有描述。

 允许在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL 许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。

 Apache

 Apache Licence是Apache采用的协议。

    Apache许可证要求被授权者保留版权和放弃权利的申明,该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。

 需要满足的条件如下:

(1)、需要给代码的用户一份Apache Licence;

(2)、如果你修改了代码,需要再被修改的文件中说明。

(3)、在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。

  如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。

该许可证也要求在所有的源文件中的头部放置该源文件创建的年份,版权所有者等内容。

 LGPL

   LGPL 允许以动态链接使用开源库。采用LGPL的代码,一般情况下它本身就是一个第三方库(LGPL最早的名字就是Library GPL),这时候仅仅用到了它的功能,而没有对库本身进行任何修改,不必公布自己的商业源代码。

    但如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须开源,并且采用LGPL协议。

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

 

3. Linux中总结

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

使用关键字搜索所有与“process”相关的手册页,以下为执行结果。man提供了对 linux操作系统中的命令 函数,库等的详细说明。

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

 

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

NAME 命令名称,

 

SYNOPSIS 语法,用的方法

DESCRIPTION 描述 

 

OPTIONS 选项

 

SEE ALSO 相关的命令

[ ] 为可选内容

<>为必选内容

 a|b 为a或b

 {}为分组

... 为同一内容可以多次出现

 

 

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

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

1:文件类型 2:所有者权限 读写 3:所属组权限 读 4:其他人权限 读 5:链接数1 6:所有者 root账号 7:所属组 root组 8:文件大小 655 Byte 9:文件修改日期 10:文件名

 1:设备的UUID或者设备名称:swap分区要用设备名称,其他要用UUID 2:设备挂载点目录 3:设备分区文件类型 4:defaults 默认值不变 5:备份频率(0表示不备份)

 6:开机检测次序(0为不检测)

5. 简要说明FHS结构

/:根目录:是linux文件系统的起点,根目录所在的分区为根分区。

/boot目录:用与存放linux系统启动所必需的文件,通常为独立的分区。

/var目录:用于存放系统中经常需要变化的文件,如系统日志等。

/home:普通用户的宿主目录

/root:是linux系统管理员(超级用户)root的宿主目录.

/bin:存放基本的普通用户可以执行的命令,binary ,为二进制可执行文件。

/sbin: 系统基本的管理命令,只有管理员可以执行。

/usr:用于存放大量的系统应用程序,/usr目录下的子目录,用于存放不同类型的应用程序。

/etc:存放系统和各种应用程序的配置文件

/dev:device,linux系统的设备文件,系统所使用的外部设备,是访问外部设备的端口。

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

文件: 【touch/rm/rmdir/cat/head/less/more】

touch 创建文件:touch 

rm:删除文件或文件夹  -r:文件夹 -f:直接删除

rmdir:删除文件夹

cat:显示标准输入或文件的内容

head:取文件的头几行内容 -n:3(前三行)-3 (后三行)

less:分页显示文件内容,到文件最后不退出

more:分页显示文件内容,到最后自动退出

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

useradd/del/mod:创建删除修改用户

grpadd/del/mod:创建删除修改用户组

权限 【chmod/chown/setfacl/chattr】

chmod:修改文件的权限:chmod +(u+x) + 文件名 或 chmod +760 +文件名

chown:修改所有者 chown +han(新所有者) +文件名

setfacl:设acl权限,单独针对某一类用户或组的权限

  setfacl -m u:han:0 a.txt (在a.txt上给用户han设定权限为0,无权限)

  getfacl + 文件名:查看acl权限

 setfacl -b 文件名:取消文件的acl权限

chattr:设定特殊属性

chattr +i(-i) 文件名:  root账户也不可以改名修改或删除文件,但可以查看,防止root失误操作。

chattr +a(-a) 文件名: root账户也不可以改名 或 减少文件内容,删除文件,但可以查看和“追加”,防止root失误操作。

lsattr:查看特殊属性。 

标签:GPL,文件,计算机,代码,基础,修改,linux,BSD,源代码
From: https://www.cnblogs.com/song82/p/17448856.html

相关文章

  • Java基础知识:面试官必问的问题
    数据类型基本类型byte/8char/16short/16int/32float/32long/64double/64boolean/~boolean只有两个值:true、false,可以使用1bit来存储,但是具体大小没有明确规定。JVM会在编译时期将boolean类型的数据转换为int,使用1来表示true,0表示false。JVM支持boolean......
  • 【Linux中断】Linux系统中断机制简述
    Linux中断Linux中断处理过程1.使能中断,初始化相应的寄存器2.注册中断服务函数,也就是向irqTable数组的指定标号处写入中断服务函数3.中断发生以后进入IRQ中断服务函数,IRQ的中断服务函数在irqTable里面查找具体的中断处理函数,找到以后执行相应的中断处理函数Linux中断处理API函......
  • 《面试1v1》Spring基础
    我是javapub,一名Markdown程序员从......
  • 推荐计算机领域的几本入门书籍
    人工智能入门:人工智能:现代方法(第4版)揭示AI与chatgpt的奥秘,详解人工智能的发展与未来!推荐理由:系统性总结人工智能的方方面面,国际人工智能领域专家斯图尔特·罗素撰写人工智能百科书,时隔十年重磅更新,被全球全球1500多所学校采用的经典教材。这是人工智能领域世界范围内最经典、最全面......
  • 深剖 Linux 信号量
    目录传统艺能......
  • 机器学习入门基础:机器学习实践
    目录7.1数据集划分7.1.1训练集、验证集和测试集划分7.1.2交叉验证7.1.3不平衡数据处理7.2评价指标7.2.1回归的评价指标7.2.2分类的评价指标7.2.3评价指标案例7.3正则化、偏差和方差7.3.1欠拟合和过拟合7.3.2正则化7.3.3偏差和方差参考文献7.1数据集划分7.1.1训练集......
  • linux 正则表达式
    目录一、正则表达式二、元字符三、次数符号四、位置锚定五、实验              一、正则表达式通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符。分类:1. 基本正则表达式2.扩展正则表达式二......
  • linux sort、uniq、tr、grep、eval、cut、sqlit、paste
    目录一、grep查找文件内容二、sort排序三、uniq统计压缩重复四、tr替换压缩 五、cut截断六.sqlit拆分七.paste合并八.eval        一、grep(匹配文件内容)    grep[选项]…查找条件目标文件-m 匹配次数-v  除什么以外......
  • 6.3测试题以及参考答案(C++基础)
    测试题总分120,时间180分钟一、单选题(每题2分,共40分)C++中表示大于等于用以下哪个关系运算符(B)A.>B.>=C.≥D.>&=C++中,不等于用以下哪个关系运算符(C)A.<>B.≠C.!=D.==表达式7%2的值是多少(B)A.0B.1C.2D.-1要计算变量B的......
  • Splunk Enterprise 9.0.5 (macOS, Linux, Windows) 发布 - 机器数据管理和分析
    SplunkEnterprise9.0.5(macOS,Linux,Windows)-机器数据管理和分析请访问原文链接:https://sysin.org/blog/splunk-9/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org混合世界的数据平台快速、大规模地从可见性转向行动,以实现安全性、可观察性等目标。2TB从......