關于linux,本來已經學得差不多暫時夠用了,不過回頭看看可能因為之前掃得太快,一些細節(jié)的地方沒有注意到,加上我也想把這部分加進自己的博客,所以算了,從來再掃一次,記下重點跟存在的疑慮,后面真正弄懂了,就回頭解答,當然,有高手指點的是最好的哈哈。
補充最后一句廢話,開始學linux 是從同事鴻飛那里借了一本《嵌入式linux應用程序開發(fā)詳解》的書在此說聲謝謝。所以linux 基礎復習,將按此書展開。后面的文章很多會轉載我在網上搜集的資料,因為比較雜,東拿一塊西拿一塊,實在無法在每個地方寫明轉載,如有侵犯了您的權力請告知,我會馬上刪除。
[list]
[*]linux 的優(yōu)勢及發(fā)展史:略
[*]基礎概念:1.文件系統、分區(qū)和掛載
文件系統是指操作系統中與管理文件有關的軟件和數據。Linux 的文件系統和Windows中的文件系統有很大的區(qū)別,Windows文件系統是以驅動器的盤符為基礎的,而且每一個目錄是與相應的分區(qū)對應,例如“E:\workplace”是指此文件在E 盤這個分區(qū)下。而Linux 恰好相反,文件系統是一個文件樹,且它的所有文件和外部設備(如硬盤、光驅等)都是以文件的形式掛結在這個文件樹上,例如“\usr\local”。對于Windows 而言,就是指所有分區(qū)都是在一些目錄下。在Linux 中把每一個分區(qū)和某一個目錄對應,以后在對這個目錄的操作就是對這
個分區(qū)的操作,這樣就實現了硬件管理手段和軟件目錄管理手段的統一。這個把分區(qū)和目錄對應的過程叫做掛載(Mount),而這個掛載在文件樹中的位置就是掛載點。
2.主分區(qū)、擴展分區(qū)和邏輯分區(qū)
硬盤分區(qū)是針對一個硬盤進行操作的,它可以分為:主分區(qū)、擴展分區(qū)、邏輯分區(qū)。其中主分區(qū)就是包含操作系統啟動所必需的文件和數據的硬盤分區(qū),要在硬盤上安裝操作系統,則該硬盤必須要有一個主分區(qū),而且其主分區(qū)的數量可以是1~3個;擴展分區(qū)也就是除主分區(qū)外的分區(qū),但它不能直接使用,必須再將它劃分為若干個邏輯分區(qū)才可使用,其數量可以有0 或1 個;而邏輯分區(qū)則在數量上沒有什么限制。它們的關系如圖1.3所示。
一般而言,對于先裝了Windows 的用戶,則Windows 的C 盤是裝在主分區(qū)上的,可以把Linux 安裝在另一個主分區(qū)或者擴展分區(qū)上。通常為了安裝方便安全起見,一般采用把Linux 裝在多余的邏輯分區(qū)上。
3.SWAP交換分區(qū)
在硬件條件有限的情況下,為了運行大型的程序,Linux 在硬盤上劃出一個區(qū)域來當作臨時的內存,而Windows 操作系統把這個區(qū)域叫做虛擬內存,Linux 把它叫做交換分區(qū)swap。在安裝Linux 建立交換分區(qū)時,一般將其設為內存大小的2 倍,當然也可以設為更大。
4.分區(qū)格式
不同的操作系統選擇了不同的格式,同一種操作系統也可能支持多種格式。微軟公司的Windows 就選擇了FAT32、NTFS兩種格式,但是Windows不支持Linux 上常見的分區(qū)格式。
Linux 是一個開放的操作系統,它最初使用EXT2 格式,后來使用EXT3 格式,但是它同時支持非常多的分區(qū)格式,包括很多大型機上UNIX 使用的XFS格式,也包括微軟公司的FAT以及NTFS格式。
5.GRUB
GRUB 是一種引導裝入器(類似在嵌入式中非常重要的bootloader)——它負責裝入內核并引導Linux 系統,位于硬盤的起始部分。由于GRUB多方面的優(yōu)越性,如今的Linux 一般都默認采用GRUB來引導Linux 操作系統。但事實上它還可以引導Windows 等多種操作系統。
[*]linux 安裝:略(建議使用Redhat9作為學習環(huán)境,FC 的版本有些問題,例如在編譯QTE 的時候,老是通不過,這個問題最少浪費了我一個星期,在網上參考了N多文章,還是沒解決,最終在Redhat9 上面很快就把環(huán)境搭建起來了!)
[*]文件系統介紹:1.ext2和ext3
ext3是現在Linux(包括Red Hat,Mandrake下)常見的默認的文件系統,它是ext2 的升級版本。正如Red Hat公司的首席核心的開發(fā)人員Michael K.Johnson所說,從ext2 轉換到ext3 主要有以下4 個理由:可用性、數據完整性、速度以及易于轉化。ext3 中采用了日志式的管理機制,它使文件系統具有很強的快速恢復能力,并且由于從ext2 轉換到ext3 無須進行格式化,因此,更加推進了ext3 文件系統的大大推廣。
2.swap 文件系統
該文件系統是Linux 中作為交換分區(qū)使用的。在安裝Linux 的時候,交換分區(qū)是必須建立的,并且它所采用的文件系統類型必須是swap而沒有其他選擇。
3.vfat文件系統
Linux 中把DOS 中采用的FAT 文件系統(包括FAT12,FAT16 和FAT32)都稱為vfat文件系統。
4.NFS文件系統
NFS文件系統是指網絡文件系統,這種文件系統也是Linux 的獨到之處。它可以很方便地在局域網內實現文件共享,并且使多臺主機共享同一主機上的文件系統。而且NFS文件系統訪問速度快、穩(wěn)定性高,已經得到了廣泛的應用,尤其在嵌入式領域,使用NFS文件系統可以很方便地實現文件本地修改,而免去了一次次讀寫flash的憂慮。
5.ISO9660文件系統
這是光盤所使用的文件系統,在Linux 中對光盤已有了很好的支持,它不僅可以提供對光盤的讀寫,還可以實現對光盤的刻錄。
[*]Linux目錄結構[/list]
/bin
bin 就是二進制(binary)英文縮寫。在這里存放前面Linux 常用操作命令的執(zhí)行文件,如mv、ls、mkdir 等。有時,這個目錄的內容和/usr/bin 里面的內容一樣,它們都是放置一般用戶使用的執(zhí)行文件/boot 這個目錄下存放操作系統啟動時所要用到的程序。如啟動grub就會用到其下的/boot/grub子目錄/dev 該目錄中包含了所有Linux系統中使用的外部設備。要注意的是,這里并不是存放的外部
設備的驅動程序,它實際上是一個訪問這些外部設備的端口。由于在Linux中,所有的設備都當作文件一樣進行操作,比如:/dev/cdrom代表光驅,用戶可以非常方便地像訪問文件、目錄一樣對其進行訪問/etc該目錄下存放了系統管理時要用到的各種配置文件和子目錄。如網絡配置文件、文件系統、x系統配置文件、設備配置信息設置用戶信息等都在這個目錄下。系統在啟動過程中需要讀取其參數進行相應的配置/etc/rc.d 該目錄主要存放Linux啟動和關閉時要用到的腳本文件,在后面的啟動詳解中還會進一步地講解[!--empirenews.page--]
續(xù)表
目 錄 目 錄 內 容
/etc/rc.d/init 該目錄存放所有Linux服務默認的啟動腳本(在新版本的Linux中還用到的是/etc/xinetd.d
目錄下的內容)
/home 該目錄是Linux 系統中默認的用戶工作根目錄。如前面在1.3.1 節(jié)中所述,執(zhí)行adduser
命令后系統會在/home目錄下為對應賬號建立一個名為同名的主目錄
/lib 該目錄是用來存放系統動態(tài)鏈接共享庫的。幾乎所有的應用程序都會用到這個目錄下的
共享庫。因此,千萬不要輕易對這個目錄進行什么操作
/lost+found 該目錄在大多數情況下都是空的。只有當系統產生異常時,會將一些遺失的片段放在此
目錄下
/media 該目錄下是光驅和軟驅的掛載點,Fedora Core 4已經可以自動掛載光驅和軟驅
/misc 該目錄下存放從DOS下進行安裝的實用工具,一般為空
/mnt 該目錄是軟驅、光驅、硬盤的掛載點,也可以臨時將別的文件系統掛載到此目錄下
/proc 該目錄是用于放置系統核心與執(zhí)行程序所需的一些信息。而這些信息是在內存中由系統
產生的,故不占用硬盤空間
/root 該目錄是超級用戶登錄時的主目錄
/sbin 該目錄是用來存放系統管理員的常用的系統管理程序
/tmp 該目錄用來存放不同程序執(zhí)行時產生的臨時文件。一般Linux安裝軟件的默認安裝路徑就
是這里
/usr 這是一個非常重要的目錄,用戶的很多應用程序和文件都存放在這個目錄下,類似與
Windows下的Program Files的目錄
/usr/bin 系統用戶使用的應用程序
/usr/sbin 超級用戶使用的比較高級的管理程序和系統守護程序
/usr/src 內核源代碼默認的放置目錄
/srv 該目錄存放一些服務啟動之后需要提取的數據
/sys
這是Linux 2.6 內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統sysfs
sysfs文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對偽終端的devpts文件系統。該文件系統是內核設備樹的一個直觀反映。當一個內核對象被創(chuàng)建的時候,對應的文件和目錄也在內核對象子系統中被創(chuàng)建
/var 這也是一個非常重要的目錄,很多服務的日志信息都存放在這里