1. GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?
GPL:(GPL是GNU public license的简写)修改源码后不可闭源,且新增代码也必须使用GPL(对软件的修改和扩展,必须按照获得该软件的许可证进行开源,且不得违背原作品的限制条款。),非常严格的开源许可。(详细信息可参考说明文档:www.gnu.org/licenses/gp… )
LGPL:(GNU Lesser General Public License,宽通用公共许可证)初衷在于扩大开源组织库函数的影响力,不可闭源且发布修改过的开源库函数,应当在源代码中明确标注修改的内容和日期(不需要单独文档)。(详细信息可参考说明文档:www.gnu.org/licenses/lg… )
Mozilla:(Mozilla Public License,简称MPL) Mozilla许可证是个自由、开源、详细的软件许可证,由Mozilla基金会开发并维护。该协议融合了BSD许可证和GNU通用公共许可协议的特性,追求平衡专有软件和开源软件开发者之间的顾虑。不可闭源,以源代码方式发布的文件分发过程中,对源代码进行修订了的,需要有文档明确记载修改的内容和时间,并标明原作者信息。MPL许可证中对“发布”的定义是“以源代码方式发布的文件”,这就意味着MPL允许一个企业在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。(详细信息可参考说明文档:mozilla.org/MPL/2.0/ )
**Apache:**Apache软件基金会发布的自由软件许可证,没有开源要求,只要求保留原始版权和许可声明且修改源代码需要记录变更。使用者可以自由修改,进行商业使用。(详细信息可参考说明文档:www.apache.org/licenses/LI… )
BSD:(Berkeley Software Distribution)修改源码后可闭源,源代码和目标代码必须都放置版权声明、免责条款,没有得到书面授权前衍生软件不可将源代码中作者贡献者以及机构的姓名等信息用于推广。(详细信息可参考说明文档:opensource.org/licenses/BS… )
MIT:(Massachusetts Institute of Technology)只为作者保留版权,而无任何其他限制。修改源码后可闭源,使用过程中保留源代码的授权说明、版权声明、免责条款即可。(详细信息可参考说明文档:www.opensource.org/licenses/mi… )
MIT>BSD>Apache2.0>MPL2.0>LGPLv3>GPLv3以从左到右顺序向下兼容。
2. ubuntu的安装
选择语言
选择不升级(升级速度过慢)
选择阿里云镜像网站
一路默认然后设置用户名密码后安装SSH服务。
继续默认,然后等待安装成功
3. 在Linux中总结。
1)如何通过一个简短的关键字 【man -k man -k process 】,例如process 获取相关的命令。
//没看懂题目
man ps //获取ps命令的man文档
ps aux //打印出所有进程,类似win的任务管理器
2)通过命令的描述,选择一个命令,获取命令的man文档。【 man top】
man man //获取man命令的man文档
3)解读man文档,man分几个部分?man每个部分的解释,特别是语法部分。<>, [] ...等各代表什么含义。
NAME:一句话介绍命令。
SYNOPSIS:格式梗概。
DESCRIPTION:详细介绍。
EXAMPLE:举例
<>:必选内容 []:可选内容 [^]:都除外 {}:排列组合
4)根据语法部分 简要的写几个操作。
man man.7
man -a man
man --help
4. 切换到/etc/目录,列出fstab文件的详细信息,详细解决fstab一行,每个或每几个字符的详细含义。 【cd /etc; ls -l /etc/fstab】
文件类型,读写权限,链接数,所属用户和组,大小,创建日期,文件名
5. 简要说明FHS结构。
bin:binary所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
boot:启动目录,内核文件引导文件都在里面
dev:device设备文件夹
etc:etera configuration配置文件目录
home:家目录
root:root目录
run:本次系统启动以来启动的进程的运行时数据,断电后不能保存。
sbin:system binary只有超管能用的命令
tmp:temp临时文件
usr:universal shared read-only data全局共享只读数据目录。可独立分区编辑安装的第三方软件、共享的库,包括文件和静态只读程序数据。
var:variable动态变化的文件,日志文件、相关服务的日志文件、数据库、缓存目录等
6. 用自己的理解总结 文件管理,用户管理,组用户,权限管理相关的命令。
1)文件: 【touch/rm/rmdir/cat/head/less/more】。
touch:创建空白文件 如touch 123.txt
rm:删除高危命令建议alias
rmdir:删除目录基本用rm
cat:concatenate连接文件并打印 例:cat <123.txt
head:查看前n行 head -n 5 123.txt
less:用于显示文件内容超过一屏的内容,不必读整个文件,加载速度会比more更快
more:用于显示文件内容超过一屏的内容
2)用户及组:user/group 【useradd/userdel/usermode; groupadd/groupdel/groupmod; chsh/...】。
useradd:增加用户 -u指定uid -p指定密码 -G指定附加组(不覆盖原来的附加组需要-a)
userdel:删除用户,如果主组没有其他用户会一起删除,-r删除用户目录和邮箱
usermode: 修改用户属性-u指定uid -p指定密码 -G指定附加组
groupadd:加入组
groupdel:删除组
groupmod:修改组
3)权限 【chmod/chown/setfacl】
chmod:修改权限
chown:修改所有者
setfacl:(set file access control lists)设置文件访问控制列表。