命令规范

开源协定

GPL开源协定:

http://www.gnu.org/licenses/gpl-1.0.html

如果程序使用并且修改了GPL代码,那么相应程序也必须要开源,否则就不能使GPL的软件,是否把程序商用和GPL没关系。

使用开源软件并不受GPL约束,只有基于开源软件,修改开源软件的源码的时才受 GPL约束。

GPL开源软件都不能卖版权,因为是公共版权

LGPL开源协定:

http://www.gnu.org/copyleft/lesser.html

GPLv2开源协定:

http://www.gnu.org/licenses/gpl-2.0.html

GPLv3开源协定:

http://www.gnu.org/licenses/gpl-3.0.html

BSD开源协定:

1、如果二次发布的产品中包含源代码,则在源代码中必须带有原来的代码中的BSD协定;

2、如果二次发布产品是二进制格式的库或程序,则需要在发布的文档或版权声明中说明包含原来的代码中的BSD协定;

3、不可以用开源代码的作者或组织,以及原来的产品的名字做市场推广。

Apache开源协定:

https://www.apache.org/licenses/LICENSE-2.0.html

Linux基础知识

命令提示符

# COMMAND OPTIONS ARGUMENTS

当发起一个命令,表示请求内核将某个二进制程序运行为一个进程,由程序转换为进程,由静态转换为动态(有生命周期);并且由OPTIONS对命令进行修正;作用于所给定的参数ARGUMENTS上。

命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件

多数系统程序文件都存放于:/bin,/sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin目录

普通命令存放于:/bin, /sbin, /usr/local/bin目录

管理命令存放于:/sbin, /usr/sbin, /usr/local/sbin目录

共享库文件多数存放于:/lib,/lib64, /usr/lib64, /usr/local/lib, /usr/local/lib64

32位系统的库存放于:/lib /usr/lib /usr/local/lib

64位系统的库存放于:/lib64 /usr/lib64 /usr/local/lib64

查看路径下的文件命令:

~]# ls (以上文件路径)

注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件

命令必须遵循特定格式规范:

Linux为:ELF,Windows为:exe、msi,等

查看程序类型及相关信息:

~]# file /bin/ls

命令分为两类:

由shell程序 的自带的命令:内置命令(builtin)

独立的可执行程序文件,文件名即命令名:外部命令

shell程序是独特的程序,负责解析用户提供的命令:

环境变量:PATH决定了从哪些路径中查找用户键入的命令字符串所对应的命令文件,查找次序:自左而右。

~]# echo $ PATH

按空格分隔命令各单元

查看命令类型:

~]# type COMMAND

选项OPTIONS:

指定命令的运行特性:

选项有两种表现形式

短选项:-C,-l,-d

注意:有些命令的选项没有-

如果同一命令同时使用多个短选项,多数可合并,如:

~]# ls -l -d /var

等同于

~]# ls -ld /var

长选项:–word,–help,–human,–readable。长选项不能合并。

注意:有些选项可以带参数,此参数称为选项参数。长选选项的参数由“=”号连接,短选项的参数由空格分隔

参数 ARGUMENTS

命令的作用或生效对象

注意:不同的命令的参数格式是不一样的,有些命令可同时带多个参数,中间以空格分隔,如:ls -ld /var /etc

获取命令的使用帮助:

内部命令帮助:

~]# help COMMAND

外部命令帮助:

(1. 命令自带简要格式的使用帮助

~]# COMMAND –help

(2.使用手册:manual

位置:/usr/share/man

~]# man COMMAND

SECTION:

NAME:功能性说明

SYNOPSIS:语法格式

DESCRIPTION:描述

OPTIONS:选项

EXAMPLES:使用示例

AUTHOR:作者

BUGS:报告程序BUG的方式

SEE ALSO:参考

……

操作方法

“[]”内为可选内容

“<>”内为必选内容

”a|b|c“为多选一

“……”为同类内容可出现多个:

使用手册:是压缩格式的文件,有章节之分。

/usr/share/man

man1,man2,……

上例中尾数的含义

1:用户命令

2:系统调用

3:C库调用

4:设备文件或特殊文件

5:文件格式(配置文件格式)

6:游戏使用帮助

7: 杂项

8:管理工具及守护进行

~]# man CHAPTER COMMAND

注意:并非每个COMMAND在所有章节下都有手册

查看命令:

~]# whatis COMMAND

注意:其执行过程是查询数据库进行的

手动更新数据库

~]# makewhatis

man命令翻页操作

向文件尾部翻一屏:空格键

向文件首部翻一屏:b

向文件尾部翻半屏:Ctrl + d

向文件首部翻半屏:Ctrl + u

向文件尾部翻一行:回车键

向文件首部翻一行:k

转到最后一行:g

跳转指定行:#G

文本搜索:

/keyword:从文件首部向文件尾部依次查找,不区分大小写

?keyword:从文件尾部向文件首部依次查找

n:与查找命令方向相同

N:与查找命令方向相反

退出:

q:quit

选项:

-M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开手册

练习:

获取useradd命令用法

添加用户gentoo

添加用户slackware,要求指定其所用的shell为/bin/tcsh

(3.info COMMAND

获取命令的在线文档

(4.很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION

README:程序的相关信息

INSTALL:安装帮助

CHANGES:版本迭代时的改动信息

(5.主流发行版官方文档

http://www.redhat.com/doc

(6.程序官方文档

官方站点上的“Document(Doc)”

(7.搜索引擎

google

    原文作者:wenxuan666
    原文地址: https://www.jianshu.com/p/d9b252e72735
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞