Linux不完全手冊(三)
linux系統(tǒng)目錄結(jié)構(gòu)介紹篇
linux系統(tǒng)有其特定的文件系統(tǒng)的目錄組織結(jié)構(gòu),了解這些目錄結(jié)構(gòu)是學(xué)習(xí)基本知識(shí)的基本。下面我以redhatlinux為藍(lán)本介紹一下這些目錄結(jié)構(gòu)。
目錄名
簡介
/bin
這個(gè)目錄是系統(tǒng)中最主要的可執(zhí)行文件的存放地,這些可執(zhí)行文件大都是linux系統(tǒng)里最常用的命令了,一般用戶和超級(jí)用戶都會(huì)經(jīng)常使用其下的命令,如:ls、su、mount等。
/etc
是系統(tǒng)內(nèi)部存放配置文件的最主要場所,一般和系統(tǒng)關(guān)系十分密切的配置文件都放在該目錄下,也就是說對系統(tǒng)的配置主要就是對該目錄下的文件進(jìn)行修改。在該目錄下大多是文本文件。,比如:inittab、lilo.conf等。
/lost+found
主要是系統(tǒng)有毛病的時(shí)候存放文件的地方,正常情況下可以不去理會(huì)。
/root
超級(jí)用戶root的默認(rèn)主目錄,對一般用戶來說該目錄是沒有進(jìn)入權(quán)限的。一般自己的文件都考到自己的主目錄下面,以免打亂原來的系統(tǒng)層次結(jié)構(gòu)。
/tmp
和dos或windows的temp目錄相同,也就是該目錄下面存放臨時(shí)文件。
/boot
這個(gè)是redhatlinux特有的目錄,存放系統(tǒng)啟動(dòng)的時(shí)候的內(nèi)核文件和其他一些信息文件。有的發(fā)行版本就沒有這個(gè)目錄,而是把這些東西放在根目錄下。
/home
這是系統(tǒng)默認(rèn)的普通用戶的主目錄的根目錄,也就是普通用戶的主目錄設(shè)置為:/home/[userid]目錄。
/mnt
是系統(tǒng)提供安裝額外文件系統(tǒng)時(shí)候的安裝目錄,這個(gè)主要的目的是為了不打亂原來的目錄系統(tǒng)結(jié)構(gòu),否則安裝在哪里都是可以的。只要那個(gè)目錄沒被使用。
/sbin
和/bin一樣,主要是存放可執(zhí)行文件的場所,只不過這里的可執(zhí)行文件主要是給超級(jí)用戶管理管理系統(tǒng)時(shí)使用的,普通用戶幾乎沒有權(quán)限執(zhí)行其中的程序。如:mke2fs、ifconfig等。
/usr
這個(gè)目錄是linux系統(tǒng)里面占用磁盤空間最大的目錄,該目錄下面有許多應(yīng)用程序,他的子目錄也比較復(fù)雜,而且系統(tǒng)之間還有好多不同,我將在下一張表格里介紹它。
/dev
這個(gè)目錄下面的所有文件都是特殊文件,linux系統(tǒng)把所有的外設(shè)都看成是一個(gè)文件,就是說你對代表該外設(shè)的文件的操作就表示對該外設(shè)的操作。所以說/dev對系統(tǒng)是相當(dāng)重要的。比如你想對軟盤進(jìn)行EXT2文件系統(tǒng)的格式化,那么就要這樣做:mke2fs /dev/fd0,這里的fd0就代表軟盤驅(qū)動(dòng)器。
/lib
存放系統(tǒng)的鏈接庫文件,沒有該目錄則系統(tǒng)就無法正常運(yùn)行。我曾試著給該目錄改名,結(jié)果任何命令都無法運(yùn)行,只好用軟盤啟動(dòng)機(jī)器再安裝好文件系統(tǒng)才解決這個(gè)問題,可見其重要性。
/proc
這個(gè)目錄中的文件其實(shí)不是存放在磁盤上的,該目錄的文件系統(tǒng)叫做proc文件系統(tǒng),是系統(tǒng)內(nèi)核的映像。也就是說該目錄里面的文件是存放在系統(tǒng)內(nèi)存里面。可以通過察看這些文件來了解系統(tǒng)的運(yùn)行情況。這個(gè)目錄不要隨意動(dòng),稍有不慎就可能導(dǎo)致系統(tǒng)的鎖死。
/var
主要是一些系統(tǒng)記錄文件的存放地,同時(shí)也存放一些系統(tǒng)的配置文件。因系統(tǒng)不同而異。
/usr目錄結(jié)構(gòu):
目錄名
簡介
/usr/x11r6
主要是xwindows的目錄,下面還有子目錄的結(jié)構(gòu)大致和根目錄相同。
/usr/games
安裝時(shí)選擇的游戲都在這里。
/usr/src
主要是系統(tǒng)內(nèi)核或其他程序的源程序。
/usr/bin
和/bin一樣都是一些用戶級(jí)別的可執(zhí)行文件。
/usr/i486-linux-libc5
試linux的一些庫文件,用于編譯可執(zhí)行文件或者是程序執(zhí)行當(dāng)中的鏈接。
/usr/local
是本地目錄結(jié)構(gòu)層次,也就是后來安裝的程序盡量把自身加入到該目錄里面。該目錄也是有結(jié)構(gòu)的目錄,其子結(jié)構(gòu)的用途和作用也類似于根目錄。
/usr/tmp
是非系統(tǒng)級(jí)別的臨時(shí)文件的存放地。
/usr/include
這個(gè)目錄是存放編譯程序所包含的頭文件的主要目錄。
/usr/man
這是系統(tǒng)中的聯(lián)機(jī)手冊也就是幫助文檔的主要存放地。
/usr/doc
存放一些系統(tǒng)的說明文檔和一些HOWTO文件。
/usr/sbin
和/sbin差不多。
/usr/lib
編譯時(shí)的鏈接庫文件。
Linux系統(tǒng)設(shè)置篇
要管理好一個(gè)系統(tǒng),從某種意義上來說對系統(tǒng)文件的設(shè)置占有及其重要的地位。鑒于linux系統(tǒng)的復(fù)雜性,在這里我只對/etc目錄下的那些重要文件做一個(gè)簡單的介紹。
DIR_COLORS:
該文件指定了系統(tǒng)哪些終端可以使用彩色的模式,定義了不同文件類型在列出時(shí)的不同顏色。可以自己修改這些設(shè)置?;虬盐募截惖阶约褐髂夸浵旅娴?dir_colors,然后自己修改這個(gè)文件,以使用個(gè)人設(shè)置。
HOSTNAME:
該文件記錄了本地主機(jī)的主機(jī)名和域名,使用主機(jī)名.域名的格式,比如ttqq.tsinghua.edu.cn里面的ttqq就是主機(jī)名,而tsinghua.edu.cn則是域名。
BASHRC:
該文件定義使用bash為shell時(shí)自動(dòng)執(zhí)行的一個(gè)配置文件,其中可以放置一些需要運(yùn)行的命令和別名設(shè)置,如:
PS1="[\u@\h\w]\\$" 〔定義系統(tǒng)提示符方式〕
Alias which="type -path" 〔定義which命令為type -path的別名〕
Alias ls="ls -color" 〔定義ls命令為代-color參數(shù)的ls命令〕
Alias rm="rm -f" 〔定義rm命令為代-f參數(shù)的命令〕
CRONTAB:
該文件定義了系統(tǒng)自動(dòng)執(zhí)行的進(jìn)程。對crontab分的比較詳細(xì),分成了按小時(shí)、日、星期、月自動(dòng)執(zhí)行。
CSH.CSHRC:
該文件是使用csh作為系統(tǒng)shell時(shí)的處始化文件,就象bashrc文件對于bash一樣。
FDPRM:
該文件是系統(tǒng)配置軟盤驅(qū)動(dòng)器的參數(shù)文件,普通軟盤驅(qū)動(dòng)器的參數(shù)列表如下:
# size sec/t hds trk stre gap rate spec1 fmt_gap
360/360 720 9 2 40 0 0x2A 0x02 0xDF 0x50
1200/1200 2400 15 2 80 0 0x1B 0x00 0xDF 0x54
360/720 720 9 2 40 1 0x2A 0x02 0xDF 0x50
720/720 1440 9 2 80 0 0x2A 0x02 0xDF 0x50
720/1440 1440 9 2 80 0 0x2A 0x02 0xDF 0x50
360/1200 720 9 2 40 1 0x23 0x01 0xDF 0x50
720/1200 1440 9 2 80 0 0x23 0x01 0xDF 0x50
1440/1440 2880 18 2 80 0 0x1B 0x00 0xCF 0x6C
這里大概包括了主要軟驅(qū)的參數(shù),如果以后你有特殊的軟驅(qū),那么就可以按上面的格式寫出他的參數(shù)設(shè)置。
FSTAB:
該文件比較重要,是系統(tǒng)啟動(dòng)時(shí)自動(dòng)安裝上的文件系統(tǒng)備置表文件。下面給出一個(gè)實(shí)際文件,然后在介紹其中內(nèi)容:
/dev/hda6 / ext2 defaults 1 1
/dev/hda7 swap swap defaults 0 0
/dev/fd0 /mnt/floppy supermount fs=vfat,dev=/dev/fd0 0 0
/dev/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom,ro 0 0
/dev/hda1 /mnt/c vfat defaults 0 0
/dev/hda5 /mnt/d vfat defaults 0 0
none /proc proc defaults 0 0
可以看出來,每一行由六項(xiàng)組成,其中每一項(xiàng)的意思為:
1. 描述欲安裝文件系統(tǒng)的設(shè)備。
2. 描述安裝的目錄,也就是安裝點(diǎn)。
3. 描述安裝設(shè)備上的文件系統(tǒng)。
4. 描述安裝時(shí)的安裝方式。
5. 使dump程序?qū)υ撐募到y(tǒng)處理時(shí)的標(biāo)志位。
6. 在啟動(dòng)fsck程序?qū)ξ募到y(tǒng)進(jìn)行檢查時(shí)的標(biāo)志位。
現(xiàn)在我結(jié)合以上內(nèi)容來對這個(gè)文件進(jìn)行解釋:
第一行:將首先安裝/dev/hda6為根文件系統(tǒng),文件系統(tǒng)類型為ext2,使用默認(rèn)安裝方式。
第二行:將安裝/dev/hda7為swap分區(qū),使用swap文件系統(tǒng),參數(shù)表示是交換分區(qū),使用默認(rèn)安裝方式。
第三行:安裝/dev/fd0到/mnt/floppy,可以使用任何文件系統(tǒng),默認(rèn)安裝方式。
第四行:安裝/dev/cdrom到/mnt/cdrom,可以使用任何文件系統(tǒng),默認(rèn)安裝方式。
第五行:將/dev/hda1安裝到/mnt/c上,使用fat文件系統(tǒng),默認(rèn)安裝。
第六行:將/dev/hda5安裝到/mnt/d上,使用fat文件系統(tǒng),默認(rèn)安裝。
第七行:安裝內(nèi)核映像文件系統(tǒng)的規(guī)定寫法,安裝到/proc,使用proc文件系統(tǒng)。
這樣,你就可以根據(jù)自己的需要來任意安裝文件系統(tǒng)了。
GETTYDEFS:
該文件里面設(shè)置了tty設(shè)備的屬性,也就是虛擬控制臺(tái)一類的設(shè)備的屬性,如速度等。在這個(gè)文件里還可以更改登錄默認(rèn)提示符等。
HOSTS:
該文件是本地的一個(gè)網(wǎng)絡(luò)主機(jī)地址解析文件,相當(dāng)于windows下的那個(gè)Hosts.sam文件。功能是輸入的如果是一個(gè)域名或主機(jī)名那么首先查找這個(gè)文件進(jìn)行域名解析,如果這個(gè)文件里有對應(yīng)的ip地址,那么就使用,如果這個(gè)文件里沒有對應(yīng)的ip,那么就訪問我們的DNS服務(wù)器來進(jìn)行查找。
HOSTS.ALLOW:
定義了那些主機(jī)可以訪問網(wǎng)絡(luò)資源,其中提到的主機(jī)都可以訪問。
HOSTS.DENY:
該文件和上面的那個(gè)文件的作用正好相反,也就是定義禁止訪問網(wǎng)絡(luò)資源的主機(jī)。
ISSUE:
該文件的內(nèi)容是你在本地登錄計(jì)算機(jī)的時(shí)候,顯示在屏幕上的內(nèi)容。
ISSUE.NET:
這個(gè)文件和上面的文件意義是相同的,只不過這個(gè)文件是給那些通過網(wǎng)絡(luò)來登錄的人看的。
LILO.CONF:
這又是個(gè)比較重要的文件。他是用于lilo的配置的,下面我給出一個(gè)實(shí)際的文件來講:
boot = /dev/hda6 〔lilo程序安裝在/dev/hda6上〕
timeout = 500 〔啟動(dòng)等待選擇時(shí)間〕
prompt
vga = normal 〔顯示器設(shè)成標(biāo)準(zhǔn)vga〕
read-only
#Linux bootable partition config begins 〔開始linux啟動(dòng)配置塊〕
image=/boot/vmlinuz 〔內(nèi)核文件為/boot/vmlinuz〕
root=/dev/hda6 〔linux根文件系統(tǒng)在/dev/hda6上〕
label=linux 〔啟動(dòng)時(shí)選擇的標(biāo)示符為linux〕
read-only 〔以只讀方式安裝,以便檢查〕
#Linux bootable partition config ends 〔結(jié)束linux啟動(dòng)配置塊〕
other = /dev/hda1 〔非linux操作系統(tǒng),在/dev/hda1上〕
label = dos 〔啟動(dòng)標(biāo)示為dos〕
其實(shí)這個(gè)文件很好配置,就這樣,以后可以隨意的加入新的操作系統(tǒng)了。
PROFILE:
這個(gè)是用戶的配置文件,用戶自己的目錄下面有.profile則按照這個(gè)文件進(jìn)行用戶配置,如果沒有的話,那就用這個(gè)系統(tǒng)給用戶默認(rèn)的配置文件。
Linux答疑篇
其實(shí)linux是一個(gè)非常復(fù)雜的操作系統(tǒng),我們在用的時(shí)候一定會(huì)遇到好多的問題,現(xiàn)在我把常見的一些問題作一下整理,希望能對大家有些幫助。
1. 問:如何在linux下使用軟驅(qū)和光驅(qū)?
答:許多初學(xué)者剛剛裝完linux,當(dāng)想使用軟盤和光驅(qū)時(shí),卻不知道怎樣使用。linux并不想dos和windows這樣把磁盤表現(xiàn)為a:、c:、等等的形式。linux是用一個(gè)無所不包的目錄結(jié)構(gòu)來表現(xiàn)計(jì)算機(jī)的軟、硬件資源,如計(jì)算機(jī)的所有硬件都在"/dev/"目錄下,而"/"就是計(jì)算機(jī)的根目錄,計(jì)算機(jī)的所有資源都在"/"下。象軟盤就是"/dev/fd0","fd0"這個(gè)文件就表示軟盤。硬盤則表示為"/dev/hda"(這里假設(shè)只有一個(gè)硬盤),硬盤上的分區(qū)則表示為"hda1"、"hda5"等等這樣的形式,光驅(qū)為"/dev/cdrom"。
好了我們簡單的了解了linux對這些設(shè)備的表現(xiàn)形式,那么下面我們來解決實(shí)際的問題。linux的文件系統(tǒng)都是安裝(mount)上的,系統(tǒng)在最初啟動(dòng)時(shí)安裝好根文件系統(tǒng),那些特殊的文件系統(tǒng)需要使用者在使用時(shí)自己安裝,這個(gè)安裝就是在根文件系統(tǒng)下用一個(gè)掛裝點(diǎn)來連接上我們的特殊設(shè)備。以后對掛裝點(diǎn)的操作就等于對這個(gè)設(shè)備的操作。一般掛裝點(diǎn)都是在"/mnt"下,其中默認(rèn)的有"/mnt/cdrom"這個(gè)是光驅(qū)的掛裝點(diǎn)?quot;/mnt/floppy"是軟驅(qū)的掛裝點(diǎn),我們也可以自己建立一些掛裝點(diǎn),其實(shí)就是在"/mnt"下建立目錄,如我們可以為我們的c:盤建立一個(gè)"dosc"的掛裝點(diǎn)。當(dāng)我們確定這些東東都建立好了之后,在要使用軟驅(qū)、光驅(qū)時(shí),我們可以打入這些命令來安裝:安裝軟盤"mount /dev/fd0 /mnt/floppy"安裝光盤就"mount /dev/cdrom /mnt/cdrom"。mount就是安裝命令,平時(shí)只打入mount命令我們就會(huì)看見已經(jīng)安裝好的文件系統(tǒng)。
其實(shí)最好把常用文件系統(tǒng)寫進(jìn)fstab文件,這樣每次開機(jī)就能夠使用了。比如把windows的分區(qū)寫進(jìn)去,具體方法參考上面所介紹的系統(tǒng)設(shè)置。另外,對于光驅(qū)、軟驅(qū)用完以后可以打入umount來進(jìn)行卸載,否則會(huì)對你的文件系統(tǒng)造成極大的破壞。
2. 問:如何反安裝lilo?
答:可以用windows啟動(dòng)軟盤來啟動(dòng),再運(yùn)行fdisk/mbr就可以重寫mbr以去掉lilo。也可以在linux下運(yùn)行l(wèi)ilo -u /dev/had,其中/dev/had是你的lilo的安裝位置。
3. 問:怎樣快速調(diào)出歷史命令?
答:如果想快速調(diào)出歷史命令的話可以按上下光標(biāo)鍵,就會(huì)看到以前用過的歷史命令了。
4. 問:我想使用一個(gè)命令,但這個(gè)命令我只記得前幾位,后面的字母我忘了,怎么辦?
答:這時(shí)也是可以用的,只要打入命令的前幾位字母再按一下"TAB"鍵,系統(tǒng)就會(huì)自動(dòng)的補(bǔ)齊命令。
5. 問:怎樣快速的切換路徑呢?
答:鍵入"cd -"就可進(jìn)入上次進(jìn)入的目錄。鍵入"cd ~"就可回到自己的主目錄。
6. 問:怎樣顯示彩色的目錄和文件列表?
答:使用ls -color就可以看到彩色的目錄和文件了。如果不想每次都打的話那就要編輯/etc/bashrc這個(gè)文件,在里面加入一行:alias ls="ls -color",這樣就可以了。
7. 問:find命令查找文件的確很強(qiáng)大,但我又嫌它太麻煩,我只是想簡單的查找文件,有沒有快速的方法?
答:可以的。比如我們要查找以"s"開頭的文件,那就打入"s"后,快速的按兩下TAB鍵,就會(huì)列出所有以s開頭的文件了。
8. 問:怎樣查看已經(jīng)卷過屏幕的信息呢?
答:可以用這兩個(gè)組合鍵,很好用: "shift+pageup" 和"shift+pagedown"。他們兩個(gè)可以查看屏幕上面和下面的東西。
9. 問:怎樣啟動(dòng)一個(gè)程序立即讓它進(jìn)入后臺(tái)?
答:其實(shí)只要在程序后面打上一個(gè)"&"號(hào)就可以了。比如我們想在后臺(tái)編譯一個(gè)程序,可以打:gcc mypro.c&。
10. 問:怎樣在我退出系統(tǒng)后我的程序還能繼續(xù)執(zhí)行?
答:可以使用nohup命令。比如我們想編譯一個(gè)很大的程序,那我們可以打:nohup gcc mypro.c&。但要注意的是這個(gè)命令必須要和"&"一起使用。這時(shí)我們就可以退出系統(tǒng)(logout)了。
11. 問:怎樣安裝新的軟件?
答:如果這個(gè)軟件不是基于rpm包的話,那么就會(huì)很麻煩。具體來說要先把得到的tgz文件或tar文件解壓,具體方法見上面的命令介紹。然后參看目錄里的readme文件。一般來說要運(yùn)行make、makefile這樣的程序來編譯它,然后按提示進(jìn)行。有的軟件帶有install文件,這時(shí)就要"make install"來編譯它。總之,先看看readme會(huì)有很多的好處。
好了,這篇linux不完全手冊終于完成。相信它對你會(huì)有一定的幫助。另外由于我水平的關(guān)系,錯(cuò)誤之處在所難免,歡迎大家指教、交流。我的email:119@cool.com.cn
相關(guān)文章
Linux 入門常用命令 password — 修改密碼,改變用戶
Linux 入門常用命令 password — 修改密碼,改變用戶...2007-11-11Linux內(nèi)核模塊和驅(qū)動(dòng)的編寫
Linux內(nèi)核模塊和驅(qū)動(dòng)的編寫...2006-10-10淺談:什么是數(shù)據(jù)驅(qū)動(dòng)編程的詳解
本篇文章是對什么是數(shù)據(jù)驅(qū)動(dòng)編程進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05