I. Linux的各種發行版
All Kinds of Linux
在Linux誕生的20多年里,Linux衍變出了許許多多的版本,每個都有自己的名字,但它們的本質和它們的哲學觀還是一樣的。下面是從外網上扒下來的一張Linux進化圖,跨度一直到了2016年。
按照圖上的來看,Linux的3大分支分別是Slackware,Debian和Redhat,其中Debian最為龐大。
Debian中比較出名的有Ubuntu和Linux Mint。其中Ubuntu是很多新手第一個知道的Linux發行版(包括我)。
Redhat是一家做系統的公司。他們針對的是主要是企業級用戶。他們旗下本來有兩個Linux系統,一個針對企業級的,一個針對個人。雖然系統是開源的,但升級補丁和其服務價格比較昂貴。后來Redhat放棄了個人級系統,把這個系統移交給一個叫做Fedora的社區維護。這個系統現在叫Fedora,每6個月會發行一個新版本。CentOS是Redhat企業級,RedHat Eenterprise Linux,的二次發行的版本。比起CentOS,RHEL修復了很多漏洞,各方面也比較完美。CentOS就是一個相對舊版本的RHEL。RHEL一般每18個月發行一個新版本。Redhat并不在意CentOS作為他們系統的二次發行,因為他們的客戶重視的不是系統而是他們提供的服務和支持。CentOS是以后進大公司之前的一個很好的聯系平臺。
Slackware這個名字本身可能比較陌生,但它的一個發行版,SUSE,比較有名而且也有不少用戶。
Android(安卓)也是Linux的一個發行版。Android=Linux kernel+busybox+Java虛擬機。它有著一顆Linux的心。
以上是常見的Linux發行版。
II. Linux的哲學思想
The Philosophy behind Linux
Linux的哲學思想為以下4點。每一條都附上了我本人的理解。
1. 一切皆文件:不僅普通文件是文件,目錄(文件夾),硬件設備等等都算文件。
2. 由眾多單一目的小程序組成;一個程序只實現一個功能,而且要做好:Linux的程序就像很多零件拼成的高達。你這么想象一下。
3. 盡量避免跟用戶交互:盡可能自動化,因為與用戶的交互有時會帶來錯誤:把工作都交給計算機。
4. 使用純文本文件保存配置信息:這樣使用文本編輯器即可完成系統配置。
II. Linux的基本命令
The Philosophy behind Linux
Linux上的命令格式為:Command+[Options…]+[Arugments…]
其中Options可以開啟或關閉命令的某些功能。Options分為長選項和短選項。長選項為“–”加上一個單詞,比如“–vertical”。短選項為“-”加上一個字母,比如“-p”。
Arguments,即參數,是向命令提供數據的。
有些命令是不需要Options或者Arguments的。接下來我會介紹幾個常見的命令。
ifconfig
以上為ifconfig在man手冊里的介紹。關于man命令我們稍后會講到。順帶一提,作者還很親切地提示到這個命令已經非常過時了。他推薦我們使用ip這個命令。
簡單的來說ifconfig就是一個開機的時候配置網絡的。平時我們用到這個命令要么是為了debug要么是為了調試系統。
如圖,ifconfig顯示了系統網絡的狀態。
echo
在manual里面,echo的描述是顯現一行文字。
下面是一些echo的例子。
echo有些短選項比較常用,比如-n。
你看這就沒換行。
tty
上面是tty在man里面的描述。tty就是告訴你你現在在哪個terminal上運行。
比如:
startx
startx用來啟動X Window,一般不需要參數。
然而我的CentOS上會報錯,希望了解的人可以解釋下。
export
export可以用來改變變量等等。比如上面的例子中,HISCONTROL這個變量就改成了ignoreboth。
pwd
pwd顯示現在所在的目錄。
下面是一些例子:
history
history這個命令顯示過去執行過的命令。
比如:
history也用幾個常用的選項。在help里面有提到。
比較常用的有-c:消除所有的記錄。
shutdown
shutdown這個命令如其名,默認就是關機。
shutdown有很多短選項。
比如說 -r: 重啟
-h:關機
等等
poweroff & reboot
poweroff即關機,reboot即重啟。
hwclock
計算機的主板上有一個硬件時鐘一直記錄著時間。hwclock可以顯示這個時間。
有兩個比較常用選項。
-s, –hctosys(將系統時間設置為硬件時間)
-w, –systohc(將硬件時間設置為系統時間)
date
date這個命令顯示現在系統時間。注意,這個時間可能和硬件時鐘不一樣。
date也可以設定系統時間。選項為-s。
格式為 date -s [MMDDhhmm[[CC]YY][.ss]]
比如:
date -s 111623122016.23
即把系統時間設置為2016年11月16日23點12分23秒
III. 在Linux上獲取幫助
How to get professional help?
用type命令查看下命令是內建的還是外部的。
內建的命令用“help”+命令查看幫助。
外部的命令用命令+”-h"或者“–help”來查看幫助,亦可用"man"+命令來查看。
以下為“help cd”的運行結果。
以下為“man ls”的運行結果。
man位于/usr/share/man。man里面的文檔分為8個章節
man1: 普通用戶命令
man2: 系統調用
man3: C庫調用
man4: 設備文件及特殊文件,是/dev下的文件
man5: 文件的格式
man6: 留給游戲開發商來定義。
man7: 雜項,比如說環境變量這里就有說明。
man8: 系統管理類的命令。這個只能有root運行,如ifconfig。
IV. Linux的基礎目錄名稱命名
FileSystem Hierarchy Standard
/bin:供所有用戶使用的基本命令。bin不能關聯到獨立分區。這些是OS啟動就會用到的命令。
/sbin:管理類的基本命令,亦不能關聯至獨立分區。這些是OS啟動就會用到的命令。
/lib:基本共享庫文件,以及內核模塊文件(/lib/modules)
/lib64:64位系統的輔助共享庫文件存放位置
/etc:配置文件目錄(注意,Linux的配置文件為純文本文件)
/home/USERNAME:普通用戶家目錄
/root:管理員的家目錄
/media:便攜式移動設備掛載點。u盤啊,移動硬盤之類的。
/mnt:臨時文件系統掛載點。掛載的固態硬盤的掛載點。
/dev:設備文件及特殊文件的存儲位置
/opt:第三方應用程序的安裝位置
/srv:系統上運行服務所用到的數據
/tmp:臨時文件存儲位置
/usr: Universal Shared, Read-only Data(共享只讀類文件的存儲位置)
/var: variable data files
cache: 應用程序緩存數據目錄
lib: 應用程序狀態信息數據
local:專用于為/usr/local下的應用程序存儲可變數據
lock: 鎖文件
log: 日志目錄及文件
opt: 專用于為/opt下的應用程序存儲可變數據
run: 運行中的進程相關的數據;通常用于存儲進程的pid文件
spool: 應用程序數據池
tmp: 保存系統兩次重啟之間產生的臨時數據
/proc: 用于輸出kernel與進程信息相關的虛擬文件系統
/sys:用于輸出當前系統上硬件設備相關信息的虛擬文件系統
/selinux: Security Enhanced Linux。selinux相關的安全策略信息的存儲位置
以上為Linux文件系統的命名方式。
原創文章,作者:mercerchen,如若轉載,請注明出處:http://www.www58058.com/19008
寫的很好,可以多注意一下排版問題,加油