GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
BSD
是“宽容自由软件许可证”中的一员,在软件复用上给予了最小限度的限制。BSD协议允许作者使用该协议下的资源,将其并入私人版本的软件,该软件可使用闭源软件协议发布。
MIT
MIT许可证(The MIT License)是许多软件授权条款中,被广泛使用的其中一种。与其他常见的软件授权条款(如GPL、LGPL、BSD)相比,MIT是相对宽松的软件授权条款。
GPL
是“通用性公开许可证”(General Public License,简称GPL)的简称。GPL同其它的自由软件许可证一样,许可社会公众享有运行、复制软件的自由;发行传播软件的自由;获得软件源码的自由,以及改进软件并将自己作出的改进版本向社会发行传播的自由
Mozilla
MPL(Mozilla Public License 1.1)MPL协议允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者 。这种授权维护了商业软件的利益,他要求基于这种软件的修改无偿贡献版权给该软件。这样,围绕该软件的所有代码的版权都集中在发起开发人的手中。但MPL是允许修改,无偿使用得。MPL软件对链接没有要求。
Apache:
Apache License(Apache许可证),是Apache软件基金会发布的一个自由软件许可证。Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和最终原作者的著作权,同样允许源代码修改和再发布。但是也需要遵循以下条件:
需要给代码的用户一份Apache Licence。
如果修改了代码,需要在被修改的文件中说明。
在衍生的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但是不可以表现为对Apache Licence构成更改。
Apache Licence是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足并作为开源或商业产品发布/销售。
LGPL:
LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。
但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
Linux安装步骤(centos7.9为例)
虚拟机或物理机加载iso后重启,以光盘模式启动,进入安装界面,选择English语言进入
地区选择Asia、Shanghai,点Done
软件包安装方式选择minimal install(最小化安装)
选择安装硬盘位置,然后Begin installation
安装过程中我们可以设置root账号的密码,以及新建普通用户
安装完成,reboot,然后把iso退出
登录系统,查看系统信息,安装成功
配置网络
虚拟机情况下,网络配置为nat主机模式,进入/etc/sysconfig/network-scripts,进入网卡配置文件如ifcfg-ens33,修改参数ONBOOT=yes
systemctl restart network,ip a查看是否成功获取dhcp的ip,然后ping百度看看是否能ping通
如何获得帮助
Linux中,大部分命令都可以用以下方式获得帮助
man (num) CMD #其中num为CMD的章节,具体可以通过whatis CMD查看想要查看的章节号
CMD -h
CMD --help
- whereis 列出命令路径与对应man的路径
- whatis 列出命令路径与对应man的章节号
- man 提供命令帮助的文件,手册页存放在/usr/share/man,几乎所有命令都有man的页面
[root@Rocky01 ~]#man -k process
awk (1) - pattern scanning and processing language
bootup (7) - System bootup process
chrt (1) - manipulate the real-time attributes of a process
coredumpctl (1) - Retrieve and process saved core dumps and metadata
cpupower (1) - Shows and sets processor power related values
cpupower-info (1) - Shows processor power related kernel or hardware configurations
以 awk为例,使用 "man -f awk" 命令来获取命令的man文档信息
[root@Rocky01 ~]#man -f awk
awk (1) - pattern scanning and processing language
[root@Rocky01 ~]#man 1 awk # 介绍awk命令
man 分为9个部分
- 1:用户命令
- 2:系统调用
- 3:C库调用
- 4:设备文件及特殊文件
- 5: 配置文件格式
- 6:游戏
- 7:杂项
- 8:管理类的命令
- 9:Linux内核API
man 帮助段落说明
- NAME 名称及简要说明
- SYNOPSIS 用法格式说明
- [] 可选内容
- <> 必选内容
- a|b 二选一
- {} 分组
- ... 同一内容可以出现多次
- DESCRIPTION 详细说明
- OPTIONS 选项说明
- EXAMPLES 示例
- FILES 相关说明
- AUTHOR 作者
- COPYRIGHT 版本信息
- REPORTING BUGS bug信息
- SEE ALSO 其他帮助参考
#提取当前网卡ip
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:5b:92:6e brd ff:ff:ff:ff:ff:ff
inet 20.0.0.129/24 brd 20.0.0.255 scope global noprefixroute dynamic ens33
valid_lft 1285sec preferred_lft 1285sec
inet6 fe80::2333:7547:402e:1ca6/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@localhost ~]# ip a |grep dynamic |awk '{print $2}'
20.0.0.129/24
/etc/fstab详解
从左到右分别为6个参数
- 设备名称\设备UUID\设备Lebal #三选一,相当于用不同的方式,指定挂载的设备
- 挂载点(必填) #设备挂载的所在位置
- 文件系统格式 #实际生产中常见有ext3、ext4、xfs、swap
- parameters为文件系统的参数,一般默认 为:defaults
- 能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0或者1。0 代表不做dump备份;1 代表要每天进行dump备份;2 代表2天进行一次dump备份
- 是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整。0 不要检验;1 最早检验(一般根目录会选择最早检验)2 代表第1等级的检验完成后进行第二层级的检验
FHS结构
Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式。
FHS以/为唯一起点,呈树状分支结构
“/”,即超级用户的根,这个是系统初始化时就自然生成的有,它是系统的第一核心目录;
/usr,这个是用户的家目录,是应用程序一般默认安装的位置;
/var,它是系统运行时写入和增删的数据文件,这个目录是动态数据的保存位置,随时可能得到扩充或删减。一般包括系统运行日志、邮件及应用软件的数据库等相关文件,主要在var/log目录下。
/bin:存放用户常用的cd,ls等二进制命令;
/boot:存放系统启动的引导性文件;
/dev:存放硬盘等设备文件;
/etc:存放二进制rpm软件安装包及各种服务的启动命令,比如说系统的网络配置文件
/home:用户家目录,新建用户时默认在/home目录下创建同名目录
/usr/lib :存放32位程序运行时调用的动态库及内核模块文件;
/usr/share: 用于存放一些共享的数据,比如音乐文件或者图标等等:
/usr/src:Linux开放的源代码;
/usr/doc : Linux技术文档;
/usr/lib64:存放64位程序 /home运行时调用的动态库及内核模块文件;
/lib -> usr/lib:存放32位程序运行时调用的动态库及内核模块文件
/lib64 -> usr/lib64:存放64位程序运行时调用的动态库及内核模块文件;
/usr/man:帮助文档所在的目录;
/media:挂载点,主要挂载可移动存储设备,对ubuntu系统来说,自动挂载光驱、usb设备,存放临时读入的文件
/mnt:挂载点,挂载临时文件及存储设备;
/lost+found/:这个目录只在每个分区中出现,/lost+found就是根分区的备份恢复目录,/boot/lost+found就是/boot分区的备份恢复目录,fsck工具会检查这里,并进行修复
/opt:第三方应用软件安装位置,一般习惯安装到/usr/local下,也就是说/usr/local/目录也可以用来安装软件;
/sys:虚拟文件系统,主要保存系统的内核,该目录的数据都是保存在内存中的;
/root:超级用户(系统管理员)的家目录,直接在“/”之下;
/run:存放系统启动以后描述系统信息的文件(放置子进程和父进程PID的目录),关机后即清空
/sbin -> usr/sbin:存放root(系统管理员)使用的二进制可执行命令,
/srv:可理解为”service”,存储系统服务运行时某些服务所需要调用的数据
/tmp:临时目录。系统存在临时文件目录,该目录下所以用户都可以访问和写入。我们建议此目录中不能保存重要数据,最好每次开机都把该目录清空。
用户、组、文件管理、权限管理
用户
用户以uid号标识,其中uid=0为管理员用户(一般指root,也可以手动修改),1-999为系统用户(程序或进程使用用户),1000+为普通用户(用户自行创建用户)
常用命令
useradd #创建用户
usermod #修改用户参数
userdel #删除用户
id #查看用户的uid,gid,主组和附加组
passwd user_name #修改用户密码
组
用户创建则默认创建一个同名的主组,该组名称与用户名称一致,附加组可以添加多个用户,实际主要用途是批量管理一批账号的权限
常用命令
groupadd #创建组(通常指附加组,因为主组在创建用户时已经创建)
groupmod #修改组参数
groupdel #删除组
id #查看用户的uid,gid,主组和附加组
文件管理
常用的文件管理命令
touch #常用于创建文件
touch a.txt #创建名称为a.txt的空文件
touch {a..f}.txt #批量创建a.txt,b.txt,c.txt,d.txt,e.txt,f.txt文件
rm #用于删除文件,alias默认定义为rm -i,删除文件前会询问是否删除
rm -f #删除文件或目录不问询
rm -rf #递归删除文件夹内所有内容不问询
#实际生产中不建议使用rm命令,通过mv file /tmp替代rm命令
rmdir #删除空目录
rmdir -p #删除指定空目录及其上级空目录
cat #常用于查看文件或输入重定向
cat /etc/fstab #查看/etc/fstab文件
cat >> /etc/fstab<<EOF
123
EOF
#对/etc/fstab文件追加内容为‘123’
head #查看文件的前N行(默认为10),或者控制文件输出(如输出前5行)
head /etc/passwd #查看/etc/passwd的前10行
head -n5 /etc/passwd # 查看/etc/passwd的前5行
less,more #这两个命令可以分次查看文件,如log等一页无法查看完毕的文件,可以通过这两个命令多次显示,并通过上下键翻页查看,常用less(功能更好)
权限管理
ll 查看文件一般权限(查看文件夹权限使用-d参数),lsattr查看文件特殊权限
当lsattr查看文件有 i 属性时,该文件无法被删除,更改,写入,可以通过chattr -i去除i属性
chmod 744 file #修改文件file权限为-rwxr--r--.
chmod u-w file #修改文件file权限为-r-xr--r--.
chmod o+w file #修改文件file权限为-r-xr--rw-.
chown file wang #修改文件file拥有者为wang账号
chown file wang:wang #修改文件file拥有者为wang账号,所属组为wang组
setfacl #通过ACL可以任意控制文件可以被某些other访问而不被其他other访问,实现个性化管理文件访问权限
标签:总结,文件,00,第一篇,用户,修改,usr,Linux,man
From: https://www.cnblogs.com/chenqizhi/p/17519610.html