linux 基礎



Linux最初來源於unix,Unics在1969由Bell實驗室有一名叫:Ken Thompson 的人因爲玩遊戲,找到一個PDP-7老舊的電腦用彙編語言編寫了Unics後改名爲Unix,

在這往後時間中,1972年,ken Thompson和他的同事,重新用c語言把UNix編碼,以後unix迎來了他的春天。

到達1991年有個叫Linus Torvalds 研發了linux內核,並把它加入GPL開源協議,,由全世界***們自發的組織一起開發Linux,短短幾個月Linux正式公佈了正式版。


終端分爲:物理終端.邏輯終端,僞終端,圖形終端

物理終端:系統啓動過程

虛擬終端:系統登錄後界面有6個 ctrl+alt+【f1-f6】來回切換

圖形終端:在那個虛擬終端啓動,即位於那個虛擬終端

串行終端:tty6

僞終端:pty 



tty:查看當前的終端設備:

ifconfig或ip addr list: 查看活動接口的ip地址

ping:探測網絡上的目錄主機與當前主機之間的連通性

ctrl+c: 終止命令執行


linux的哲學思想:

1、一切皆文件:

把幾乎所有資源統統抽象爲文字形式:包括硬件設備,甚至通信接口等:

2.由衆多功能單一的程序組成

3.儘量避免跟用戶交互

4.使用文本文件保存配置信息

開源協定:

GPL,LGPl,BSD,Apache,mit


BSD:

1、如果二次發佈的產品中包含源代碼,則在源代碼中必須帶有原來的代碼中的BSD協定

2、如果二次發佈產品是二進制格式的庫或程序,則需要在發佈的文檔或版權聲明中說明包含原來的代碼中的BSD協定

3、不可以用開源程序代碼的作者或組織,以及原來的產品的名字做市場推廣

GNU GPL


GNU General Public Licence (GPL) 有可能是開源界最常用的許可模式。GPL 保證了所有開發者的權利,同時爲使用者提供了足夠的複製,分發,修改的權利:


可自由複製

你可以將軟件複製到你的電腦,你客戶的電腦,或者任何地方。複製份數沒有任何限制。

可自由分發

在你的網站提供下載,拷貝到U盤送人,或者將源代碼打印出來從窗戶扔出去(環保起見,請別這樣做)。

可以用來盈利

你可以在分發軟件的時候收費,但你必須在收費前向你的客戶提供該軟件的 GNU GPL 許可協議,以便讓他們知道,他們可以從別的渠道免費得到這份軟件,以及你收費的理由。

可自由修改

如果你想添加或刪除某個功能,沒問題,如果你想在別的項目中使用部分代碼,也沒問題,唯一的要求是,使用了這段代碼的項目也必須使用 GPL 協議。

需要注意的是,分發的時候,需要明確提供源代碼和二進制文件,另外,用於某些程序的某些協議有一些問題和限制,你可以看一下 @PierreJoye 寫的 Practical Guide to GPL Compliance 一文。使用 GPL 協議,你必須在源代碼代碼中包含相應信息,以及協議本身。


GNU LGPL

GNU 還有另外一種協議,叫做 LGPL (Lesser General Public Licence),它對產品所保留的權利比 GPL 少,總的來說,LGPL 適合那些用於非 GPL 或非開源產品的開源類庫或框架。因爲 GPL 要求,使用了 GPL 代碼的產品必須也使用 GPL 協議,開發者不允許將 GPL 代碼用於商業產品。LGPL 繞過了這一限制。

MIT


MIT 協議可能是幾大開源協議中最寬鬆的一個,核心條款是:


該軟件及其相關文檔對所有人免費,可以任意處置,包括使用,複製,修改,合併,發表,分發,再授權,或者銷售。唯一的限制是,軟件中必須包含上述版 權和許可提示。


這意味着:


你可以自由使用,複製,修改,可以用於自己的項目。

可以免費分發或用來盈利。

唯一的限制是必須包含許可聲明。

MIT 協議是所有開源許可中最寬鬆的一個,除了必須包含許可聲明外,再無任何限制。


Apache


Apache 協議 2.0 和別的開源協議相比,除了爲用戶提供版權許可之外,還有專利許可,對於那些涉及專利內容的開發者而言,該協議最適合(這裏有 一篇文章闡述這個問題)。


Apache 協議還有以下需要說明的地方:


永久權利

一旦被授權,永久擁有。

全球範圍的權利

在一個國家獲得授權,適用於所有國家。假如你在美國,許可是從印度授權的,也沒有問題。

授權免費,且無版稅

前期,後期均無任何費用。

授權無排他性

任何人都可以獲得授權

授權不可撤消

一旦獲得授權,沒有任何人可以取消。比如,你基於該產品代碼開發了衍生產品,你不用擔心會在某一天被禁止使用該代碼。

分發代碼方面包含一些要求,主要是,要在聲明中對參與開發的人給予認可幷包含一份許可協議原文。


linux分爲:相對路徑,絕對路徑

相對路徑:從當前目錄起

絕對路徑:從/根目錄說起



linux 基礎命令


查看命令類型:

type COMMAND


linux文件系統:

1、文件名名稱嚴格區分字符大小寫:

2、文件可以使用除/以外任意字符

3、文件名長度不能超過255字符

4、以.開頭的文件爲隱藏文件

.:當前文件

..:當前目錄的上一級目錄

/etc/sysconfig

.:sysconfig

..:/etc

pwd:顯示當前目錄


cd:change directory 

cd [/PATH/TO/SOMEDIR]

cd:切換回家目錄

注意:bash中,~代表家目錄

cd ~:切換回自己的家目錄

cd ~USERNAME: 切換至指定家目錄

cd -:於當前目錄於上一次所在目錄進行切換

相關的環境變量

$PWD:當前工作目錄

$OLDPWD:上一次的工作目錄

ls:list, 列出指定目錄下的內容

-a:顯示所有文件,包括隱藏文件

-A:除了.,..以外的都顯示

-l:--long,長格式列表,即顯示文件的詳細屬性信息:

-h:對文件大小單位換算:換算後結果可能會非常精確

-d:查看目錄自身而非起內部的文件列表

-r:reverse,逆序顯示

-R:遞歸顯示子目錄

cat:文本查看工具

-n:給顯示的文本行編號

-E:顯示行結束符$


tac:和上面除了逆序顯示,其他都一樣


file:查看文件內容類型

例子:file /etc/inittab



echo :回顯


選項:-n:不進行換行

 -e:讓轉義符生效

  \n:換行

  \t:種表符

  \b:退格

‘:強引用

“:弱引用


關機或重啓命令:shutdown

shutdown [OPTIONS...] [TIME] [WALL...]

shutdown -r now :現在重啓

shutdown -r +10 : 十分鐘後重啓

shutdown -h now : 現在關機

shutdown -h +30 : 30分鐘後關機

shutdown -c :取消 shutdown設置

shutdown -K :只發警告信息


日期相關的命令:

date:用來顯示或設置系統日期時間

hwclock,clock:都表示硬件時鐘

-s:以硬件爲準,把系統調整爲於硬件時間相同

-w:以系統爲準,把硬件時間調整爲於系統時鐘相同


cal:日曆

cal 2015 :顯示整個2015月份

cal 2015 10:顯示2015年10月


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章