1. 程式人生 > >Linux成長之路-基礎篇(1)

Linux成長之路-基礎篇(1)

一、計算機組成及功能
1、計算機的組成
計算機組成指的是系統結構的邏輯實現,包括機器機內的資料流和控制流的 組成及邏輯設計等。
主要分為五個部分:控制器,運算器,儲存器,輸入裝置,輸出裝置。
2、各組成部分的功能
(1)運算器:運算器的主要功能是對資料進行各種運算。這些運算除了常規的加、減、乘、除等基本的算術運算之外,還包括能進行“邏輯判斷”的邏輯處理能力,即“與”、“或”、“非”這樣的基本邏輯運算以及資料的比較、移位等操作。
(2)控制器:由程式計數器、指令暫存器、指令譯碼器、時序產生器和操作控制器組成,它是釋出命令的“決策機構”,即完成協調和指揮整個計算機系統的操作。
(3)儲存器:儲存器分為記憶體和外存。記憶體是電腦的記憶部件,用於存放電腦執行中的原始資料、中間結果以及指示電腦工作的程式。記憶體可以分為隨機訪問儲存器和只 讀儲存器,前者允許資料的讀取與寫入,磁碟中的程式必須被調入記憶體後才能執行,中央處理器可直接訪問記憶體,與記憶體交換資料。
(4)輸入裝置:輸入裝置是向計算機輸入資料和資訊的裝置。
(5)輸出裝置:是計算機硬體系統的終端裝置,用於接收計算機資料的輸出顯示、列印、聲音、控制外圍裝置操作等。
二、Linux的發行版本與各版本間的聯絡和區別
Linux發行版主要有三個分支:Debian、Slackware、Redhat,如圖:
Linux成長之路-基礎篇(1)


1、Debian系列
(1)Debian系列包括Mint和Ubuntu等。Debian是社群類Linux的典範,是迄今為止最遵循GNU規範的Linux系統。Debian最早由Ian Murdock於1993年建立,分為三個版本分支(branch): stable, testing 和 unstable。其中,unstable為最新的測試版本,其中包括最新的軟體包,但是也有相對較多的bug,適合桌面使用者。testing的版本都經 過unstable中的測試,相對較為穩定,也支援了不少新技術(比如SMP等)。而stable一般只用於伺服器,上面的軟體包大部分都比較過時,但是 穩定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其實Redhat的YUM也是在模仿Debian的APT方式,但在二進位制檔案發行方式中,APT應該是最好的了。Debian的資 料也很豐富,有很多支援的社群,有問題求教也有地方可去:)
1> Ubuntu:基於Debian開發的開源Linux作業系統,主要針對桌面和伺服器;嚴格來說不能算一個獨立的發行版本,Ubuntu是基於Debian的unstable版本加強而來,可以這麼說,Ubuntu就是 一個擁有Debian所有的優點,以及自己所加強的優點的近乎完美的 Linux桌面系統。根據選擇的桌面系統不同,有三個版本可供選擇,基於Gnome的Ubuntu,基於KDE的Kubuntu以及基於Xfc的 Xubuntu。特點是介面非常友好,容易上手,對硬體的支援非常全面,是最適合做桌面系統的Linux發行版本。
2> Linux Mint:基於Debian和Ubuntu的Linux發行版,致力於桌面系統對個人使用者每天的工作更易用,更高效,且目標是提供一種更完整的即刻可用體驗。
2、Slackware系列
是由Patrick Volkerding開發的GNU/Linux發行版。與很多其他的發行版不同,它堅持KISS(Keep It Simple Stupid)的原則,就是說沒有任何配置系統的圖形介面工具。一開始,配置系統會有一些困難,但是更有經驗的使用者會喜歡這種方式的透明性和靈活性。 Slackware Linux的另一個突出的特性也符合KISS原則:Slackware沒有如RPM之類的成熟的軟體包管理器。Slackware的軟體包都是通常的tgz(tar/gzip)格式檔案再加上安裝指令碼。Tgz對於有經驗的使用者來說,比RPM更為強大,並避免了RPM之類管理器的依賴性問題。Slackware與其他的發行版本(Red Hat、Debian、Gentoo、SuSE、 Mandriva、Ubuntu等)不同的道路,它力圖成為“UNIX風格”的Linux發行版本。只吸收穩定版本的應用程式,並且缺少其他linux版本中那些為發行版本定製的配置工具。
1> suse:基於Slackware二次開發的一款Linux,主要用於商業桌面、伺服器。
2> SLES(SUSE Linux Enterprise Server(SLES):企業伺服器作業系統,是唯一與微軟系統相容的Linux作業系統。
3> OpenSUSE:由suse發展而來,旨在推進linux的廣泛使用,主要用於桌面環境,使用者介面非常華麗,而且效能良好。
3、RedHat系列
Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server,收費版本)、Fedora Core(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社群克隆版本,免費)。Redhat應該說是在國內使用人群最多的Linux版本,甚至有人將Redhat等同於Linux,而有些老鳥更是隻用這一個版本的Linux。所以這個版本的特點就是使用人群數量大,資料非常多,言下之意就是如果你有什麼不明白的地方,很容易找到人來問,而且網上的一般Linux教程都是以Redhat為例來講解的。Redhat系列的包管理方式採用的是基於RPM包的YUM包管理方式,包分發方式是編譯好的二進位制檔案。穩定性方面RHEL和CentOS的穩定性非常好,適合於伺服器使用,但是Fedora Core的穩定性較差,最好只用於桌面應用。

1> rhel(red hat enterprise Linux):Red Hat公司釋出的面向企業使用者的Linux作業系統。早起版本主要用於桌面環境,免費:

2> Fedora:基於Red Hat Linux終止發行後,紅帽公司計劃以Fedora來取代Red Hat Linux在個人領域的應用,而另外發行的Red Hat Enterprise Linux取代Red Hat Linux在商業應用的領域。Fedora的功能對於使用者而言,它是一套功能完備、更新快速的免費作業系統,而對贊助者Red Hat公司而言,它是許多新技術的測試平臺,被認為可用的技術最終會加入到Red Hat Enterprise Linux中。Fedora大約每六個月釋出新版本。

3> Centos:基於Red hat Linux提供的可自由使用原始碼的企業級Linux發行版本。每個版本的Centos都會獲得十年的支援(通過安全更新的方式)。新版本的Centos大約每兩年發行一次,而每個版本的Centos會定期(大概6個月)更新一次,以支援新的硬體。這樣,建立一個安全、低維護、穩定、高預測性、高重複性的Linux環境。

(4)其他發行版本:
1、 Gentoo:基於linux的自由作業系統,基於Linux的自由作業系統,它能為幾乎任何應用程式或需求自動地作出優化和定製。追求極限的配置、效能,以及頂尖的使用者和開發者社群,都是Gentoo體驗的標誌特點, Gentoo的哲學是自由和選擇。得益於一種稱為Portage的技術,Gentoo能成為理想的安全伺服器、開發工作站、專業桌面、遊戲系統、嵌入式解決方案或者別的東西--你想讓它成為什麼,它就可以成為什麼。由於它近乎無限的適應性,可把Gentoo稱作元發行版。
2、 Aech Linux(或稱Arch):以輕量簡潔為設計理念的Linux發行版。其開發團隊秉承簡潔、優雅和程式碼最小化的設計宗旨。

不通發行版之間的聯絡和區別:
聯絡:所有發行版都是使用Linux核心;都需要遵循GNU的GPL協定;所有的發行版都有自己的版本號,版本格式約定基本一樣(主版本號.次版本號.發行號.修正號)。
區別:發行版的本質區別,在於繼承不同版本的核心,庫、程式的組成。不同發行版幾乎採用了不同包管理器(SLES、Fedora、openSUSE、centos、RHEL使用rmp包管理系統,包檔案以RPM為副檔名;Ubuntu系列,Debian系列使用基於DPKG包管理系統,包檔案以deb為副檔名。)

三、Linux的哲學思想

1、一切皆檔案:是Unix/Linux的重要哲學思想之一,不僅將檔案、目錄、字元裝置、塊裝置、 套接字等在 Unix/Linux
中都是以檔案被對待;它們雖然型別不同,但是對其提供的卻是同一套操作介面,作用就是提高資源的管理效率。
2、由眾多功能單一的小程式組成:一個程式只做一件事,並且能組合好完成複雜的任務,作用是分工明確,方便程序管理,好處是小程式易於理解,維護,
佔用系統資源少。
3、避免令人困擾的圖形介面:使用命令列介面執行效率更高,易於以程式設計的方式實現自動化任務。
4、配置資料儲存在文字中:linux所有的配置檔案都存放在文字配置檔案當中,無論什麼配置修改都只需修改其配置檔案即可,易於閱讀和編輯。
5、提供機制而非策略:從籠統意義上講,所謂機制就是“提供什麼功能”;策略就是“實現什麼功能”。其實,機制就是將整個系統看作是一個資源的集合,當
任務來臨時能夠提供多少資源供其使用,卻不介入任務的執行過程,任憑使用者自己分配。

四、說明Linux命令的使用格式

1、ifconfig
1.命令格式:
ifconfig [網路裝置] [引數]
2.命令功能:
ifconfig 命令用來檢視和配置網路裝置。當網路環境發生改變時可通過此命令對網路進行相應的配置。
3.命令引數:
up 啟動指定網路裝置/網絡卡。
down 關閉指定網路裝置/網絡卡。該引數可以有效地阻止通過指定介面的IP資訊流,如果想永久地關閉一個介面,我們還需要從核心路由表中將該介面的路由資訊全部刪除。
arp 設定指定網絡卡是否支援ARP協議。
-promisc 設定是否支援網絡卡的promiscuous模式,如果選擇此引數,網絡卡將接收網路中發給它所有的資料包
-allmulti 設定是否支援多播模式,如果選擇此引數,網絡卡將接收網路中所有的多播資料包
-a 顯示全部介面資訊
-s 顯示摘要資訊(類似於 netstat -i)
add 給指定網絡卡配置IP地址
del 刪除指定網絡卡的IP地址
<硬體地址> 配置網絡卡最大的傳輸單元
mtu<位元組數> 設定網絡卡的最大傳輸單元 (bytes)
netmask<子網掩碼> 設定網絡卡的子網掩碼。掩碼可以是有字首0x的32位十六進位制數,也可以是用點分開的4個十進位制數。如果不打算將網路分成子網,可以不管這一選項;如果要使用子網,那麼請記住,網路中每一個系統必須有相同子網掩碼。
tunel 建立隧道
dstaddr 設定一個遠端地址,建立點對點通訊
-broadcast<地址> 為指定網絡卡設定廣播協議
-pointtopoint<地址> 為網絡卡設定點對點通訊協議
multicast 為網絡卡設定組播標誌
address 為網絡卡設定IPv4地址
txqueuelen<長度> 為網絡卡設定傳輸列隊的長度
4.使用例項:
例項1:檢視網路介面狀態,不加任何引數,會輸出當前網路介面的情況。
Linux成長之路-基礎篇(1)
例項2:啟動關閉指定網絡卡
ifconfig ens33 up
Linux成長之路-基礎篇(1)
ifconfig ens33 down

Linux成長之路-基礎篇(1)
例項3:為網絡卡配置IP
Linux成長之路-基礎篇(1)
說明:
ifconfig eth0 192.168.60.129
給eth0網絡卡配置IP地:192.168.60.129
ifconfig eth0 192.168.60.129 netmask 255.255.255.0
給eth0網絡卡配置IP地址:192.168.60.192,並加上子掩碼:255.255.255.0
ifconfig eth0 192.168.60.129 netmask 255.255.255.0 broadcast 192.168.60.255
/給eth0網絡卡配置IP地址:192.168.60.129,加上子掩碼:255.255.255.0,加上個廣播地址: 192.168.60.129
例項4:啟用和關閉ARP協議
命令:
ifconfig eth0 arp
ifconfig eth0 -arp
輸出:
Linux成長之路-基礎篇(1)
例項5:設定最大傳輸單元
命令:
ifconfig eth0 mtu 1480
輸出:
Linux成長之路-基礎篇(1)
說明:
設定能通過的最大資料包大小為 1480 bytes

2、echo
echo命令的功能是在顯示器上顯示一段文字,一般起到一個提示的作用。
語   法:echo [-ne][字串]或 echo [--help][--version]
補充說明:echo會將輸入的字串送往標準輸出。輸出的字串間以空白字元隔開, 並在最後加上換行號。
選項:
-n 不要在最後自動換行
-e 若字串中出現以下字元,則特別加以處理,而不會將它當成一般文字輸出:
\a 發出警告聲;
\b 刪除前一個字元;
\c 最後不加上換行符號;
\f 換行但游標仍舊停留在原來的位置;
\n 換行且游標移至行首;
\r 游標移至行首,但不換行;
\t 插入tab;
\v 與\f相同;
\ 插入\字元;
\nnn 插入nnn(八進位制)所代表的ASCII字元;
–help 顯示幫助
–version 顯示版本資訊
例項1:顯示系統定義的變數的值
[[email protected] ~]# echo $USER
root
[[email protected] ~]# echo $HOME
/root
例項2:顯示使用者自定義的變數的值
[[email protected] ~]# var1=date
[[email protected] ~]# echo "Today's date time is : $var1"
Today's date time is : Sat Dec 15 17:43:24 CST 2018
例項3:在echo命令中使用反斜線
[[email protected] ~]# echo -e "Ubuntu \bis \bthe \bbest \bDesktop \bOS"
UbuntuisthebestDesktopOS
例項4:顯示文字字串
[[email protected] ~]# echo " Hi this echo command testing"
Hi this echo command testing
例項5:在echo命令中使用製表符空格和垂直製表符
[[email protected] ~]# echo -e "Ubuntu \tis \tthe \tbest \tDesktop \tOS"
Ubuntu is the best Desktop OS
[[email protected] ~]# echo -e "Ubuntu \vis \vthe \vbest \vDesktop \vOS"
Ubuntu
is
the
best
Desktop
OS
例項6:設定echo命令彩色輸出
echo命令可以修改字型型別,字型背景色以及字型顏色,轉義序列\033可以用於改變字型屬性。要使轉義序列生效,必須使用-e選項。下面列出了部分轉義程式碼:
[0m: 正常
[1m: 粗體
[4m: 字型加上下劃線
[7m: 逆轉前景和背景色
[8m: 不可見字元
[9m: 跨行字型
[30m: 灰色字型
[31m: 紅色字型
[32m: 綠色字型
[33m: 棕色字型
[34m: 藍色字型
[35m: 紫色字型
[36m: 淺藍色字型
[37m: 淺灰字型
[38m: 黑色字型
[40m: 黑色背景
[41m: 紅色背景
[42m: 綠色背景
[43m: 棕色背景
[44m: 藍色背景
[45m: 紫色背景
[46m: 淺藍色背景
[47m: 淺灰色背景
用紫色加粗字型列印輸出My Linux。
[[email protected] ~]# echo -e "\033[1m\033[35mMy Linux\033[0m"
用紅色字型黑色背景色列印輸出My Linux。
[[email protected] ~]# echo -e "\033[31m\033[40mMy Linux\033[0m"

3、tty
tty命令用於顯示終端機連線標準輸入裝置的檔名稱。
在Linux作業系統中,所有外圍裝置都有其名稱與代號,這些名稱代號以特殊檔案的型別存放於/dev目錄下。你可以執行tty(teletypewriter)指令查詢目前使用的終端機的檔名稱。
語法
tty [-s][--help][--version]
引數說明:
-s或--silent或--quiet 不顯示任何資訊,只回傳狀態程式碼。
--help 線上幫助。
--version 顯示版本資訊。
例項1:顯示當前終端
[[email protected] ~]# tty
/dev/pts/3

4、startx
當我們在終端下想啟動圖形介面時,我們都會通過輸入startx來實現,該命令可以啟動一個Xserver,而且可以啟動一個漂亮的圖形介面。
startx [ [ client ] options ... ] [ -- [ server ] options ... ]。startx其實就是一個指令碼,它啟動X server就是通過呼叫xinit命令實現的,startx的引數將全部傳給xinit。因此,這些引數的意義和xinit的引數是一樣的。

5、export
功能說明:
  設定或顯示環境變數。
語法:export [-fnp][變數名稱]=[變數設定值]
引數:
-f  代表[變數名稱]中為函式名稱。
-n  刪除指定的變數。變數實際上並未刪除,只是不會輸出到後續指令的執行環境中。
-p  列出所有的shell賦予程式的環境變數。
例項1:顯示當前系統上所有環境變數
直接使用export不加任何選項
Linux成長之路-基礎篇(1)
例項2:設定環境變數
[[email protected] ~]# export PATH="$PATH:/home/Python"
[[email protected] ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/home/Python
例項3:定義環境變數賦值
Linux成長之路-基礎篇(1)

6、pwd
pwd命令用於顯示當前工作目錄。
語法
pwd [--help][--version]
引數說明:
--help 線上幫助。
--version 顯示版本資訊。
例項:檢視當前所在目錄
[[email protected] network-scripts]# pwd
/etc/sysconfig/network-scripts

7、history
用於顯示歷史記錄和執行過的指令命令。history命令是被儲存在記憶體中的,當退出或者登入shell時,會自動儲存或讀取。在記憶體中,歷史命令僅能夠儲存1000條歷史命令,該數量是由環境變數 HISTSIZE進行控制。
語法:
history [選項] [引數]
-c: 清空命令歷史;
-d offset:刪除指定命令歷史
-r: 從檔案讀取命令歷史至歷史列表中;
-w:把歷史列表中的命令追加至歷史檔案中;
history #:顯示最近的#條命令
環境變數:
1> HISTSIZE:命令歷史的條數
2> HISTFILE:預設為~/.bash_history
3> HISTFILESIZE:HISTFILE檔案記錄歷史的條數
呼叫歷史命令:
1> !# 重複執行第#條命令
2> !! 重複執行上一條命令
3> !str 執行指定str開頭的命令(最後一個)
4> !? 獲得最後執行的狀態碼
控制命令歷史的記錄方式:
1> ignoredups 忽略重複
2> ignorespace 忽略空白開頭
3> ignoreboth 上面2個都啟用
例項1:顯示已記錄的歷史命令
Linux成長之路-基礎篇(1)
例項2:刪除歷史命令中某條歷史命令
[[email protected] ~]# history -d 391
例項3:顯示最近10條歷史命令
[[email protected] ~]# history 10
例項4:清空所有歷史命令
[[email protected] ~]# history -c

8、shutdown、poweroff、reboot
1> shutdown 會給系統計劃一個時間關機。它可以被用於停止、關機、重啟機器。
命令示例:
[[email protected] ~]# shutdown
[[email protected] ~]# shutdown now
[[email protected] ~]# shutdown 13:20
[[email protected] ~]# shutdown -p now ##關閉機器
[[email protected] ~]# shutdown -H now ##停止機器
[[email protected] ~]# shutdown -r09:35 ##在 09:35am 重啟機器
[[email protected] ~]# shutdown -c ##取消
2> poweroff
會發送一個 ACPI 訊號來通知系統關機。
命令示例:
[[email protected] ~]# poweroff 關閉機器
[[email protected] ~]# poweroff --halt 停止機器
[[email protected] ~]# poweroff --reboot 重啟機器
3> reboot
通知系統重啟
[[email protected] ~]# reboot 重啟機器
[[email protected] ~]# reboot --halt 停止機器
[[email protected] ~]# reboot -p 關閉機器

9、hwclock、date
1> date
date 可以用來顯示或設定系統的日期與時間。
語法:
date [OPTION]... [+FORMAT]
FORMAT
%H 小時(以00-23來表示)。
%I 小時(以01-12來表示)。
%K 小時(以0-23來表示)。
%l 小時(以0-12來表示)。
%M 分鐘(以00-59來表示)。
%P AM或PM。
%r 時間(含時分秒,小時以12小時AM/PM來表示)。
%s 總秒數。起算時間為1970-01-01 00:00:00 UTC。
%S 秒(以本地的慣用法來表示)。
%T 時間(含時分秒,小時以24小時制來表示)。
%A 星期的完整名稱。
%D 日期(含年月日)。
%Y 年份(以四位數來表示)。
MM 月份(必要)
DD 日期(必要)
hh 小時(必要)
mm 分鐘(必要)
ss 秒(選擇性)
例項1:顯示當前系統時間
[[email protected] ~]# date
Sat Dec 15 19:40:33 CST 2018
例項2:格式化輸出時間
[[email protected] ~]# date +"%Y-%m-%d %H:%M:%S"
2018-12-15 19:45:49
例項3:修改系統時間
[[[email protected] ~]# date -s "2012-12-12 12:12:12"
Wed Dec 12 12:12:12 CST 2012

2> hwclock、clock
命令可以用來顯示/設定硬體時鐘命令。
-s, --hctosys:以硬體為準,把系統調整為與硬體時間相同;
-w, --systohc:以系統為準,把硬體時間調整為與系統時鐘相同;

五、獲取Linux系統幫助資訊
獲取命令的使用幫助:
內部命令:
help COMMAND
外部命令:
(1) 命令自帶簡要格式的使用幫助
~]# COMMAND --help
(2) 使用手冊:manual
位置:/usr/share/man
~]# man COMMAND

                SECTION:
                    NAME:功能性說明
                    SYNOPSIS:語法格式
                    DESCRIPTION:描述
                    OPTIONS:選項
                    EXAMPLES:使用示例
                    AUTHOR: 作者
                    BUGS: 報告程式bug的方式
                    SEE ALSO: 參考
                    ...

                SYNOPSIS: 
                    []:可選內容;
                    <>:必須提供的內容;
                    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: 跳轉至指定行;
                    1G:跳轉至檔案首部;

                文字搜尋:
                    /keyword:從檔案首部向檔案尾部依次查詢;不區分字元大小寫;
                    ?keyword:從檔案尾部向檔案首部依次查詢;    
                        n: 與查詢命令方向相同;
                        N: 與查詢命令方向相反;

                退出:
                    q: quit

六、Linux發行版的基礎目錄名稱命名法則及功用規定
linux檔案命名法則:
1.檔名嚴格區分大小寫
2.檔案可以使用除/以外任意字元
3.檔名長度不能超過255字元
4.以.開頭的檔案為隱藏檔案
在各種版本的linux發行版中,檔案系統必要遵循FHS(Filesystem Hierarchy Standard,檔案系統結構標準),它定義了一個發行版所必須有的檔案目錄和可選的檔案目錄。
FHS:
Filesystem Hierarchy Standard
/bin:所有使用者可用的基本命令程式檔案;
/sbin:供系統管理使用的工具程式;
/boot:引導載入器必須用到的各靜態檔案:kernel, initramfs(initrd), grub等;
/dev:儲存特殊檔案或裝置檔案;
裝置有兩種型別:字元裝置(線性裝置)、塊裝置(隨機裝置);
/etc:系統程式的配置檔案,只能為靜態;
/home:普通的家目錄的集中位置;一般每個普通使用者的家目錄預設為此目錄下與使用者名稱同名的子目錄,/home/USERNAME;
/root:管理員的家目錄;可選;
/lib:為系統啟動或根檔案系統上的應用程式(/bin, /sbin等)提供共享庫,以及為核心提供核心模組
libc.so.:動態連結的C庫;
ld
:執行時連結器/載入器;
modules:用於儲存核心模組的目錄;
/lib64:64位系統特有的存放64位共享庫的路徑;
/media:行動式裝置掛載點,cdrom, floppy等;
/mnt:其它檔案系統的臨時掛載點;
/opt:附加應用程式的安裝位置;可選路徑;
/srv:當前主機為服務提供的資料;
/tmp:為那些會產生臨時檔案的程式提供的用於儲存臨時檔案的目錄;可供所使用者執行寫入操作;有特殊許可權;
/usr:usr Hierarchy,全域性共享的只讀資料路徑;
bin, sbin
lib, lib64
include:C程式標頭檔案;
share:命令手冊頁和自帶文件等架構特有的檔案的儲存位置
local:另一個層級目錄;
X11R6:X-Window程式的安裝位置
src:程式原始碼檔案的儲存位置
/usr/local:Local hierarchy,讓系統管理員安裝本地應用程式;也通常用於安裝第三方程式;
/var:/var Hierarchy,儲存常發生變化的資料的目錄;
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
log Log files and directories
opt Variable data for /opt
run Data relevant to running processes
spool Application spool data
tmp Temporary files preserved between system reboots

        /proc:基於記憶體的虛擬檔案系統,用於為核心及程序儲存其相關資訊;它們多為核心引數,例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 儲存於/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward;
        /sys:sysfs虛擬檔案系統提供了一種比proc更為理想的訪問核心資料的途徑;其主要作用在於為管理Linux裝置提供一種統一模型的的介面;