開源協(xié)定
- GPL開源協(xié)定:
http://www.gnu.org/licenses/gpl-1.0.html
如果程序使用并且修改了GPL代碼,那么相應程序也必須要開源,否則就不能使GPL的軟件,是否把程序商用和GPL沒關系。
使用開源軟件并不受GPL約束,只有基于開源軟件,修改開源軟件的源碼的時才受 GPL約束。
GPL開源軟件都不能賣版權,因為是公共版權
- LGPL開源協(xié)定:
http://www.gnu.org/copyleft/lesser.html - GPLv2開源協(xié)定:
http://www.gnu.org/licenses/gpl-2.0.html - GPLv3開源協(xié)定:
http://www.gnu.org/licenses/gpl-3.0.html - BSD開源協(xié)定:
1、如果二次發(fā)布的產品中包含源代碼,則在源代碼中必須帶有原來的代碼中的BSD協(xié)定;
2、如果二次發(fā)布產品是二進制格式的庫或程序,則需要在發(fā)布的文檔或版權聲明中說明包含原來的代碼中的BSD協(xié)定;
3、不可以用開源代碼的作者或組織,以及原來的產品的名字做市場推廣。 - Apache開源協(xié)定:
https://www.apache.org/licenses/LICENSE-2.0.html
開源關系圖 ● 圖片轉自 www.chinaunix.net badb0y的blog(http://badb0y.blog.chinaunix.net/)
Linux基礎知識
命令提示符
# COMMAND OPTIONS ARGUMENTS
當發(fā)起一個命令,表示請求內核將某個二進制程序運行為一個進程,由程序轉換為進程,由靜態(tài)轉換為動態(tài)(有生命周期);并且由OPTIONS對命令進行修正;作用于所給定的參數ARGUMENTS上。
命令本身是一個可執(zhí)行的程序文件:二進制格式的文件,有可能會調用共享庫文件
多數系統(tǒng)程序文件都存放于:/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位系統(tǒng)的庫存放于:/lib /usr/lib /usr/local/lib
64位系統(tǒng)的庫存放于:/lib64 /usr/lib64 /usr/local/lib64
查看路徑下的文件命令:
~]# ls (以上文件路徑)
注意:并非所有的命令都有一個在某目錄與之對應的可執(zhí)行程序文件
命令必須遵循特定格式規(guī)范:
Linux為:ELF,Windows為:exe、msi,等
查看程序類型及相關信息:
~]# file /bin/ls
命令分為兩類:
- 由shell程序 的自帶的命令:內置命令(builtin)
- 獨立的可執(zhí)行程序文件,文件名即命令名:外部命令
shell程序是獨特的程序,負責解析用戶提供的命令:
環(huán)境變量: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“為多選一
“……”為同類內容可出現多個:
使用手冊:是壓縮格式的文件,有章節(jié)之分。
/usr/share/man
man1,man2,……
上例中尾數的含義
1:用戶命令
2:系統(tǒng)調用
3:C庫調用
4:設備文件或特殊文件
5:文件格式(配置文件格式)
6:游戲使用幫助
7: 雜項
8:管理工具及守護進行
~]# man CHAPTER COMMAND
注意:并非每個COMMAND在所有章節(jié)下都有手冊
查看命令:
~]# whatis COMMAND
注意:其執(zhí)行過程是查詢數據庫進行的
手動更新數據庫
~]# makewhatis
man命令翻頁操作
向文件尾部翻一屏:空格鍵
向文件首部翻一屏:b
向文件尾部翻半屏:Ctrl + d
向文件首部翻半屏:Ctrl + u
向文件尾部翻一行:回車鍵
向文件首部翻一行:k
轉到最后一行:g
跳轉指定行:#G
文本搜索:
/keyword:從文件首部向文件尾部依次查找,不區(qū)分大小寫
?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.主流發(fā)行版官方文檔
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/
(6.程序官方文檔
官方站點上的“Document(Doc)”
(7.搜索引擎
google
如文件參考手冊不能直接查到,可以先用whereis查找文件路徑,看文件在man目錄下的哪個文件,如查到:man/3/printf 則可用~]# man 3 printf命令查看相關參考手冊
