


linux文件與目錄操作
與其它操作系統(tǒng)一樣,在Linux系統(tǒng)下用戶的數(shù)據(jù)和程序也是以文件的形式保存的。所以在使用Linux的過程中,是經(jīng)常要對文件與目錄進(jìn)行操作的。現(xiàn)在我們就以一個Window用戶的立場來學(xué)習(xí)一下Linux下的文件與目錄操作方法。
1. 文件名與文件類型
文件名是一個文件的標(biāo)識。從這個角度來說,文件名的規(guī)則與Windows 9x下的是基本上相同的。它同樣是由字母、數(shù)字、下劃線、圓點組成,最大的長度是255個字符。
與Windows 9x一樣,Linux系統(tǒng)中也有普通文件和目錄文件,不過目錄文件在Window中被簡稱為目錄就是了。而在Linux系統(tǒng)中有一種特殊的文件,那就是設(shè)備文件。在Linux系統(tǒng)中,把每一個I/O設(shè)置都映射成為一個文件,可以象普通文件一樣處理,這就使得文件與設(shè)備的操作盡可能統(tǒng)一。從用戶的用戶來說,對I/O設(shè)備的使用和一般文件的使用幾乎一樣,這樣就可以不必了解I/O設(shè)備的細(xì)節(jié)。
2. 目錄結(jié)構(gòu)
與Windows下一樣,在Linux中也是通過目錄來組織文件的。但不同的是,在Linux下只有一個根目錄,而不象Windows那樣一個分區(qū)一個根目錄。如果有多個分區(qū)的話,就需要將其它分區(qū)mount到根目錄上來用。
大家回憶一下當(dāng)時為Linux分區(qū)時,有一個選項要填,那就是Mount Point,我們將其中一個寫成了“/”,也就是根目錄(這點與Windows相反,一個是“\”,一個是“/”,真是天生冤家)。其它的則可能是/home、/usr。
安裝完系統(tǒng)后,你會發(fā)現(xiàn)/home、/usr就是根目錄下面的home、usr目錄!對了,整個分區(qū)就用于該目錄了。
安裝完Linux后,有許許多多的目錄,下面我們就說明一些重要的目錄:
/bin:存放著一百多個Linux下常用的命令、工具
/dev:存放著Linux下所有的設(shè)備文件!
/home:用戶主目錄,每建一個用戶,就會在這里新建一個與用戶同名的目錄,給該用戶一個自己的空間
/lost+found:顧名思義,一些丟失的文件可能可以在這里找到
/mnt:外部設(shè)備的掛接點,通常用cdrom與floppy兩個子目錄!它的存在簡化了光盤與軟盤的使用。你只需在塞入光盤后,運(yùn)行:mount /mnt/cdrom,就可以將光盤上的內(nèi)容Mount到/mnt/cdrom上,你就可以訪問了。不過你使用完成后,應(yīng)該離開該目錄,并執(zhí)行umount /mnt/cdrom。同樣的,軟盤就是mount /mnt/floppy和umount /mnt/floppy了。
/proc:這其實是一個假的目錄,通過這里你可以訪問到內(nèi)存里的內(nèi)容。
/sbin:這里存放著系統(tǒng)級的命令與工具
/usr:通常用來安裝各種軟件的地方
/usr/X11R6 X Window目錄
/usr/bin與/usr/sbin 一些后安裝的命令與工具
/usr/include、/usr/lib及/usr/share 則是存放一些共享鏈接庫
/usr/local 常用來安裝新軟件
/usr/src Linux源程序
/boot:Linux就是從這里啟動的
/etc:這里存放在Linux大部分的配置文件
/lib:靜態(tài)鏈接庫
/root:root用戶的主目錄,這就是特權(quán)之一!
/var:通常用來存放一些變化中的東西!
/var/log:存放系統(tǒng)日志
/var/spool:存放一些郵件、新聞、打印隊列等
另外,要說明的是,在Linux下“當(dāng)前目錄”、“路徑”等概念與Windows下是一樣的。
3. 顯示文件內(nèi)容
使用過DOS命令的人都應(yīng)該知道,我們可以使用type命令來查看一個文件的內(nèi)容。在Linux下有五個相關(guān)的命令,功能各有千秋,不過它們都象type命令一樣,只能用來查看文本文件。
1) cat命令
cat命令是最象type命令的,使用的方法很簡單:“cat 文件名”。不過比type命令更強(qiáng)大的是,它可以同時查看多個文件:“cat 文件名一 文件名二”。
2) more命令
如果文本文件比較長,一屏無法顯示完,那么使用cat命令就可能無法看清。這里我們可以簡單地使用more來代替cat命令即可。其效果與type 文件名/p類似。使用more命令將一次顯示一屏文本,顯示滿后,停下來,并提示出已顯示全部內(nèi)容的百分比,按空格鍵就可以看到下一屏。
3) less命令
less命令的功能幾乎和more命令一樣,也是按頁顯示文件,不同之處在于less命令在顯示文件時允許用戶既可以向前又可以向后翻閱文件。
Ø 向前翻:按b鍵;
Ø 向后翻:按p鍵;
Ø 指定位置:輸入百分比
Ø 退出:q
我經(jīng)常使用more和less,幾乎不使用cat查看文件。
4) head命令
通過head命令可以僅查看某文件的前幾行,格式為:
head 行數(shù) 文件名
如果未指定行數(shù),則使用默認(rèn)值10。
5) tail命令
與head命令相對應(yīng)的,我們可以使用tail命令來查看文件尾部的內(nèi)容。通常用來實時監(jiān)測某個文件是否被修改,通常用來觀察日志。如:
tail -f maillog
4. 編輯文件
在Red Hat Linux 7中有許多文字編輯工具,其中最常用的應(yīng)該是vi,這是一個廣泛應(yīng)用于所有UNIX系統(tǒng)的編輯器。它的使用有些特別:
首先,可以使用命令“vi 文件名”打開一個文件。
剛啟動的時候,vi處于命令狀態(tài),不能夠輸入任何字符。在這個狀態(tài)下,可以使用方向鍵進(jìn)行移動,而需要輸入內(nèi)容時,你需要輸入“i”或“a”命令進(jìn)入編輯狀態(tài)。編輯完成后,你需要按下“ESC”鍵回到命令狀態(tài)。
在命令狀態(tài)下,你可以輸入“:q!”不存盤退出,輸入“:wq”存盤退出。
5. 文件的復(fù)制、刪除與移動
大家都早已熟知在DOS下我們可以使用copy、del、move命令來實現(xiàn)文件的復(fù)制、刪除與移動。下面我們說說如何在Linux系統(tǒng)中做以上操作。
1) cp命令:文件/目錄復(fù)制命令
它的語法格式為:cp [選項] 源文件或目錄 目標(biāo)文件或目錄
常用的選項有:
Ø a 該選項常在復(fù)制目錄時使用,它保留鏈接、文件屬性,并遞歸地復(fù)制目錄,就象DOS中的xcopy /s一樣
Ø f 如果目標(biāo)文件或目錄已存在,就覆蓋它,并且不做提示
Ø i 與f選項正好相反,它在覆蓋時,會讓用戶回答“Y”來確認(rèn)
Ø p 使用該選項,復(fù)制文件時將保留修改時間和訪問權(quán)限
Ø r 若給出的源是一個目錄,那么cp將遞歸復(fù)制該目錄下所有的子目錄和文件,不過這要求目標(biāo)也是一個目錄名
另外,大家要注意的是,如果源是文件名,目標(biāo)是目錄名的話,那么使用cp命令可以指定多個源文件名。如:
$ cp a.txt b.txt /home/user1
該命令將把a(bǔ).txt和b.txt文件復(fù)制到/home/usr1目錄中。
2) rm命令:文件/目錄刪除命令
它的語法格式為:rm [選項] 文件 …
常用的選項有:
Ø f 在刪除過程中不給任何指示,直接刪除
Ø r 指示rm將參數(shù)中列出的全部目錄和子目錄都遞歸地刪除
Ø i 交互式的刪除,每個文件在刪除時都給出提示
使用rm命令時一定要小心,特別是以root用戶登錄時,我就看到過一個朋友在使用rm命令刪除/home/tmp目錄時將命令“rm -rf /home/tmp”誤輸成了 “rm -rf / home/tmp”,結(jié)果等他走回電腦面前,整個系統(tǒng)都被刪除了!
3) mv命令:文件/目錄移動命令
它的語法格式為:mv [選項] 源文件或目錄 目標(biāo)文件或目錄
常用的選項有:
Ø f 如果操作要覆蓋某已有的目標(biāo)文件時不給任何指示
Ø i 交互式的操作,如果操作要覆蓋某已有的目標(biāo)文件時會詢問用戶是否覆蓋
mv命令的執(zhí)行效果與參數(shù)類型的不同而不同!
第一參數(shù)(源) 第二個參數(shù)(目標(biāo)) 結(jié)果
文件名 文件名 將源文件名改為目標(biāo)文件名
文件名 目錄名 將文件移動到目標(biāo)目錄
目錄名 目錄名 目標(biāo)目錄已存在:源目錄移動到目標(biāo)目錄
目標(biāo)目錄不存在:改名
目錄名 文件名 出錯
6. 目錄相關(guān)操作
1) 創(chuàng)建新目錄:mkdir,它的使用與DOS下的md相同:mkdir 目錄名;
2) 刪除空目錄:rmdir,它的使用與DOS下的rd相同:rmdir 目錄名;
3) 改變目錄:cd,它的使用與DOS下的cd命令基本相同,唯一一個不同的是,不管目錄名是什么,cd與目錄名之間必須有空格,也就是:“cd/”、“cd..”、“cd.”都是非法的,而應(yīng)該輸入:“cd /”、“cd ..”、“cd .”,如果直接輸入命令“cd”,而不加任何參數(shù),將回到這個用戶的主目錄。
4) 顯示當(dāng)前目錄:pwd
5) 列目錄命令:ls,相當(dāng)于DOS下的dir
它的語法為:ls [選項] [目錄或文件]
常用的選項有:
Ø a 顯示指定目錄下所有的子目錄與文件,包括隱藏文件;
Ø c 按文件的修改時間排序
Ø l 采用長格式來顯示文件的詳細(xì)信息,每個文件一行信息,其內(nèi)容為:文件類型與權(quán)限 鏈接數(shù) 文件屬主 文件屬組 文件大小 最近修改時間 文件名
7. 文件與目錄的權(quán)限操作
在Linux系統(tǒng)中,每一個文件和目錄都有相應(yīng)的訪問許可權(quán)限,我們可以用它來確定誰可以通過何種方式對文件和目錄進(jìn)行訪問和操作。文件或目錄的訪問權(quán)限分為可讀、可寫和可執(zhí)行三種,分別以r,w,x表示,其含義為:
r w x
文件 可讀 可寫 可執(zhí)行
目錄 可列出目錄 可在目錄中做寫操作 可以訪問該目錄
在文件被創(chuàng)建時,文件所有者可以對該文件的權(quán)限進(jìn)行設(shè)置。
對于一個文件來說,可以將用戶分成三種,并對其分別賦予不同的權(quán)限:
1) 文件所有者
2) 與文件所有者同組用戶
3) 其它用戶
每一個文件或目錄的訪問權(quán)限都有三組,每組用三位表示,如:
d rwx r-x r--
第一部分:這里的d代表目錄,其它的有:- 代表普通文件 c 代表字符設(shè)備文件;
第二部分:文件所有者的權(quán)限字,這里為r w x表示可讀、可寫、可執(zhí)行 (目錄的可執(zhí)行指的可以進(jìn)入目錄);
第三部分:與文件所有者同組的用戶的權(quán)限字,這里為r - x表示可讀、不可寫、可執(zhí)行。由于同組用戶之間交流較多,讓他看看文件,別亂改就行了嘛。
第四部分:其它用戶的權(quán)限字,這里為- - -,當(dāng)然給我無關(guān)的人嘛,我的文件當(dāng)然不但不給你寫,也不讓你讀。
1) 文件/目錄權(quán)限設(shè)置命令:chmod
這是Linux系統(tǒng)管理員最常用到的命令之一,它用于改變文件或目錄的訪問權(quán)限。該命令有兩種用法:
Ø 用包含字母和操作符表達(dá)式的文字設(shè)定法
其語法格式為:chmod [who] [opt] [mode] 文件/目錄名
其中who表示對象,是以下字母中的一個或組合:
u:表示文件所有者
g:表示同組用戶
o:表示其它用戶
a:表示所有用戶
opt則是代表操作,可以為:
+:添加某個權(quán)限
-:取消某個權(quán)限
=:賦予給定的權(quán)限,并取消原有的權(quán)限
而mode則代表權(quán)限:
r:可讀
w:可寫
x:可執(zhí)行
例如:為同組用戶增加對文件a.txt的讀寫權(quán)限:
chmod g+rw a.txt
Ø 用數(shù)字設(shè)定法
而數(shù)字設(shè)定法則更為簡單:chmod [mode] 文件名
關(guān)鍵是mode的取值,一開始許多初學(xué)者會被搞糊涂,其實很簡單,我們將rwx看成二進(jìn)制數(shù),如果有則有1表示,沒有則有0表示,那么rwx r-x r--則可以表示成為:
111 101 100
再將其每三位轉(zhuǎn)換成為一個十進(jìn)制數(shù),就是754。
例如,我們想讓a.txt這個文件的權(quán)限為:
自己 同組用戶 其他用戶
可讀 是 是 是
可寫 是 是
可執(zhí)行
那么,我們先根據(jù)上表得到權(quán)限串為:rw-rw-r--,那么轉(zhuǎn)換成二進(jìn)制數(shù)就是110 110 100,再每三位轉(zhuǎn)換成為一個十進(jìn)制數(shù),就得到664,因此我們執(zhí)行命令:
chmod 664 a.txt
2) 改變文件的屬主命令:chown
語法格式很簡單:chown [選項] 用戶名 文件/目錄名
其中最常用的選項是“R”,加上這個參數(shù),可以將整個目錄里的所有子目錄和文件的屬主都改變成指定用戶。
3) 改變文件屬組命令:chgrp
該命令也很簡單:chgrp 組名 文件名
3.3 用戶管理
用戶管理,主要的工作就是建立一個合法的用戶帳戶、設(shè)置和管理用戶的密碼、修改用戶帳戶的屬性以及在必要時刪除已經(jīng)廢棄的用戶帳號。
1. 增加一個新用戶
在Linux系統(tǒng)中,只有root用戶才能夠創(chuàng)建一個新用戶,如下的命令將新建一個登錄名user1的用戶。
# useradd user1
但是,這個用戶還不能夠登錄,因為還沒給它設(shè)置初始密碼,而沒有密碼的用戶是不能夠登錄系統(tǒng)的。在默認(rèn)情況下,將會在/home目錄下新建一個與用戶名相同的用戶主目錄。如果需要另外指定用戶主目錄的話,那么可以使用如下命令:
# useradd -d /home/xf user1
同時,該用戶登錄時將獲得一個Shell程序:/bin/bash,而假如你不想讓這個用戶登錄,也就可以指定該用戶的Shell程序為:/bin/false,這樣該用戶即使登錄,也不能夠執(zhí)行Linux下的命令:
# useradd -s /bin/false user1
在Linux中,新增一個用戶的同時會創(chuàng)建一個新組,這個組與該用戶同名,而這個用戶就是該組的成員。如果你想讓新的用戶歸屬于一個已經(jīng)存在的組,則可以使用如下命令:
# useradd -g user user1
這樣該用戶就屬于user組的一員了。而如果只是想讓其再屬于一個組,那么應(yīng)該使用:
# useradd -G user user1
完成了這一操作后,你還應(yīng)該使用passwd命令為其設(shè)置一個初始密碼。
2. 刪除一個用戶
刪除用戶,只需使用一個簡單的命令“userdel 用戶名”即可。不過最好將它留在系統(tǒng)上的文件也刪除掉,你可以使用“userdel -r 用戶名”來實現(xiàn)這一目的。
3. 修改用戶屬性
在前面我們看到了在新建一個用戶的時候如何指定它的用戶主目錄,如何指定它的Shell,如何設(shè)置它所屬的組…等等。在Linux中提供了一個命令來實現(xiàn):
usermod -g組名 -G 組名 -d 用戶主目錄 -s 用戶Shell
還有一種直接的方法,那就是修改/etc/passwd文件,在這個文件中每個用戶占用一行,它的內(nèi)容為:
用戶名:密碼:用戶ID:組ID:用戶全名:用戶主目錄:用戶Shell
不過值得注意的是,密碼這一項通常是用一個*號代替的,你是看不到的。
4. 增加一個組
還記得Linux的文件可以為同組的人、非同組的人設(shè)置不同的訪問權(quán)限嗎?我們可以根據(jù)自己的需要創(chuàng)建用戶組:
groupadd 組名
5. 刪除一個組
同樣的,我們有時會需要刪除一個組,它的命令就是groupdel 組名。
6. 修改組成員
如果我們需要將一個用戶加入一個組,只需編輯/etc/group文件,將用戶名寫到組名的后面。例如將newuser用戶加入到softdevelop組,只需找到softdevelop這一行:
softdevelop:x:506:user1,user2
然后在后面加上newuser,形成:
softdevelop:x:506:user1,user2,newuser
另外,在Red Hat Linux中還提供一個圖形化的用戶管理工具:userconf,通過它可以更直接地進(jìn)行用戶管理。
3.4 進(jìn)程管理
Linux是一個多用戶多任務(wù)的操作系統(tǒng)。多用戶是指多個用戶可以在同一時間使用計算機(jī)系統(tǒng);多任務(wù)是指Linux可以同時執(zhí)行幾個任務(wù),它可以在還未執(zhí)行完一個任務(wù)時又執(zhí)行另一項任務(wù)。
在Linux系統(tǒng)上所有運(yùn)行的東西都可以稱之為一個進(jìn)程。每個用戶任務(wù)、每個系統(tǒng)管理守護(hù)進(jìn)程,都可以稱之為進(jìn)程。Linux用分時管理方法使用所有的任務(wù)共同分享系統(tǒng)資源。下面我們就看一下如何控制這些進(jìn)程。
1. 啟動進(jìn)程
在Linux系統(tǒng)中有兩種啟動進(jìn)程的方法:
1) 直接輸入命令,就將直接啟動一個進(jìn)程
Ø 在普通情況下,進(jìn)程將在前臺執(zhí)行,這時我們無法再執(zhí)行新的命令
Ø 如果我們在命令之后加上一個“&”,那行進(jìn)程將會放在后臺執(zhí)行,我們?nèi)匀豢梢詧?zhí)行新的命令
2) 通過at、cron、crontab命令可以像Windows中的計劃任務(wù)一樣定時啟動某個進(jìn)程,具體的使用方法大家可以使用man 命令名來查詢。
2. 查看進(jìn)程
在Linux系統(tǒng)中,我們可以使用ps命令來查看正在運(yùn)行的進(jìn)程例如:
列出屬于當(dāng)前用戶的進(jìn)程:
# ps
PID TTY TIME CMD
16767 pts/1 0:00 ps
18029 pts/1 0:00 bash
其中PID代表進(jìn)程ID,TTY是該進(jìn)程是由哪個控制臺啟動的,CMD則是命令。
如果你想列出更詳細(xì)的信息,則可使用命令:“ps -auxw”。
3. 終止進(jìn)程
一個進(jìn)程在任務(wù)完成之后,將會自動完成。如果要中途中止該進(jìn)程的話,有兩種方法:
1) 對于在前臺運(yùn)行的程序,直接通過組合鍵CTRL+C就可以中止進(jìn)程;
2) 而對于在后臺運(yùn)行的程序,則需要通過前面介紹的ps命令找到它的進(jìn)程號,然后使用“kill 進(jìn)程號”來終止該進(jìn)程。
3.5 磁盤管理
系統(tǒng)軟件和應(yīng)用軟件,都要以文件的形式存儲在計算機(jī)的磁盤空間中,做為系統(tǒng)管理員應(yīng)隨時監(jiān)視磁盤空間的使用情況。我們可以使用下面兩個命令來實現(xiàn):
1. df命令
df,就是Disk Free,顧名思義就是檢查磁盤上還剩下多少空間等信息。下面是一個使用實例:
# df
FileSystem 1k-blocks Used Available Use% Mounted on
/dev/hda5 4134900 1749728 2175124 45% /
/dev/hda6 6048320 5741092 0 100% /home
共顯示了6列信息:
1) FileSystem:硬盤分區(qū)
2) 1k-blocks:按K計算的分區(qū)大小
3) Used:已經(jīng)使用的分區(qū)大小(按K計算)
4) Available:還要用的分區(qū)大小
5) Use%:已使用的空間所占百分比
6) Mounted on:掛接點
可以看到/home是另一個分區(qū),現(xiàn)在空間已經(jīng)用完了!這都時當(dāng)時沒有規(guī)劃好!
如果對與以K為計算單位表示硬盤空間,那么你可以使用df -m,這樣就會以M為計算單位。
2. du命令
du,就是disk usage,就是看一下磁盤使用了多少。下面就是一個使用實例:
# pwd
/var/log
# du
4 ./uucp
776 .
在這里,我們使用du命令列出了/var/log目錄所占用的磁盤空間。它統(tǒng)計出了該目錄有一個子目錄:uucp,占用了4K,而/var/log目錄下的文件則共有776K。
該命令還有一些常用的選項,用來完成更多的功能:
Ø -a 將列出當(dāng)前目錄下所有的文件、子目錄、子目錄下的文件、子目錄下的子目錄…的磁盤占用情況
Ø -b 以字節(jié)為單位表示占用的磁盤空間
Ø -c 在最后顯示出一個統(tǒng)計值
3.6 軟件安裝
在Red Hat Linux下,應(yīng)用軟件的安裝包通常有兩種格式:
1) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux創(chuàng)造的一種包封裝格式。
2) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系統(tǒng)的打包工具tar打包的。
而且,大多數(shù)Linux應(yīng)用軟件包的命名也有一定的規(guī)律,它遵循:
名稱-版本-修正版-類型
例如:
sfotware-1.2.3-1.i386.rpm
軟件名稱:software
版本號:1.2.3
修正版本:1
可用平臺:i386,適用于Intel 80x86平臺。
類型:rpm,說明是一個rpm包。
根據(jù)Linux應(yīng)用程序軟件安裝包中的內(nèi)容不同可以分為::
1) 是可執(zhí)行文件,也就是解開包后就可以直接運(yùn)行的。在Windows中所有的軟件包都是這種類型。安裝完這個程序后,你就可以使用。不過下載時要注意這個軟件是否是你所使用的平臺,否則將無法正常安裝。
2) 另一種則是源程序,也就解開包后,你還需要使用編譯器將其編譯成為可執(zhí)行文件。這在Windows系統(tǒng)中是幾乎沒有的,因為Windows的思想是不開放源程序的。
通常,用tar打包的,都是源程序;而用rpm打包的則常是可執(zhí)行程序。
1.搞定使用rpm打包的應(yīng)用軟件
rpm可謂是Redhat公司的一大貢獻(xiàn),它使Linux的軟件安裝工作變得更加簡單容易。
1) 安裝:
我只需簡單的一句話,就可以說完。執(zhí)行:
rpm -ivh rpm軟件包名
更高級的,請見下表:
rpm參數(shù) 參數(shù)說明
-i 安裝軟件
-t 測試安裝,不是真的安裝
-p 顯示安裝進(jìn)度
-f 不管任何錯誤
-U 升級安裝
-v 檢測套件是否正確安裝
這些參數(shù)可以同時采用。更多的內(nèi)容可以參考RPM的命令幫助。
2) 卸載:
我同樣只需簡單的一句話,就可以說完。執(zhí)行:
rpm -e 軟件名
不過要注意的是,后面使用的是軟件名,而不是軟件包名。例如,要安裝software-1.2.3-1.i386.rpm這個包時,應(yīng)執(zhí)行:
rpm -ivh software-1.2.3-1.i386.rpm
而當(dāng)卸載時,則應(yīng)執(zhí)行:
rpm -e software。
2. 搞定使用tar打包的應(yīng)用軟件
1) 安裝:
整個安裝過程可以分為以下幾步:
Ø 取得應(yīng)用軟件:通過下載、購買光盤的方法獲得;
Ø 解壓縮文件:一般tar包,都會再做一次壓縮,如gzip、bz2等,所以你需要先解壓。如果是最常見的gz格式,則可以執(zhí)行:“tar -xvzf 軟件包名”,就可以一步完成解壓與解包工作。如果不是,則先用解壓軟件,再執(zhí)行“tar -xvf 解壓后的tar包”進(jìn)行解包;
Ø 閱讀附帶的INSTALL文件、README文件;
Ø 執(zhí)行“./configure”命令為編譯做好準(zhǔn)備;
Ø 執(zhí)行“make”命令進(jìn)行軟件編譯;
Ø 執(zhí)行“make install”完成安裝;
Ø 執(zhí)行“make clean”刪除安裝時產(chǎn)生的臨時文件。
好了,到此大功告成。我們就可以運(yùn)行應(yīng)用程序了。但這時,有的讀者就會問,我怎么執(zhí)行呢?這也是一個Linux特色的問題。其實,一般來說,Linux的應(yīng)用軟件的可執(zhí)行文件會存放在/usr/local/bin目錄下!不過這并不是“放四海皆準(zhǔn)”的真理,最可靠的還是看這個軟件的INSTALL和README文件,一般都會有說明。
2) 卸載:
通常軟件的開發(fā)者很少考慮到如何卸載自己的軟件,而tar又僅是完成打包的工作,所以并沒有提供良好的卸載方法。一般都提供 make uninstall 來卸載軟件的。
。
要想成為一套優(yōu)秀的操作系統(tǒng),除了性能穩(wěn)定、功能齊全之外,還應(yīng)該擁有一個友好的操作系統(tǒng),否則只會呆在研究室里,難以普及。
在UNIX系統(tǒng)下,大多都是采用X Window做為圖形界面的。1984年,麻省理工學(xué)院與DEC制定了Athena計劃,這就是X Window 第一個版本。1988年1月成立了一個非盈利性的X聯(lián)盟,負(fù)責(zé)制定X Window的標(biāo)準(zhǔn)。在Linux出現(xiàn)后,Xfree86 Project Inc.基于Linux實現(xiàn)了一個開源的X Window系統(tǒng):XFree86。
X Window與其他的圖形界面系統(tǒng)相比,有幾個特點:
Ø 良好的網(wǎng)絡(luò)支持:X Window采用了C/S網(wǎng)絡(luò)結(jié)構(gòu),程序間可以通過網(wǎng)絡(luò)來通信,而且有良好的網(wǎng)絡(luò)透明性,也就是說用戶不需知道程序在使用遠(yuǎn)端主機(jī)資源。
Ø 個性化的窗口界面:X Window并未對窗口界面作統(tǒng)一性的規(guī)范,程序員可以根據(jù)需求自行設(shè)計,其中最有名的就是后面要介紹的GNOME與KDE。
Ø 不內(nèi)嵌于操作系統(tǒng):X Window只定義了一個標(biāo)準(zhǔn),而不屬于某個操作系統(tǒng),因此可在不同的操作系統(tǒng)上運(yùn)行相同的X Window軟件。
整個X Window由三個部分組成:
Ø X Server:主要是控制輸出及輸入設(shè)備的程序,并維護(hù)相關(guān)資源,它接收輸入設(shè)備的信息,并將其傳給X Client,而將X Client傳來的信息輸出到屏幕上。所以不同的顯卡就需要選擇不同的X Server,在配置X Window時最主要的就是配置X Server
Ø X Client:它才是應(yīng)用程序的核心部分,它是與硬件無關(guān)的,每個應(yīng)用程序就是一個X Client
Ø X protocol:X Client與X Server之間的通信語言就是X protocol
為了使得X Window更加易于使用,各個不同的公司與組織都針對其做了許多集成桌面環(huán)境。如AIX上的CDE,SUN的OpenServer,而在Linux下則主要是GNOME與KDE的雙雄會。下面我們就一起來了解一下它們。
4.2 GNOME簡介
GNOME最初是由墨西哥的程序設(shè)計師Miguel De Icazq發(fā)起的,它受到了Red Hat公司的大力支持。它現(xiàn)在屬于GNU(GNU is Not UNIX)計劃的一部分,主要目的是希望能夠為用戶提供一個完整、易學(xué)易用的桌面環(huán)境,并為程序設(shè)計師提供強(qiáng)大的應(yīng)用程序開發(fā)環(huán)境。
1997年8 月,為了克服KDE所遇到的QT許可協(xié)議和單一C++依賴的困難,以墨西哥的Miguel de Icaza為首的250程序員就開始了一個新項目,完全從頭開始,這就是GNOME。經(jīng)過14個月的共同努力,終于完成了這個工程。現(xiàn)在GNOME已得到了占Linux 市場份額最大發(fā)行商Red Hat 的支持,擁有了大量應(yīng)用軟件,包括文字處理軟件Go,電子表格軟件Gnumeric,日歷程序GNOMEcal,堪與PhotoShop 媲美的圖形圖像處理軟件Gimp 等。
現(xiàn)在GNOME與KDE成為了兩大競爭陣營,必將使得Linux更加易于使用。
GNOME中還提供了大量的應(yīng)用軟件,它們都放在GNOME的“開始”(一個小腳丫)à Programs中,包括了許許多多的應(yīng)用軟件,下面就是其中的一些:
1. Applications:應(yīng)用軟件
1) Dia:一個工程圖編輯器,適用于繪制電路圖;
2) Calendar:一個集日歷與日程表于一身的好工具;
3) Address Book:一個通訊錄
4) GEdit:一個功能類似于Windows下的記事本的文本編輯器;
5) Gnumeric:Linux下的一個類似于EXCEL的電子表格軟件;
6) Time tracking tools:一個用于提醒時間的小工具;
2. Games:游戲軟件
1) Gnome Milnes:GNOME下的掃雷;
2) Gnibbles:貪吃蛇游戲;
3) Freecell:Windows下的空當(dāng)接龍游戲;
3. Graphics:圖形處理軟件
1) Electric Eyes:一個十分優(yōu)秀的圖形處理軟件,可謂GNOME下的AcdSee呀!
2) XPDF:一個在Linux閱讀PDF文檔的工具;
3) The Gimp:一個十分優(yōu)秀的繪圖軟件,與Photoshop很象!
4. Internet:Internet應(yīng)用軟件
1) Dialup Configuration Tool:一個界面十分友好的拔號上網(wǎng)設(shè)置工具;
2) gFTP:一個FTP客戶端
3) pine:一個E-Mail客戶端軟件
4) Netscape :大名鼎鼎的瀏覽器軟件,被微軟從Windows平臺擠下來的
5) RH Network monitor:網(wǎng)絡(luò)流量顯示
5. Multimedia:多媒體軟件
1) Audio Mixer:聲音控制器
2) CD Player:CD播放器
3) XMMS:與Winamp是一個模子里出來的
4.3 KDE簡介
KDE項目在1996年10月發(fā)起的,其目的是在X-Window上建立一個完整易用的桌面環(huán)境。KDE現(xiàn)在除了擁有KFM(類似于IE4.0)、KPresenter(類似PowerPoint)、KIllustrator(類似CorelDraw或 Illustrator)等重量級軟件,還有體貼用戶的GUI配置軟件可以幫助用戶配置Unix/Linux,使其深受使用者歡迎。
但由于KDE是基于由TrollTech公司開發(fā)的Qt程序庫的,所以也受到了許多批評。雖然Qt本身作為一基于C++的跨平臺開發(fā)工具是非常優(yōu)秀,但可惜的是它不是自由軟件。Qt的License允許任何人使用Qt編寫免費軟件及免費拷貝給其他用戶使用,但如果利用Qt編寫非免費軟件則需要購買他們的License。更重要的是任何人都不可以隨意修改Qt源代碼。如果TrollTech公司更改Qt License、公司倒閉或給人收購等都會令KDE前功盡棄。
在KDE中,也有許許多的應(yīng)用軟件,它們被分組放在“開始”(一個K字)菜單中,說實在的,我感覺KDE的軟件應(yīng)用比GNOME更多,圖形界面也更好。
1. Office:辦公軟件
這就是大名鼎鼎的Koffice套件。
1) Kword:字處理軟件
2) Kspread:象Excel的電子表格處理軟件
3) Kpresenter:一個類似于PowerPoint的演示軟件
4) Kchart:一個電子圖表軟件
5) Kiiiustrator:一個電子出版軟件
2. Develop:開發(fā)工具
1) Kdevelop:一個KDE下的集成開發(fā)環(huán)境
3. Applications:應(yīng)用軟件
1) Advanced Editor:一個增強(qiáng)型的文本編輯軟件
2) Emacs:這是一個功能強(qiáng)大的編輯軟件,在GNOME中也有,它的原形是字符終端下的Emacs
3) Organizer:一個日程安排軟件
4. Internet:Internet軟件
1) Kppp:一個十分友好的拔號上網(wǎng)配置工具
2) Kmail:一個十分漂亮的Email 客戶端,有點象Outlook!
3) Chat Client:一個IRC客戶端
4) KPPPLoad:一個網(wǎng)絡(luò)流量工具
5) Netscape:大名鼎鼎的WEB瀏覽器,在GNOME中也有集成
4.4 使用窗口管理器
Red Hat Linux 7.1默認(rèn)安裝后,X Window將使用GNOME做為窗口管理器,除非你在安裝時將GNOME去掉,而選擇了KDE包。通常我們可以將這兩個包都安裝上,到使用的時候再選擇。
1) 在字符終端下執(zhí)行以下命令,則以后X Window的窗口管理器都成了KDE:
#tchdesk KDE
2) 如果你又不想使用KDE了,則可以使用以下命令轉(zhuǎn)回GNOME:
#tchdesk GNOME
4.5 漢化Red Hat Linux 7.1
1.安裝 TrueType 字體
要在系統(tǒng)里使用中文TrueType字體,最好先禁用xfs字體服務(wù)器, xfs在啟動時會自動更新字體目錄下的fonts.dir文件,這樣會影響到我們所作的修改。
以root身份登陸,然后執(zhí)行setup工具,在Service中關(guān)閉xfs。
1)修改XF86Config-4 配置文件
進(jìn)入/etc/X11目錄,用vi編輯XF86Config-4文件,如下進(jìn)行相應(yīng)的修改:
Section "Files"
# FontPath "unix/:7100" 注釋掉這一行,加入下面的幾行
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/X11r6/lib/X11/fonts/TrueType"
EndSection
Section "Module"
Load "dbe" # Double-buffering
Load "GLcore" # OpenGL support
Load "dri" # Direct rendering infrastructure
Load "glx" # OpenGL X protocol interface
Load "extmod" # Misc. required extensions
Load "v4l" # Video4Linux
Load "xtt" 加入這一行
EndSection
2)獲取字體文件simsun.ttf
新建一個目錄:/usr/X11R6/lib/X11/fonts/TrueType ,然后將Windows所在的分區(qū)mount上來,然后將simsum.ttf復(fù)制到該目錄。
3)生成字體列表
cd /usr/X11R6/lib/X11/fonts/TrueType
# ttmkfdir>fonts.dir
# vi fonts.dir 修改字體列表文件,使其與下面類似
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-koi8-r
#cp fonts.dir fonts.scale
4)修改 gtk 的字體定義
# vi /etc/gtk/gtkrc.zh_CN
修改后的內(nèi)容如下:
style "gtk-default-zh-cn" {
fontset = "-misc-SimSun-medium-r-normal--14-*-*-*-*-*-*-*"
}
class "GtkWidget" style "gtk-default-zh-cn"
2.安裝中文輸入法Chinput 3.0.1
1)首先下載以下幾個軟件包:
Chinput-3.0.1-1.i386.rpm
pth-1.3.7-3.i386.rpm
unicon2-im.tar.gz
2)然后安裝:
# rpm -ivh pth-1.3.7-3.i386.rpm
# rpm -ivh Chinput-3.0.1-1.i386.rpm --nodeps
# cp unicon2-im.tar.gz /usr/lib
# cd /usr/lib
# tar vfxz unicon2-im.tar.gz
# rm unicon2-im.tar.gz
# ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++-libc6.1-2.so.3
3)修改Chinput的一些配置
# cd /usr/lib/ZWinPro
# vi Chinput.ad 修改以下幾個地方
...
chinput.gblocale=zh_CN.gb2312
chinput.big5locale=zh_CN.gb2312
...
chinput.gbfont=-misc-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0
chinput.big5font=-misc-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0
...
(注意:在這個文件里不能出現(xiàn)空格,只能用 Tab 代替)
4)修改~/.bashrc文件,新增以下幾行:
export LC_ALL=zh_CN.GB2312
export LANG=zh_CN.GB2312
export XMODIFIERS=@im=Chinput
3.漢化 GNOME
重啟后,執(zhí)行startx時,你在GNOME中就可以顯示中文了。緊接著,你可以通過在Program->設(shè)定->Session->Startup Programs里面把chinput加入啟動運(yùn)行程序里面就完成了 GNOME的中文環(huán)境和輸入法的安裝了。
4.漢化 KDE
如果是KDE系統(tǒng),則打開 Preferences->Personalization->Country & Language,選擇中文,再打開 Look & Feel->Fonts,選擇相應(yīng)的字體,并把字符集改成gb2312.1980-0。最后再打開桌面上的 Autostart 目錄,新建一個應(yīng)用程序( Chinput )的連接,以后每次啟動后就可以使用中文輸入法了.
第5章:網(wǎng)絡(luò)應(yīng)用
5.1 常用網(wǎng)絡(luò)命令
在Red Hat Linux 7.1系統(tǒng)提供了與網(wǎng)絡(luò)相關(guān)的工具,掌握好這些工具是十分必要的:
第一類:設(shè)置工具
1.netconf:
netconf是Red Hat Linux提供的Linuxconf的一部分,主要用于設(shè)置與網(wǎng)絡(luò)相關(guān)的參數(shù)。它可以在consle下運(yùn)行(文本菜單),也可以在X-Window中運(yùn)行(圖形界面)。在前面,我們介紹過了netconf的一些應(yīng)用,它的使用比較簡單,只要認(rèn)識上面的英文就可以了,所以在此就不再多說。BTW,如果你設(shè)置好了X-Window的話,用用圖形界面的netconf,會更漂亮的喲。
2.ifconfig
ifconfig是Linux系統(tǒng)中最常用的一個用來顯示和設(shè)置網(wǎng)絡(luò)設(shè)備的工具。其中“if”是“interface”的縮寫。它可以用來設(shè)備網(wǎng)卡的狀態(tài),或是顯示當(dāng)前的設(shè)置。
下面我們簡單地說明常用的命令組合:
1) 將第一塊網(wǎng)卡的IP地址設(shè)置為192.168.0.1:
ifconfig eth0 192.168.0.1 (格式:ifconfig 網(wǎng)絡(luò)設(shè)備名 IP地址)
2) 暫時關(guān)閉或啟用網(wǎng)卡:
關(guān)閉第一塊網(wǎng)卡:ifconfig eth0 down
啟用第一塊網(wǎng)卡:ifconfig eth0 up
3) 將第一塊網(wǎng)卡的子網(wǎng)掩碼設(shè)置為255.255.255.0:
ifconfig eth0 netmask 255.255.255.0(格式:ifconfig 網(wǎng)絡(luò)設(shè)備名 netmask 子網(wǎng)掩碼)
我們也可以同時設(shè)置IP地址和子網(wǎng)掩碼:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
4) 將第一塊網(wǎng)卡的廣播地址設(shè)置為192.168.0.255:
ifconfig eth0 -broadcast 192.168.0.255
5) 將第一塊網(wǎng)卡設(shè)置為不接收多播數(shù)據(jù)包:
ifconifg eth0 allmulti
如果要讓其接收,則使用命令:ifconfig eth0 -allmulti
6) 查看第一塊網(wǎng)卡的狀態(tài):
ifconfig eth0
如果要查看所有的網(wǎng)卡狀態(tài),則直接使用不帶參數(shù)的ifconfig命令即可。
ifconfig輸出的狀態(tài)信息是十分有用的,下面,我們就簡單說明一下:
有幾個狀態(tài)比較重要:
Ø UP/DOWN:網(wǎng)卡是否啟動了,如果是DOWN的話,那肯定無法用的;
Ø RX packets中的errors包的數(shù)量如果過大說明網(wǎng)卡在接收時有問題;
Ø TX packets中的errors包的數(shù)量如果過大說明網(wǎng)卡在發(fā)送時有問題;
3.route
route命令是用來查看和設(shè)置Linux系統(tǒng)的路由信息,以實現(xiàn)與其它網(wǎng)絡(luò)的通訊。要實現(xiàn)兩個不同的子網(wǎng)之間的網(wǎng)絡(luò)通訊,需要一臺連接兩個網(wǎng)絡(luò)路由器或者同時位于兩個網(wǎng)絡(luò)的網(wǎng)關(guān)來實現(xiàn)。
在Linux系統(tǒng)中,我們通常設(shè)置路由是為了解決以下問題:該Linux機(jī)器在一個局域網(wǎng)中,局域網(wǎng)中有一個網(wǎng)關(guān),能夠讓你的機(jī)器訪問Internet,那么我們就需要將這臺機(jī)器的IP地址設(shè)置為Linux機(jī)器的默認(rèn)路由。
1) 增加一個默認(rèn)路由:
route add 0.0.0.0 gw 網(wǎng)關(guān)地址
2) 刪除一個默認(rèn)路由:
route del 0.0.0.0 gw 網(wǎng)關(guān)地址
3) 顯示出當(dāng)前路由表
route
第二類:診斷工具
1.ping
ping是一個最常用的檢測是否能夠與遠(yuǎn)端機(jī)器建立網(wǎng)絡(luò)通訊連接。它是通過Internet控制報文協(xié)議ICMP來實現(xiàn)的。而現(xiàn)在有些主機(jī)對ICMP進(jìn)行過濾,在這種特殊的情況下,有可能使得一些主機(jī)Ping不通,但能夠建立網(wǎng)絡(luò)連接。這是一種特例,在此事先說明。
同樣的,在此不羅列ping命令的所有可選參數(shù),而是通過實例來說明一些常用的組合,需要更詳細(xì)地了解的,可以通過www.linuxaid.com.cn網(wǎng)站在線培訓(xùn)的命令查詢工具獲得。
1) 檢測與某機(jī)器的連接是否正常:
ping 192.168.0.1
pingwww.linuxaid.com.cn
也就是說,我們可以用IP地址或域名來指定機(jī)器。
2) 指定ping回應(yīng)次數(shù)為4:
在Linux下,如果你不指定回應(yīng)次數(shù),ping命令將一直不斷地向遠(yuǎn)方機(jī)器發(fā)送ICMP信息。我們可以通過-c參數(shù)來限定:ping -c 4 192.168.0.1
3) 通過特定的網(wǎng)卡進(jìn)行ping:
有時,我們需要檢測某塊網(wǎng)卡(系統(tǒng)中有多塊)能否ping通遠(yuǎn)方機(jī)器。我們需要在執(zhí)行ping命令時指出:
ping -I eth0 192.168.0.1
2.traceroute
如果你ping不通遠(yuǎn)方的機(jī)器,想知道是在什么地方出的問題;或者你想知道你的信息到遠(yuǎn)方機(jī)器都經(jīng)過了哪些路由器,可以使用traceroute命令。顧名思義:trace是跟蹤,route是路由,也就是跟蹤路由。
使用這個命令很簡單:
traceroute 遠(yuǎn)程主機(jī)IP地址或域名
這個命令的輸出類似:
1 路由器(網(wǎng)關(guān))的IP地址 訪問所需時間1 訪問所需時間2 訪問所需時間3
2 路由器(網(wǎng)關(guān))的IP地址 訪問所需時間1 訪問所需時間2 訪問所需時間3
………
1) 最前面的數(shù)字代表“經(jīng)過第幾站”;
2) 路由器(網(wǎng)關(guān))的IP地址就是“該站”的IP地址;
3) 訪問所需時間1、2、3是指訪問到這個路由器(網(wǎng)關(guān))需要的時間。
3.netstat
在Linux系統(tǒng)中,提供了一個功能十分強(qiáng)大的查看網(wǎng)絡(luò)狀態(tài)的工具:netstat。它可以讓您得知整個Linux系統(tǒng)的網(wǎng)絡(luò)情況。
1)統(tǒng)計出各網(wǎng)絡(luò)設(shè)備傳送、接收數(shù)據(jù)包的情況:
使用命令:netstat -i
這個命令將輸出一張表,其中包括:
Iface:網(wǎng)絡(luò)接口名 MTU:最大傳輸單元
RX-OK:共成功接收多少個包 RX-ERR:接收的包中共有多少個錯誤包
RX-DRP:接收時共丟失多少個包 RX-OVR:共接收了多少個碰撞包
TX-OK:共成功發(fā)送多少個包 TX-ERR:發(fā)送的包中共有多少個錯誤包
TX-DRP:發(fā)磅時共丟失多少個包 TX-OVR:共接收了多少個碰撞包
2)顯示網(wǎng)絡(luò)的統(tǒng)計信息
使用命令:netstat -s
使用這個命令,將會以摘要的形式統(tǒng)計出IP、ICMP、TCP、UDP、TCPEXT形式的通信信息。
3)顯示出TCP傳輸協(xié)議的網(wǎng)絡(luò)連接情況:
使用命令:netstat -t
這個命令的輸出也是一張表,其中包括:
Local Address:本地地址,格式是IP地址:端口號
Foreign Address:遠(yuǎn)程地址,格式也是IP地址:端口號
State:連接狀態(tài),包括LISTEN、ESTABLISHED、TIME_WAIT等。
4)只顯示出使用UDP的網(wǎng)絡(luò)連接情況:
使用命令:netstat -t
輸出格式也是一樣的。
5)顯示路由表:
使用命令:netstat -r
這個命令的輸出與route命令的輸出相同。
5.2 網(wǎng)絡(luò)配置文件
在Red Hat Linux 7.1中有一些用于存放網(wǎng)絡(luò)配置的文件:
1./etc/hosts
在該文件中存放的是一組IP地址與主機(jī)名的列表,如果在該列表中指出某臺主機(jī)的IP地址,那么訪問該主機(jī)時將無需進(jìn)行DNS解析。
2./etc/host.conf
該文件用來指定域名解析方法的順序,如:
order hosts,bind
它說明,首先通過/etc/hosts文件解析,如果在該文件中沒有相應(yīng)的主機(jī)名與IP地址的對應(yīng)關(guān)系,再通過域名服務(wù)器bind進(jìn)行解析。
3./etc/resolv.conf
在該文件中存放域名服務(wù)器的IP地址。
4./etc/protocols
Red Hat Linux 7.1系統(tǒng)使用該文件辨別本主機(jī)使用的,并通過它完成協(xié)議和協(xié)議號之間的映射,用戶不應(yīng)修改該文件。
5./etc/services
該用戶用于定義現(xiàn)有的網(wǎng)絡(luò)服務(wù),用戶無需修改它,它通常由安裝網(wǎng)絡(luò)服務(wù)的程序來維護(hù)。該文件包括網(wǎng)絡(luò)服務(wù)名、網(wǎng)絡(luò)端口號和使用的協(xié)議類型,其中網(wǎng)絡(luò)端口號和使用的協(xié)議類型之間有一個斜杠分開,在設(shè)置行的最后還可以添加一些服務(wù)的別名。
5./etc/xinetd.d目錄
在Linux系統(tǒng)中有一個超級服務(wù)程序inetd,大部分的網(wǎng)絡(luò)服務(wù)都是由它啟動的,如chargen、echo、finger、talk、telnet、wu-ftpd等…,在7.0之間的版本它的設(shè)置是在/etc/inetd.conf中配置的,在Red Hat 7.0后,它就改成了一個xinetd.d目錄。
在xinetd.d目錄中,每一個服務(wù)都有一個相應(yīng)的配置文件,我們以telnet為例,說明一下各個配置行的含義:
service telnet
{
socket_type=stream
wait=no
user=root
server=/usr/sbin/in.telnetd
log_on_failure+=USERID
disable=yes
}
第一行,說明該配置用來設(shè)置telnet服務(wù)。
第二行,說明Socket連接類型是stream,也就是TCP
第三行,是指不等待到啟動完成
第四行,是指以root用戶啟動服務(wù)進(jìn)程
第五行,是指服務(wù)進(jìn)程是/usr/sbin/in.telnetd
第六行,是用于做一些出錯日志
第七行,是指禁止遠(yuǎn)方telnet,如果需要開放則將該配置改為:disable=no
修改了xinetd的配置,需要重啟xinetd才能夠生效,有兩種方法可以實現(xiàn):
1) 執(zhí)行如下命令:
/etc/rc.d/init.d/xinetd restart
2) 執(zhí)行如下命令:
killall -HUP xinetd
5.3 網(wǎng)絡(luò)服務(wù)訪問限制
在Red Hat Linux 7.1中加強(qiáng)了網(wǎng)絡(luò)安全的防范,如果你安裝時安全等級不是在最低一級的話,那么本機(jī)之外的所有訪問都可能被拒絕。這是因為在Red Hat 7.1中做了一些默認(rèn)的ipchains設(shè)置,這是Linux內(nèi)置的防火墻機(jī)制,它可以使用一些規(guī)則來允許或禁止某種訪問。
它的規(guī)則存放在/etc/sysconfig/ipchains文件中,如果你想讓它暫時不生效,那你可以運(yùn)行/etc/rc.d/init.d/ipchains stop,那么所有的規(guī)則都被取消,所有的網(wǎng)絡(luò)訪問都將被允許。
你可以運(yùn)行/etc/rc.d/init.d/ipchains status來獲知現(xiàn)在對網(wǎng)絡(luò)訪問的限制。關(guān)于這方面的知識,本文限于篇幅無法詳細(xì)介紹,有興趣的讀者可參考《Linux防火墻》一書。
5.4 WEB服務(wù)器
在Linux系統(tǒng)中最適合于做服務(wù)器的當(dāng)數(shù)Apache,Red Hat Linux 7.1中集成了Apache 1.3.19版,你只要在安裝時選中WEB服務(wù)器,那么系統(tǒng)將自動完成Apache服務(wù)器的安裝,在默認(rèn)情況,WWW服務(wù)就已經(jīng)啟動了。
如果你在安裝時沒有選擇WEB服務(wù)器包,那也沒有關(guān)系,你只需執(zhí)行以下命令即可:
1) 將Red Hat Linux 7.1安裝光盤的第一張放入光驅(qū),然后執(zhí)行如下命令:
# mount /mnt/cdrom
2) 轉(zhuǎn)到apache安裝文件所在目錄:
# cd /mnt/cdrom/RedHat/RPMS
3) 使用RPM完成安裝:
# rpm -ivh apache-1.3.19-5.i386.rpm
現(xiàn)在,你就已經(jīng)擁有一個基于Linux的WEB服務(wù)器了,它的配置文件位于/etc/httpd/conf目錄下,你可根據(jù)需要進(jìn)行相應(yīng)的修改,修改完后執(zhí)行:/etc/rc.d/init.d/httpd restart即可。而WEB服務(wù)的主目錄則在/var/www/html目錄下,你可以將你的WEB頁傳到這里就可以更新了。
而如果每一個用戶都想要擁有一個自己的主頁的話,則:
1) 首先在自己的用戶主目錄下建一個public_html目錄:
# cd
# mkdir public_html
2) 然后將自己的用戶主目錄的權(quán)限改為大家可讀
# chmod 755 用戶主目錄
3) 這樣你就可以使用“l(fā)ocalhost/~用戶名/”訪問到每個用戶的主頁了。
5.5 FTP服務(wù)器
在Red Hat Linux 7.1中集成了Wu-FTP 2.6.1做為FTP服務(wù)器,在你安裝時只要選擇了FTP包的話,那么你的Linux服務(wù)器就是一臺FTP服務(wù)器了,如果當(dāng)時沒有安裝的話,也沒有關(guān)系,跟安裝apache一樣:
1) 將Red Hat Linux 7.1安裝光盤的第一張放入光驅(qū),然后執(zhí)行如下命令:
# mount /mnt/cdrom
2)轉(zhuǎn)到wu-ftp安裝文件所在目錄:
# cd /mnt/cdrom/RedHat/RPMS
3)使用RPM完成安裝:
# rpm -ivh wu-ftp-2.6.1-16.i386.rpm
由于FTP服務(wù)是由xinetd超級服務(wù)器創(chuàng)建的,所以關(guān)于FTP服務(wù)器的配置在/etc/xinetd.d目錄下的wu-ftpd文件中:
service ftp
{
socket_type=stream
wait=no
user=root
server=/usr/sbin/in.ftpd
server_args=-l -a
log_on_success+=DURATION USERID
log_on_failure+=USERID
nice=10
disable=no
}
下面,我們介紹一些關(guān)于FTP服務(wù)器的管理方法:
1、 暫時關(guān)閉FTP服務(wù)
有兩種方法可以使FTP服務(wù)暫停:
1) 以root用戶身份執(zhí)行:
# ftpshut now
這樣就會在/etc目錄下生成一個shutmsg的文件,這時FTP服務(wù)器將無法使用,直到你刪掉這個文件。
2) 修改配置文件/etc/xinetd.d/wu-ftpd,將disable=no改為disable=yes,然后重啟xinetd。
2、 禁止某用戶使用FTP服務(wù)
有兩種方法可以禁止某用戶使用FTP服務(wù)器:
1) 在/etc/ftpuser中寫入該用戶帳號名
2) 在/etc/ftpaccess中寫入一行配置:
deny-uid 用戶名
用這種方法還可以禁止一個組的用戶使用
deny-gid 組名
3、 禁止匿名用戶(anonymous)登錄FTP服務(wù)器
有許多種方法可以實現(xiàn),但我覺得最簡單有效的方法就是將anonymous寫入配置文件:/etc/ftpuser中,就可了。
5.6 文件服務(wù)器
我們還可以使用Red Hat Linux 7.1內(nèi)置的Samba為局域網(wǎng)內(nèi)的Windows主機(jī)做文件服務(wù)器。如果在安裝系統(tǒng)時選擇了SMB服務(wù)器軟件包的話,那么安裝完以后,Samba服務(wù)就已經(jīng)Ready了。
不過為了方便配置,建議安裝一下swat,它提供了一個WEB界面的配置工具。它的安裝包是第二張光盤的/RedHat/RPMS/samba-swat-2.0.7-36.i386.rpm。
安裝完以后,它會在xinetd.d目錄中新建一個swat文件,其內(nèi)容為:
service swat
{
port=901
socket_type=stream
wait=no
only_from=127.0.0.1
server=/usr/sbin/swat
log_on_failure+=USERID
disable=yes
}
我們看到disable的值是yes,也就是說,現(xiàn)在swat還沒有啟用,因此,我們需要將其改為disable=no,然后重啟xinted。另外,由于這里有一句:
only_from=127.0.0.1
說明只能在本機(jī)使用swat,而如果你想在Windows中用IE來配置的話,請將這句注釋掉或刪掉。
下面,我們以設(shè)置一個大家都可以訪問的homes目錄為例,說明SWAT的設(shè)置方法:
1) 打開IE瀏覽器,在地址欄上輸入Linux的主機(jī)名或IP以及“:901”,例如:
2) 如果連接正常,將出一個登錄提示窗,要求輸入用戶名與密碼,在此以root為用戶名,并輸入root用戶的密碼,再單擊確定;
3) 如果輸入無誤,將出現(xiàn)Samba的配置界面:Swat的首頁;
我們可以看到在Swat界面中,最上面有7個圖標(biāo),分別是:HOME(首頁)、GLOBALS(全局設(shè)置)、SHARES(共享設(shè)置)、PRINTERS(打印機(jī))、STATUS(狀態(tài))、VIEW(查看)、PASSWORD(密碼)
4) 首先,我們單擊GLOBALS圖標(biāo),將出現(xiàn)GLOBALS設(shè)置頁面,其中我們對以下幾項進(jìn)行設(shè)置:
Ø BaseOption à Workgroup:在些輸入工作組名(如NetBIOS中的工作組名)
Ø BaseOption à Netbios name:主機(jī)名
Ø SecurityOption à Security:選擇安全等級,在些選擇“SHARE”
Ø SecurityOption à hosts allow:允許的主機(jī),通常寫入你的網(wǎng)絡(luò)號,如192.168.0.
Ø SecurityOption à hosts deny:如果你不讓某臺機(jī)器使用,則寫入它的IP地址
修改完后,點擊“Commit Changes”按鈕(在7個圖標(biāo)的下邊一些),保存設(shè)置。
5) 然后,單擊SHARES圖標(biāo),進(jìn)行共享設(shè)置:
第一步:在Create Share按鈕的右邊文本框中輸入要設(shè)置的共享名
第二步:單擊“Create Share”按鈕;
第三步:確認(rèn)“BaseOptions à Path的值為你想共享的目錄,例如/home/smb/test(注意這必須是已經(jīng)存在的目錄);
第四步:將“SecurityOptions à writeable”的值設(shè)置為Yes,使該目錄共享為可寫;
第五步:將“SecurityOptions à guest ok”的值設(shè)置為Yes,使該目錄無需密碼訪問;
第六步:在“SecurityOptionsàhosts allow、hosts deny”中設(shè)置相應(yīng)的主機(jī)IP;
第七步:將“BrowseOptionsàbrowseable”設(shè)置為Yes,使其便于使用
最后,點擊“Commit Changes”按鈕,保存設(shè)置。
現(xiàn)在,我們就可以在Windows 9x上通過網(wǎng)絡(luò)鄰居訪問到這臺Samba服務(wù)器,并且有一個可讀、可寫的共享目錄。
在平時使用的時間,系統(tǒng)管理員可以點擊“STATUS”按鈕,切換到狀態(tài)頁面對其進(jìn)行監(jiān)測,在這個頁面上,你可以:
1) 啟動(Start smbd按鈕)、停止Samba(Stop Smbd按鈕)服務(wù),以及重啟服務(wù)(Restart smbd按鈕);
2) 另外,你可以看到當(dāng)前與Samba服務(wù)器建立的連接(Active Connections),并且可以按下“X”按鈕,中止它的訪問;
3) 同時你還可以檢測到正在訪問的文件夾(Active Shares),正打開的文件(Open Files)。
關(guān)鍵字:linux、文件、目錄
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解