linux入門教程 第3章 rh使用指南
更新時(shí)間:2006年10月24日 00:00:00 作者:
第3章:Red Hat Linux 7.1使用基礎(chǔ)
3.1 登錄和退出系統(tǒng)
1. 啟動(dòng)系統(tǒng)
通常LILO是安裝在MBR上的,計(jì)算機(jī)啟動(dòng)后,MBR上的程序被執(zhí)行,將出現(xiàn)一個(gè)不是很漂亮的圖形:左邊是一個(gè)小紅帽圖像,右邊列出了可以啟動(dòng)的操作系統(tǒng),你可以使用鍵盤箭頭切換。剛安裝好后默認(rèn)值是Linux,也就是你不選擇,一會(huì)兒將自己?jiǎn)?dòng)Linux。
如果你想默認(rèn)的選擇是Windows的話,那你可以在啟動(dòng)Linux后,用vi修改/etc目錄下的lilo.conf文件,加上default=windows,然后再執(zhí)行/sbin/lilo重新生成LILO。
2. 用戶登錄
Linux是一個(gè)真正意義上的多用戶操作系統(tǒng),用戶要使用該系統(tǒng),首先必須登錄,使用完系統(tǒng)后,必須退出。用戶登錄系統(tǒng)時(shí),為了使系統(tǒng)能夠識(shí)別該用戶,必須輸入用戶名和密碼,經(jīng)系統(tǒng)驗(yàn)證無誤后才可以登錄系統(tǒng)使用。
Linux下有兩種用戶:
1) root用戶:超級(jí)權(quán)限者,系統(tǒng)的擁有者,在Linux系統(tǒng)中有且只有一個(gè)root用戶,它可以在系統(tǒng)中任何操作。在系統(tǒng)安裝時(shí)所設(shè)定的密碼就是root用戶的密碼。
2) 普通用戶:Linux系統(tǒng)可以創(chuàng)建許多普通用戶,并為其指定相應(yīng)的權(quán)限,使其有限地使用Linux系統(tǒng)。
關(guān)于用戶的管理,我們將在后面詳細(xì)說明。
用戶登錄分兩步進(jìn)行:
1) 輸入用戶的登錄名,系統(tǒng)根據(jù)該登錄名來識(shí)別用戶;
2) 輸入用戶的口令,該口令是用戶自己選擇的一個(gè)字符串,對(duì)其他用戶完全保密,是登錄系統(tǒng)時(shí)識(shí)別用戶的唯一根據(jù),因此每一個(gè)用戶都應(yīng)該保護(hù)好自己的口令!
系統(tǒng)在建立之初,僅有root用戶,其它的用戶則是由root用戶創(chuàng)建的。由于root用戶的權(quán)限太大了,所以如果root用戶誤操作將可能造成很大的損失。所以建議系統(tǒng)管理員為自已新建一個(gè)用戶,只有需要做系統(tǒng)維護(hù)、管理任務(wù)時(shí)才以root用戶登錄。
下面就是一個(gè)登錄實(shí)例:(其中黑體字為輸入)
Red Hat Linux release 7.1 (Seawolf)
Kernerl 2.4.2-2 on an i686
Home login:root
Password:
在上面的例子中,我們發(fā)現(xiàn)在Password后面是空的,其實(shí)并不是不輸入密碼,而是在輸入時(shí),Linux系統(tǒng)不會(huì)把它顯示出來,這樣用來保護(hù)密碼!
如果登錄成功的話,我們將獲得Shell(Shell是用來與用戶交互的程序,它就象DOS中的COMMAND.COM,不過在Linux下可以有多種Shell供選擇,如bash、csh、ksh等)提示符,如果以root用戶登錄的話,那么獲得的提示符是“#”,否則將是“$”。
提示:如果當(dāng)時(shí)在安裝時(shí)設(shè)置為一啟動(dòng)就進(jìn)入圖形界面的話,那系統(tǒng)啟動(dòng)后,用戶登錄界面將是圖形化的,有點(diǎn)象Windows,而且當(dāng)你輸入正確的用戶名與密碼,就會(huì)直接進(jìn)入X Window。這個(gè)設(shè)置是可以修改的:
在/etc目錄下有一個(gè)inittab文件,其中有一行配置:
id:3:default
其中,數(shù)字3就是代表一啟動(dòng)進(jìn)入字符終端,如果改為5則代表一啟動(dòng)進(jìn)入X Window。
3. 修改口令
為了更好地保護(hù)用戶帳號(hào)的安全,Linux允許用戶在登錄之后隨時(shí)使用passwd命令修改自己的口令。修改口令需要經(jīng)歷:
1) 輸入原來的口令,如果口令輸錯(cuò),將中止程序,無法修改口令;
2) 輸入新的口令;
3) 提示重復(fù)一遍新的口令,如果兩次輸入的口令相吻合,則口令修改成功。
需要注意的是,Red Hat Linux 7.1為了更好地保護(hù)口令,如果你輸入的新口令過于簡(jiǎn)單,它將會(huì)拒絕修改。下面就是一個(gè)修改口令的實(shí)例:(其中黑體字為輸入)
$ passwd
Changing password for user1
(current) UNIX password: ß 在些輸入原來的密碼
New UNIX password: ß 輸入新的密碼
Retype new UNIX password: ß 再輸入一遍新的密碼
Passwd:all authentication tokens updated successfully ß 修改成功!
注意,在這里輸入的口令同樣不會(huì)顯示出來。
而如果是root用戶修改口令,則不需要輸入老密碼!也就是說,它可以修改任何用戶的口令。
4. 退出登錄
不論你是root用戶還是普通用戶,只需簡(jiǎn)單地執(zhí)行exit命令就可以退出登錄。
5. 關(guān)閉機(jī)器
在Linux系統(tǒng)中,普通用戶是無權(quán)關(guān)閉系統(tǒng)的!只有root用戶才能夠關(guān)閉它。當(dāng)然如果你是按關(guān)機(jī)按鈕則別當(dāng)別論。我們可以通過以下幾種方法實(shí)現(xiàn):
1) 按下CTRL+ALT+DEL組合鍵,這樣系統(tǒng)將重新啟動(dòng)!
2) 執(zhí)行reboot命令,這樣系統(tǒng)也將重新啟動(dòng)!
3) 執(zhí)行shutdown -h now命令,這樣系統(tǒng)將關(guān)閉計(jì)算機(jī)!
4) 執(zhí)行halt命令,可以關(guān)閉計(jì)算機(jī)。
注意千萬(wàn)不要隨意采用硬關(guān)機(jī)、重啟動(dòng)鍵等方式關(guān)閉系統(tǒng),那樣會(huì)導(dǎo)致Linux文件系統(tǒng)遭受破壞!
6. 虛擬控制臺(tái)
Linux是真正的多用戶操作系統(tǒng),可以同時(shí)接受多個(gè)用戶的遠(yuǎn)程和本地登錄,也允許同一個(gè)用戶多次登錄。Linux為本地用戶(也就是做在計(jì)算機(jī)面前的用戶)提供了虛擬控制臺(tái)訪問方式,允許用戶在同一時(shí)間從不同的控制臺(tái)進(jìn)行多次登錄。
虛擬控制臺(tái)的選擇可以通過按ALT鍵加上F1-F6六個(gè)功能鍵來實(shí)現(xiàn)。例如,用戶登錄后,按一下ALT+F2組合鍵,用戶又可以看到“l(fā)ogin:”提示符,這其實(shí)就是第二個(gè)虛擬控制臺(tái),而這時(shí)再按下ALT+F1組合鍵,用戶則又可以回到第一個(gè)虛擬控制臺(tái)。
大家可以通過使用虛擬控制臺(tái)來感受Linux系統(tǒng)多用戶的特性。例如用戶可以在某一虛擬控制臺(tái)上進(jìn)行的工作尚未結(jié)束時(shí),就可以切換到另一個(gè)虛擬控制臺(tái)上開始另一項(xiàng)工作。例如在開發(fā)軟件時(shí),可以在一個(gè)控制臺(tái)上編輯程序,在另一個(gè)控制臺(tái)上進(jìn)行編譯,在第三個(gè)控制臺(tái)上查閱信息。
3.2 文件與目錄操作
與其它操作系統(tǒng)一樣,在Linux系統(tǒng)下用戶的數(shù)據(jù)和程序也是以文件的形式保存的。所以在使用Linux的過程中,是經(jīng)常要對(duì)文件與目錄進(jìn)行操作的?,F(xiàn)在我們就以一個(gè)Window用戶的立場(chǎng)來學(xué)習(xí)一下Linux下的文件與目錄操作方法。
1. 文件名與文件類型
文件名是一個(gè)文件的標(biāo)識(shí)。從這個(gè)角度來說,文件名的規(guī)則與Windows 9x下的是基本上相同的。它同樣是由字母、數(shù)字、下劃線、圓點(diǎn)組成,最大的長(zhǎng)度是255個(gè)字符。
與Windows 9x一樣,Linux系統(tǒng)中也有普通文件和目錄文件,不過目錄文件在Window中被簡(jiǎn)稱為目錄就是了。而在Linux系統(tǒng)中有一種特殊的文件,那就是設(shè)備文件。在Linux系統(tǒng)中,把每一個(gè)I/O設(shè)置都映射成為一個(gè)文件,可以象普通文件一樣處理,這就使得文件與設(shè)備的操作盡可能統(tǒng)一。從用戶的用戶來說,對(duì)I/O設(shè)備的使用和一般文件的使用幾乎一樣,這樣就可以不必了解I/O設(shè)備的細(xì)節(jié)。
2. 目錄結(jié)構(gòu)
與Windows下一樣,在Linux中也是通過目錄來組織文件的。但不同的是,在Linux下只有一個(gè)根目錄,而不象Windows那樣一個(gè)分區(qū)一個(gè)根目錄。如果有多個(gè)分區(qū)的話,就需要將其它分區(qū)mount到根目錄上來用。
大家回憶一下當(dāng)時(shí)為L(zhǎng)inux分區(qū)時(shí),有一個(gè)選項(xiàng)要填,那就是Mount Point,我們將其中一個(gè)寫成了“/”,也就是根目錄(這點(diǎn)與Windows相反,一個(gè)是“\”,一個(gè)是“/”,真是天生冤家)。其它的則可能是/home、/usr。
安裝完系統(tǒng)后,你會(huì)發(fā)現(xiàn)/home、/usr就是根目錄下面的home、usr目錄!對(duì)了,整個(gè)分區(qū)就用于該目錄了。
安裝完Linux后,有許許多多的目錄,下面我們就說明一些重要的目錄:
/bin:存放著一百多個(gè)Linux下常用的命令、工具
/dev:存放著Linux下所有的設(shè)備文件!
/home:用戶主目錄,每建一個(gè)用戶,就會(huì)在這里新建一個(gè)與用戶同名的目錄,給該用戶一個(gè)自己的空間
/lost+found:顧名思義,一些丟失的文件可能可以在這里找到
/mnt:外部設(shè)備的掛接點(diǎn),通常用cdrom與floppy兩個(gè)子目錄!它的存在簡(jiǎn)化了光盤與軟盤的使用。你只需在塞入光盤后,運(yùn)行:mount /mnt/cdrom,就可以將光盤上的內(nèi)容Mount到/mnt/cdrom上,你就可以訪問了。不過你使用完成后,應(yīng)該離開該目錄,并執(zhí)行umount /mnt/cdrom。同樣的,軟盤就是mount /mnt/floppy和umount /mnt/floppy了。
/proc:這其實(shí)是一個(gè)假的目錄,通過這里你可以訪問到內(nèi)存里的內(nèi)容。
/sbin:這里存放著系統(tǒng)級(jí)的命令與工具
/usr:通常用來安裝各種軟件的地方
/usr/X11R6 X Window目錄
/usr/bin與/usr/sbin 一些后安裝的命令與工具
/usr/include、/usr/lib及/usr/share 則是存放一些共享鏈接庫(kù)
/usr/local 常用來安裝新軟件
/usr/src Linux源程序
/boot:Linux就是從這里啟動(dòng)的
/etc:這里存放在Linux大部分的配置文件
/lib:靜態(tài)鏈接庫(kù)
/root:root用戶的主目錄,這就是特權(quán)之一!
/var:通常用來存放一些變化中的東西!
/var/log:存放系統(tǒng)日志
/var/spool:存放一些郵件、新聞、打印隊(duì)列等
另外,要說明的是,在Linux下“當(dāng)前目錄”、“路徑”等概念與Windows下是一樣的。
3. 顯示文件內(nèi)容
使用過DOS命令的人都應(yīng)該知道,我們可以使用type命令來查看一個(gè)文件的內(nèi)容。在Linux下有五個(gè)相關(guān)的命令,功能各有千秋,不過它們都象type命令一樣,只能用來查看文本文件。
1) cat命令
cat命令是最象type命令的,使用的方法很簡(jiǎn)單:“cat 文件名”。不過比type命令更強(qiáng)大的是,它可以同時(shí)查看多個(gè)文件:“cat 文件名一 文件名二”。
2) more命令
如果文本文件比較長(zhǎng),一屏無法顯示完,那么使用cat命令就可能無法看清。這里我們可以簡(jiǎn)單地使用more來代替cat命令即可。其效果與type 文件名/p類似。使用more命令將一次顯示一屏文本,顯示滿后,停下來,并提示出已顯示全部?jī)?nèi)容的百分比,按空格鍵就可以看到下一屏。
3) less命令
less命令的功能幾乎和more命令一樣,也是按頁(yè)顯示文件,不同之處在于less命令在顯示文件時(shí)允許用戶既可以向前又可以向后翻閱文件。
Ø 向前翻:按b鍵;
Ø 向后翻:按p鍵;
Ø 指定位置:輸入百分比
Ø 退出:q
我經(jīng)常使用more和less,幾乎不使用cat查看文件。
4) head命令
通過head命令可以僅查看某文件的前幾行,格式為:
head 行數(shù) 文件名
如果未指定行數(shù),則使用默認(rèn)值10。
5) tail命令
與head命令相對(duì)應(yīng)的,我們可以使用tail命令來查看文件尾部的內(nèi)容。通常用來實(shí)時(shí)監(jiān)測(cè)某個(gè)文件是否被修改,通常用來觀察日志。如:
tail -f maillog
4. 編輯文件
在Red Hat Linux 7中有許多文字編輯工具,其中最常用的應(yīng)該是vi,這是一個(gè)廣泛應(yīng)用于所有UNIX系統(tǒng)的編輯器。它的使用有些特別:
首先,可以使用命令“vi 文件名”打開一個(gè)文件。
剛啟動(dòng)的時(shí)候,vi處于命令狀態(tài),不能夠輸入任何字符。在這個(gè)狀態(tài)下,可以使用方向鍵進(jìn)行移動(dòng),而需要輸入內(nèi)容時(shí),你需要輸入“i”或“a”命令進(jìn)入編輯狀態(tài)。編輯完成后,你需要按下“ESC”鍵回到命令狀態(tài)。
在命令狀態(tài)下,你可以輸入“:q!”不存盤退出,輸入“:wq”存盤退出。
5. 文件的復(fù)制、刪除與移動(dòng)
大家都早已熟知在DOS下我們可以使用copy、del、move命令來實(shí)現(xiàn)文件的復(fù)制、刪除與移動(dòng)。下面我們說說如何在Linux系統(tǒng)中做以上操作。
1) cp命令:文件/目錄復(fù)制命令
它的語(yǔ)法格式為:cp [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
常用的選項(xiàng)有:
Ø a 該選項(xiàng)常在復(fù)制目錄時(shí)使用,它保留鏈接、文件屬性,并遞歸地復(fù)制目錄,就象DOS中的xcopy /s一樣
Ø f 如果目標(biāo)文件或目錄已存在,就覆蓋它,并且不做提示
Ø i 與f選項(xiàng)正好相反,它在覆蓋時(shí),會(huì)讓用戶回答“Y”來確認(rèn)
Ø p 使用該選項(xiàng),復(fù)制文件時(shí)將保留修改時(shí)間和訪問權(quán)限
Ø r 若給出的源是一個(gè)目錄,那么cp將遞歸復(fù)制該目錄下所有的子目錄和文件,不過這要求目標(biāo)也是一個(gè)目錄名
另外,大家要注意的是,如果源是文件名,目標(biāo)是目錄名的話,那么使用cp命令可以指定多個(gè)源文件名。如:
$ cp a.txt b.txt /home/user1
該命令將把a(bǔ).txt和b.txt文件復(fù)制到/home/usr1目錄中。
2) rm命令:文件/目錄刪除命令
它的語(yǔ)法格式為:rm [選項(xiàng)] 文件 …
常用的選項(xiàng)有:
Ø f 在刪除過程中不給任何指示,直接刪除
Ø r 指示rm將參數(shù)中列出的全部目錄和子目錄都遞歸地刪除
Ø i 交互式的刪除,每個(gè)文件在刪除時(shí)都給出提示
使用rm命令時(shí)一定要小心,特別是以root用戶登錄時(shí),我就看到過一個(gè)朋友在使用rm命令刪除/home/tmp目錄時(shí)將命令“rm -rf /home/tmp”誤輸成了 “rm -rf / home/tmp”,結(jié)果等他走回電腦面前,整個(gè)系統(tǒng)都被刪除了!
3) mv命令:文件/目錄移動(dòng)命令
它的語(yǔ)法格式為:mv [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
常用的選項(xiàng)有:
Ø f 如果操作要覆蓋某已有的目標(biāo)文件時(shí)不給任何指示
Ø i 交互式的操作,如果操作要覆蓋某已有的目標(biāo)文件時(shí)會(huì)詢問用戶是否覆蓋
mv命令的執(zhí)行效果與參數(shù)類型的不同而不同!
第一參數(shù)(源) 第二個(gè)參數(shù)(目標(biāo)) 結(jié)果
文件名 文件名 將源文件名改為目標(biāo)文件名
文件名 目錄名 將文件移動(dòng)到目標(biāo)目錄
目錄名 目錄名 目標(biāo)目錄已存在:源目錄移動(dòng)到目標(biāo)目錄
目標(biāo)目錄不存在:改名
目錄名 文件名 出錯(cuò)
6. 目錄相關(guān)操作
1) 創(chuàng)建新目錄:mkdir,它的使用與DOS下的md相同:mkdir 目錄名;
2) 刪除空目錄:rmdir,它的使用與DOS下的rd相同:rmdir 目錄名;
3) 改變目錄:cd,它的使用與DOS下的cd命令基本相同,唯一一個(gè)不同的是,不管目錄名是什么,cd與目錄名之間必須有空格,也就是:“cd/”、“cd..”、“cd.”都是非法的,而應(yīng)該輸入:“cd /”、“cd ..”、“cd .”,如果直接輸入命令“cd”,而不加任何參數(shù),將回到這個(gè)用戶的主目錄。
4) 顯示當(dāng)前目錄:pwd
5) 列目錄命令:ls,相當(dāng)于DOS下的dir
它的語(yǔ)法為:ls [選項(xiàng)] [目錄或文件]
常用的選項(xiàng)有:
Ø a 顯示指定目錄下所有的子目錄與文件,包括隱藏文件;
Ø c 按文件的修改時(shí)間排序
Ø l 采用長(zhǎng)格式來顯示文件的詳細(xì)信息,每個(gè)文件一行信息,其內(nèi)容為:文件類型與權(quán)限 鏈接數(shù) 文件屬主 文件屬組 文件大小 最近修改時(shí)間 文件名
7. 文件與目錄的權(quán)限操作
在Linux系統(tǒng)中,每一個(gè)文件和目錄都有相應(yīng)的訪問許可權(quán)限,我們可以用它來確定誰(shuí)可以通過何種方式對(duì)文件和目錄進(jìn)行訪問和操作。文件或目錄的訪問權(quán)限分為可讀、可寫和可執(zhí)行三種,分別以r,w,x表示,其含義為:
r w x
文件 可讀 可寫 可執(zhí)行
目錄 可列出目錄 可在目錄中做寫操作 可以訪問該目錄
在文件被創(chuàng)建時(shí),文件所有者可以對(duì)該文件的權(quán)限進(jìn)行設(shè)置。
對(duì)于一個(gè)文件來說,可以將用戶分成三種,并對(duì)其分別賦予不同的權(quán)限:
1) 文件所有者
2) 與文件所有者同組用戶
3) 其它用戶
每一個(gè)文件或目錄的訪問權(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è)定法
其語(yǔ)法格式為:chmod [who] [opt] [mode] 文件/目錄名
其中who表示對(duì)象,是以下字母中的一個(gè)或組合:
u:表示文件所有者
g:表示同組用戶
o:表示其它用戶
a:表示所有用戶
opt則是代表操作,可以為:
+:添加某個(gè)權(quán)限
-:取消某個(gè)權(quán)限
=:賦予給定的權(quán)限,并取消原有的權(quán)限
而mode則代表權(quán)限:
r:可讀
w:可寫
x:可執(zhí)行
例如:為同組用戶增加對(duì)文件a.txt的讀寫權(quán)限:
chmod g+rw a.txt
Ø 用數(shù)字設(shè)定法
而數(shù)字設(shè)定法則更為簡(jiǎn)單:chmod [mode] 文件名
關(guān)鍵是mode的取值,一開始許多初學(xué)者會(huì)被搞糊涂,其實(shí)很簡(jiǎn)單,我們將rwx看成二進(jìn)制數(shù),如果有則有1表示,沒有則有0表示,那么rwx r-x r--則可以表示成為:
111 101 100
再將其每三位轉(zhuǎn)換成為一個(gè)十進(jìn)制數(shù),就是754。
例如,我們想讓a.txt這個(gè)文件的權(quán)限為:
自己 同組用戶 其他用戶
可讀 是 是 是
可寫 是 是
可執(zhí)行
那么,我們先根據(jù)上表得到權(quán)限串為:rw-rw-r--,那么轉(zhuǎn)換成二進(jìn)制數(shù)就是110 110 100,再每三位轉(zhuǎn)換成為一個(gè)十進(jìn)制數(shù),就得到664,因此我們執(zhí)行命令:
chmod 664 a.txt
2) 改變文件的屬主命令:chown
語(yǔ)法格式很簡(jiǎn)單:chown [選項(xiàng)] 用戶名 文件/目錄名
其中最常用的選項(xiàng)是“R”,加上這個(gè)參數(shù),可以將整個(gè)目錄里的所有子目錄和文件的屬主都改變成指定用戶。
3) 改變文件屬組命令:chgrp
該命令也很簡(jiǎn)單:chgrp 組名 文件名
3.3 用戶管理
用戶管理,主要的工作就是建立一個(gè)合法的用戶帳戶、設(shè)置和管理用戶的密碼、修改用戶帳戶的屬性以及在必要時(shí)刪除已經(jīng)廢棄的用戶帳號(hào)。
1. 增加一個(gè)新用戶
在Linux系統(tǒng)中,只有root用戶才能夠創(chuàng)建一個(gè)新用戶,如下的命令將新建一個(gè)登錄名user1的用戶。
# useradd user1
但是,這個(gè)用戶還不能夠登錄,因?yàn)檫€沒給它設(shè)置初始密碼,而沒有密碼的用戶是不能夠登錄系統(tǒng)的。在默認(rèn)情況下,將會(huì)在/home目錄下新建一個(gè)與用戶名相同的用戶主目錄。如果需要另外指定用戶主目錄的話,那么可以使用如下命令:
# useradd -d /home/xf user1
同時(shí),該用戶登錄時(shí)將獲得一個(gè)Shell程序:/bin/bash,而假如你不想讓這個(gè)用戶登錄,也就可以指定該用戶的Shell程序?yàn)椋?bin/false,這樣該用戶即使登錄,也不能夠執(zhí)行Linux下的命令:
# useradd -s /bin/false user1
在Linux中,新增一個(gè)用戶的同時(shí)會(huì)創(chuàng)建一個(gè)新組,這個(gè)組與該用戶同名,而這個(gè)用戶就是該組的成員。如果你想讓新的用戶歸屬于一個(gè)已經(jīng)存在的組,則可以使用如下命令:
# useradd -g user user1
這樣該用戶就屬于user組的一員了。而如果只是想讓其再屬于一個(gè)組,那么應(yīng)該使用:
# useradd -G user user1
完成了這一操作后,你還應(yīng)該使用passwd命令為其設(shè)置一個(gè)初始密碼。
2. 刪除一個(gè)用戶
刪除用戶,只需使用一個(gè)簡(jiǎn)單的命令“userdel 用戶名”即可。不過最好將它留在系統(tǒng)上的文件也刪除掉,你可以使用“userdel -r 用戶名”來實(shí)現(xiàn)這一目的。
3. 修改用戶屬性
在前面我們看到了在新建一個(gè)用戶的時(shí)候如何指定它的用戶主目錄,如何指定它的Shell,如何設(shè)置它所屬的組…等等。在Linux中提供了一個(gè)命令來實(shí)現(xiàn):
usermod -g組名 -G 組名 -d 用戶主目錄 -s 用戶Shell
還有一種直接的方法,那就是修改/etc/passwd文件,在這個(gè)文件中每個(gè)用戶占用一行,它的內(nèi)容為:
用戶名:密碼:用戶ID:組ID:用戶全名:用戶主目錄:用戶Shell
不過值得注意的是,密碼這一項(xiàng)通常是用一個(gè)*號(hào)代替的,你是看不到的。
4. 增加一個(gè)組
還記得Linux的文件可以為同組的人、非同組的人設(shè)置不同的訪問權(quán)限嗎?我們可以根據(jù)自己的需要?jiǎng)?chuàng)建用戶組:
groupadd 組名
5. 刪除一個(gè)組
同樣的,我們有時(shí)會(huì)需要?jiǎng)h除一個(gè)組,它的命令就是groupdel 組名。
6. 修改組成員
如果我們需要將一個(gè)用戶加入一個(gè)組,只需編輯/etc/group文件,將用戶名寫到組名的后面。例如將newuser用戶加入到softdevelop組,只需找到softdevelop這一行:
softdevelop:x:506:user1,user2
然后在后面加上newuser,形成:
softdevelop:x:506:user1,user2,newuser
另外,在Red Hat Linux中還提供一個(gè)圖形化的用戶管理工具:userconf,通過它可以更直接地進(jìn)行用戶管理。
3.4 進(jìn)程管理
Linux是一個(gè)多用戶多任務(wù)的操作系統(tǒng)。多用戶是指多個(gè)用戶可以在同一時(shí)間使用計(jì)算機(jī)系統(tǒng);多任務(wù)是指Linux可以同時(shí)執(zhí)行幾個(gè)任務(wù),它可以在還未執(zhí)行完一個(gè)任務(wù)時(shí)又執(zhí)行另一項(xiàng)任務(wù)。
在Linux系統(tǒng)上所有運(yùn)行的東西都可以稱之為一個(gè)進(jìn)程。每個(gè)用戶任務(wù)、每個(gè)系統(tǒng)管理守護(hù)進(jìn)程,都可以稱之為進(jìn)程。Linux用分時(shí)管理方法使用所有的任務(wù)共同分享系統(tǒng)資源。下面我們就看一下如何控制這些進(jìn)程。
1. 啟動(dòng)進(jìn)程
在Linux系統(tǒng)中有兩種啟動(dòng)進(jìn)程的方法:
1) 直接輸入命令,就將直接啟動(dòng)一個(gè)進(jìn)程
Ø 在普通情況下,進(jìn)程將在前臺(tái)執(zhí)行,這時(shí)我們無法再執(zhí)行新的命令
Ø 如果我們?cè)诿钪蠹由弦粋€(gè)“&”,那行進(jìn)程將會(huì)放在后臺(tái)執(zhí)行,我們?nèi)匀豢梢詧?zhí)行新的命令
2) 通過at、cron、crontab命令可以像Windows中的計(jì)劃任務(wù)一樣定時(shí)啟動(dòng)某個(gè)進(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)程是由哪個(gè)控制臺(tái)啟動(dòng)的,CMD則是命令。
如果你想列出更詳細(xì)的信息,則可使用命令:“ps -auxw”。
3. 終止進(jìn)程
一個(gè)進(jìn)程在任務(wù)完成之后,將會(huì)自動(dòng)完成。如果要中途中止該進(jìn)程的話,有兩種方法:
1) 對(duì)于在前臺(tái)運(yùn)行的程序,直接通過組合鍵CTRL+C就可以中止進(jìn)程;
2) 而對(duì)于在后臺(tái)運(yùn)行的程序,則需要通過前面介紹的ps命令找到它的進(jìn)程號(hào),然后使用“kill 進(jìn)程號(hào)”來終止該進(jìn)程。
3.5 磁盤管理
系統(tǒng)軟件和應(yīng)用軟件,都要以文件的形式存儲(chǔ)在計(jì)算機(jī)的磁盤空間中,做為系統(tǒng)管理員應(yīng)隨時(shí)監(jiān)視磁盤空間的使用情況。我們可以使用下面兩個(gè)命令來實(shí)現(xiàn):
1. df命令
df,就是Disk Free,顧名思義就是檢查磁盤上還剩下多少空間等信息。下面是一個(gè)使用實(shí)例:
# 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計(jì)算的分區(qū)大小
3) Used:已經(jīng)使用的分區(qū)大?。ò碖計(jì)算)
4) Available:還要用的分區(qū)大小
5) Use%:已使用的空間所占百分比
6) Mounted on:掛接點(diǎn)
可以看到/home是另一個(gè)分區(qū),現(xiàn)在空間已經(jīng)用完了!這都時(shí)當(dāng)時(shí)沒有規(guī)劃好!
如果對(duì)與以K為計(jì)算單位表示硬盤空間,那么你可以使用df -m,這樣就會(huì)以M為計(jì)算單位。
2. du命令
du,就是disk usage,就是看一下磁盤使用了多少。下面就是一個(gè)使用實(shí)例:
# pwd
/var/log
# du
4 ./uucp
776 .
在這里,我們使用du命令列出了/var/log目錄所占用的磁盤空間。它統(tǒng)計(jì)出了該目錄有一個(gè)子目錄:uucp,占用了4K,而/var/log目錄下的文件則共有776K。
該命令還有一些常用的選項(xiàng),用來完成更多的功能:
Ø -a 將列出當(dāng)前目錄下所有的文件、子目錄、子目錄下的文件、子目錄下的子目錄…的磁盤占用情況
Ø -b 以字節(jié)為單位表示占用的磁盤空間
Ø -c 在最后顯示出一個(gè)統(tǒng)計(jì)值
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
版本號(hào):1.2.3
修正版本:1
可用平臺(tái):i386,適用于Intel 80x86平臺(tái)。
類型:rpm,說明是一個(gè)rpm包。
根據(jù)Linux應(yīng)用程序軟件安裝包中的內(nèi)容不同可以分為::
1) 是可執(zhí)行文件,也就是解開包后就可以直接運(yùn)行的。在Windows中所有的軟件包都是這種類型。安裝完這個(gè)程序后,你就可以使用。不過下載時(shí)要注意這個(gè)軟件是否是你所使用的平臺(tái),否則將無法正常安裝。
2) 另一種則是源程序,也就解開包后,你還需要使用編譯器將其編譯成為可執(zhí)行文件。這在Windows系統(tǒng)中是幾乎沒有的,因?yàn)閃indows的思想是不開放源程序的。
通常,用tar打包的,都是源程序;而用rpm打包的則常是可執(zhí)行程序。
1.搞定使用rpm打包的應(yīng)用軟件
rpm可謂是Redhat公司的一大貢獻(xiàn),它使Linux的軟件安裝工作變得更加簡(jiǎn)單容易。
1) 安裝:
我只需簡(jiǎn)單的一句話,就可以說完。執(zhí)行:
rpm -ivh rpm軟件包名
更高級(jí)的,請(qǐng)見下表:
rpm參數(shù) 參數(shù)說明
-i 安裝軟件
-t 測(cè)試安裝,不是真的安裝
-p 顯示安裝進(jìn)度
-f 不管任何錯(cuò)誤
-U 升級(jí)安裝
-v 檢測(cè)套件是否正確安裝
這些參數(shù)可以同時(shí)采用。更多的內(nèi)容可以參考RPM的命令幫助。
2) 卸載:
我同樣只需簡(jiǎn)單的一句話,就可以說完。執(zhí)行:
rpm -e 軟件名
不過要注意的是,后面使用的是軟件名,而不是軟件包名。例如,要安裝software-1.2.3-1.i386.rpm這個(gè)包時(shí),應(yīng)執(zhí)行:
rpm -ivh software-1.2.3-1.i386.rpm
而當(dāng)卸載時(shí),則應(yīng)執(zhí)行:
rpm -e software。
2. 搞定使用tar打包的應(yīng)用軟件
1) 安裝:
整個(gè)安裝過程可以分為以下幾步:
Ø 取得應(yīng)用軟件:通過下載、購(gòu)買光盤的方法獲得;
Ø 解壓縮文件:一般tar包,都會(huì)再做一次壓縮,如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”刪除安裝時(shí)產(chǎn)生的臨時(shí)文件。
好了,到此大功告成。我們就可以運(yùn)行應(yīng)用程序了。但這時(shí),有的讀者就會(huì)問,我怎么執(zhí)行呢?這也是一個(gè)Linux特色的問題。其實(shí),一般來說,Linux的應(yīng)用軟件的可執(zhí)行文件會(huì)存放在/usr/local/bin目錄下!不過這并不是“放四海皆準(zhǔn)”的真理,最可靠的還是看這個(gè)軟件的INSTALL和README文件,一般都會(huì)有說明。
2) 卸載:
通常軟件的開發(fā)者很少考慮到如何卸載自己的軟件,而tar又僅是完成打包的工作,所以并沒有提供良好的卸載方法。一般都提供 make uninstall 來卸載軟件的。
3.1 登錄和退出系統(tǒng)
1. 啟動(dòng)系統(tǒng)
通常LILO是安裝在MBR上的,計(jì)算機(jī)啟動(dòng)后,MBR上的程序被執(zhí)行,將出現(xiàn)一個(gè)不是很漂亮的圖形:左邊是一個(gè)小紅帽圖像,右邊列出了可以啟動(dòng)的操作系統(tǒng),你可以使用鍵盤箭頭切換。剛安裝好后默認(rèn)值是Linux,也就是你不選擇,一會(huì)兒將自己?jiǎn)?dòng)Linux。
如果你想默認(rèn)的選擇是Windows的話,那你可以在啟動(dòng)Linux后,用vi修改/etc目錄下的lilo.conf文件,加上default=windows,然后再執(zhí)行/sbin/lilo重新生成LILO。
2. 用戶登錄
Linux是一個(gè)真正意義上的多用戶操作系統(tǒng),用戶要使用該系統(tǒng),首先必須登錄,使用完系統(tǒng)后,必須退出。用戶登錄系統(tǒng)時(shí),為了使系統(tǒng)能夠識(shí)別該用戶,必須輸入用戶名和密碼,經(jīng)系統(tǒng)驗(yàn)證無誤后才可以登錄系統(tǒng)使用。
Linux下有兩種用戶:
1) root用戶:超級(jí)權(quán)限者,系統(tǒng)的擁有者,在Linux系統(tǒng)中有且只有一個(gè)root用戶,它可以在系統(tǒng)中任何操作。在系統(tǒng)安裝時(shí)所設(shè)定的密碼就是root用戶的密碼。
2) 普通用戶:Linux系統(tǒng)可以創(chuàng)建許多普通用戶,并為其指定相應(yīng)的權(quán)限,使其有限地使用Linux系統(tǒng)。
關(guān)于用戶的管理,我們將在后面詳細(xì)說明。
用戶登錄分兩步進(jìn)行:
1) 輸入用戶的登錄名,系統(tǒng)根據(jù)該登錄名來識(shí)別用戶;
2) 輸入用戶的口令,該口令是用戶自己選擇的一個(gè)字符串,對(duì)其他用戶完全保密,是登錄系統(tǒng)時(shí)識(shí)別用戶的唯一根據(jù),因此每一個(gè)用戶都應(yīng)該保護(hù)好自己的口令!
系統(tǒng)在建立之初,僅有root用戶,其它的用戶則是由root用戶創(chuàng)建的。由于root用戶的權(quán)限太大了,所以如果root用戶誤操作將可能造成很大的損失。所以建議系統(tǒng)管理員為自已新建一個(gè)用戶,只有需要做系統(tǒng)維護(hù)、管理任務(wù)時(shí)才以root用戶登錄。
下面就是一個(gè)登錄實(shí)例:(其中黑體字為輸入)
Red Hat Linux release 7.1 (Seawolf)
Kernerl 2.4.2-2 on an i686
Home login:root
Password:
在上面的例子中,我們發(fā)現(xiàn)在Password后面是空的,其實(shí)并不是不輸入密碼,而是在輸入時(shí),Linux系統(tǒng)不會(huì)把它顯示出來,這樣用來保護(hù)密碼!
如果登錄成功的話,我們將獲得Shell(Shell是用來與用戶交互的程序,它就象DOS中的COMMAND.COM,不過在Linux下可以有多種Shell供選擇,如bash、csh、ksh等)提示符,如果以root用戶登錄的話,那么獲得的提示符是“#”,否則將是“$”。
提示:如果當(dāng)時(shí)在安裝時(shí)設(shè)置為一啟動(dòng)就進(jìn)入圖形界面的話,那系統(tǒng)啟動(dòng)后,用戶登錄界面將是圖形化的,有點(diǎn)象Windows,而且當(dāng)你輸入正確的用戶名與密碼,就會(huì)直接進(jìn)入X Window。這個(gè)設(shè)置是可以修改的:
在/etc目錄下有一個(gè)inittab文件,其中有一行配置:
id:3:default
其中,數(shù)字3就是代表一啟動(dòng)進(jìn)入字符終端,如果改為5則代表一啟動(dòng)進(jìn)入X Window。
3. 修改口令
為了更好地保護(hù)用戶帳號(hào)的安全,Linux允許用戶在登錄之后隨時(shí)使用passwd命令修改自己的口令。修改口令需要經(jīng)歷:
1) 輸入原來的口令,如果口令輸錯(cuò),將中止程序,無法修改口令;
2) 輸入新的口令;
3) 提示重復(fù)一遍新的口令,如果兩次輸入的口令相吻合,則口令修改成功。
需要注意的是,Red Hat Linux 7.1為了更好地保護(hù)口令,如果你輸入的新口令過于簡(jiǎn)單,它將會(huì)拒絕修改。下面就是一個(gè)修改口令的實(shí)例:(其中黑體字為輸入)
$ passwd
Changing password for user1
(current) UNIX password: ß 在些輸入原來的密碼
New UNIX password: ß 輸入新的密碼
Retype new UNIX password: ß 再輸入一遍新的密碼
Passwd:all authentication tokens updated successfully ß 修改成功!
注意,在這里輸入的口令同樣不會(huì)顯示出來。
而如果是root用戶修改口令,則不需要輸入老密碼!也就是說,它可以修改任何用戶的口令。
4. 退出登錄
不論你是root用戶還是普通用戶,只需簡(jiǎn)單地執(zhí)行exit命令就可以退出登錄。
5. 關(guān)閉機(jī)器
在Linux系統(tǒng)中,普通用戶是無權(quán)關(guān)閉系統(tǒng)的!只有root用戶才能夠關(guān)閉它。當(dāng)然如果你是按關(guān)機(jī)按鈕則別當(dāng)別論。我們可以通過以下幾種方法實(shí)現(xiàn):
1) 按下CTRL+ALT+DEL組合鍵,這樣系統(tǒng)將重新啟動(dòng)!
2) 執(zhí)行reboot命令,這樣系統(tǒng)也將重新啟動(dòng)!
3) 執(zhí)行shutdown -h now命令,這樣系統(tǒng)將關(guān)閉計(jì)算機(jī)!
4) 執(zhí)行halt命令,可以關(guān)閉計(jì)算機(jī)。
注意千萬(wàn)不要隨意采用硬關(guān)機(jī)、重啟動(dòng)鍵等方式關(guān)閉系統(tǒng),那樣會(huì)導(dǎo)致Linux文件系統(tǒng)遭受破壞!
6. 虛擬控制臺(tái)
Linux是真正的多用戶操作系統(tǒng),可以同時(shí)接受多個(gè)用戶的遠(yuǎn)程和本地登錄,也允許同一個(gè)用戶多次登錄。Linux為本地用戶(也就是做在計(jì)算機(jī)面前的用戶)提供了虛擬控制臺(tái)訪問方式,允許用戶在同一時(shí)間從不同的控制臺(tái)進(jìn)行多次登錄。
虛擬控制臺(tái)的選擇可以通過按ALT鍵加上F1-F6六個(gè)功能鍵來實(shí)現(xiàn)。例如,用戶登錄后,按一下ALT+F2組合鍵,用戶又可以看到“l(fā)ogin:”提示符,這其實(shí)就是第二個(gè)虛擬控制臺(tái),而這時(shí)再按下ALT+F1組合鍵,用戶則又可以回到第一個(gè)虛擬控制臺(tái)。
大家可以通過使用虛擬控制臺(tái)來感受Linux系統(tǒng)多用戶的特性。例如用戶可以在某一虛擬控制臺(tái)上進(jìn)行的工作尚未結(jié)束時(shí),就可以切換到另一個(gè)虛擬控制臺(tái)上開始另一項(xiàng)工作。例如在開發(fā)軟件時(shí),可以在一個(gè)控制臺(tái)上編輯程序,在另一個(gè)控制臺(tái)上進(jìn)行編譯,在第三個(gè)控制臺(tái)上查閱信息。
3.2 文件與目錄操作
與其它操作系統(tǒng)一樣,在Linux系統(tǒng)下用戶的數(shù)據(jù)和程序也是以文件的形式保存的。所以在使用Linux的過程中,是經(jīng)常要對(duì)文件與目錄進(jìn)行操作的?,F(xiàn)在我們就以一個(gè)Window用戶的立場(chǎng)來學(xué)習(xí)一下Linux下的文件與目錄操作方法。
1. 文件名與文件類型
文件名是一個(gè)文件的標(biāo)識(shí)。從這個(gè)角度來說,文件名的規(guī)則與Windows 9x下的是基本上相同的。它同樣是由字母、數(shù)字、下劃線、圓點(diǎn)組成,最大的長(zhǎng)度是255個(gè)字符。
與Windows 9x一樣,Linux系統(tǒng)中也有普通文件和目錄文件,不過目錄文件在Window中被簡(jiǎn)稱為目錄就是了。而在Linux系統(tǒng)中有一種特殊的文件,那就是設(shè)備文件。在Linux系統(tǒng)中,把每一個(gè)I/O設(shè)置都映射成為一個(gè)文件,可以象普通文件一樣處理,這就使得文件與設(shè)備的操作盡可能統(tǒng)一。從用戶的用戶來說,對(duì)I/O設(shè)備的使用和一般文件的使用幾乎一樣,這樣就可以不必了解I/O設(shè)備的細(xì)節(jié)。
2. 目錄結(jié)構(gòu)
與Windows下一樣,在Linux中也是通過目錄來組織文件的。但不同的是,在Linux下只有一個(gè)根目錄,而不象Windows那樣一個(gè)分區(qū)一個(gè)根目錄。如果有多個(gè)分區(qū)的話,就需要將其它分區(qū)mount到根目錄上來用。
大家回憶一下當(dāng)時(shí)為L(zhǎng)inux分區(qū)時(shí),有一個(gè)選項(xiàng)要填,那就是Mount Point,我們將其中一個(gè)寫成了“/”,也就是根目錄(這點(diǎn)與Windows相反,一個(gè)是“\”,一個(gè)是“/”,真是天生冤家)。其它的則可能是/home、/usr。
安裝完系統(tǒng)后,你會(huì)發(fā)現(xiàn)/home、/usr就是根目錄下面的home、usr目錄!對(duì)了,整個(gè)分區(qū)就用于該目錄了。
安裝完Linux后,有許許多多的目錄,下面我們就說明一些重要的目錄:
/bin:存放著一百多個(gè)Linux下常用的命令、工具
/dev:存放著Linux下所有的設(shè)備文件!
/home:用戶主目錄,每建一個(gè)用戶,就會(huì)在這里新建一個(gè)與用戶同名的目錄,給該用戶一個(gè)自己的空間
/lost+found:顧名思義,一些丟失的文件可能可以在這里找到
/mnt:外部設(shè)備的掛接點(diǎn),通常用cdrom與floppy兩個(gè)子目錄!它的存在簡(jiǎn)化了光盤與軟盤的使用。你只需在塞入光盤后,運(yùn)行:mount /mnt/cdrom,就可以將光盤上的內(nèi)容Mount到/mnt/cdrom上,你就可以訪問了。不過你使用完成后,應(yīng)該離開該目錄,并執(zhí)行umount /mnt/cdrom。同樣的,軟盤就是mount /mnt/floppy和umount /mnt/floppy了。
/proc:這其實(shí)是一個(gè)假的目錄,通過這里你可以訪問到內(nèi)存里的內(nèi)容。
/sbin:這里存放著系統(tǒng)級(jí)的命令與工具
/usr:通常用來安裝各種軟件的地方
/usr/X11R6 X Window目錄
/usr/bin與/usr/sbin 一些后安裝的命令與工具
/usr/include、/usr/lib及/usr/share 則是存放一些共享鏈接庫(kù)
/usr/local 常用來安裝新軟件
/usr/src Linux源程序
/boot:Linux就是從這里啟動(dòng)的
/etc:這里存放在Linux大部分的配置文件
/lib:靜態(tài)鏈接庫(kù)
/root:root用戶的主目錄,這就是特權(quán)之一!
/var:通常用來存放一些變化中的東西!
/var/log:存放系統(tǒng)日志
/var/spool:存放一些郵件、新聞、打印隊(duì)列等
另外,要說明的是,在Linux下“當(dāng)前目錄”、“路徑”等概念與Windows下是一樣的。
3. 顯示文件內(nèi)容
使用過DOS命令的人都應(yīng)該知道,我們可以使用type命令來查看一個(gè)文件的內(nèi)容。在Linux下有五個(gè)相關(guān)的命令,功能各有千秋,不過它們都象type命令一樣,只能用來查看文本文件。
1) cat命令
cat命令是最象type命令的,使用的方法很簡(jiǎn)單:“cat 文件名”。不過比type命令更強(qiáng)大的是,它可以同時(shí)查看多個(gè)文件:“cat 文件名一 文件名二”。
2) more命令
如果文本文件比較長(zhǎng),一屏無法顯示完,那么使用cat命令就可能無法看清。這里我們可以簡(jiǎn)單地使用more來代替cat命令即可。其效果與type 文件名/p類似。使用more命令將一次顯示一屏文本,顯示滿后,停下來,并提示出已顯示全部?jī)?nèi)容的百分比,按空格鍵就可以看到下一屏。
3) less命令
less命令的功能幾乎和more命令一樣,也是按頁(yè)顯示文件,不同之處在于less命令在顯示文件時(shí)允許用戶既可以向前又可以向后翻閱文件。
Ø 向前翻:按b鍵;
Ø 向后翻:按p鍵;
Ø 指定位置:輸入百分比
Ø 退出:q
我經(jīng)常使用more和less,幾乎不使用cat查看文件。
4) head命令
通過head命令可以僅查看某文件的前幾行,格式為:
head 行數(shù) 文件名
如果未指定行數(shù),則使用默認(rèn)值10。
5) tail命令
與head命令相對(duì)應(yīng)的,我們可以使用tail命令來查看文件尾部的內(nèi)容。通常用來實(shí)時(shí)監(jiān)測(cè)某個(gè)文件是否被修改,通常用來觀察日志。如:
tail -f maillog
4. 編輯文件
在Red Hat Linux 7中有許多文字編輯工具,其中最常用的應(yīng)該是vi,這是一個(gè)廣泛應(yīng)用于所有UNIX系統(tǒng)的編輯器。它的使用有些特別:
首先,可以使用命令“vi 文件名”打開一個(gè)文件。
剛啟動(dòng)的時(shí)候,vi處于命令狀態(tài),不能夠輸入任何字符。在這個(gè)狀態(tài)下,可以使用方向鍵進(jìn)行移動(dòng),而需要輸入內(nèi)容時(shí),你需要輸入“i”或“a”命令進(jìn)入編輯狀態(tài)。編輯完成后,你需要按下“ESC”鍵回到命令狀態(tài)。
在命令狀態(tài)下,你可以輸入“:q!”不存盤退出,輸入“:wq”存盤退出。
5. 文件的復(fù)制、刪除與移動(dòng)
大家都早已熟知在DOS下我們可以使用copy、del、move命令來實(shí)現(xiàn)文件的復(fù)制、刪除與移動(dòng)。下面我們說說如何在Linux系統(tǒng)中做以上操作。
1) cp命令:文件/目錄復(fù)制命令
它的語(yǔ)法格式為:cp [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
常用的選項(xiàng)有:
Ø a 該選項(xiàng)常在復(fù)制目錄時(shí)使用,它保留鏈接、文件屬性,并遞歸地復(fù)制目錄,就象DOS中的xcopy /s一樣
Ø f 如果目標(biāo)文件或目錄已存在,就覆蓋它,并且不做提示
Ø i 與f選項(xiàng)正好相反,它在覆蓋時(shí),會(huì)讓用戶回答“Y”來確認(rèn)
Ø p 使用該選項(xiàng),復(fù)制文件時(shí)將保留修改時(shí)間和訪問權(quán)限
Ø r 若給出的源是一個(gè)目錄,那么cp將遞歸復(fù)制該目錄下所有的子目錄和文件,不過這要求目標(biāo)也是一個(gè)目錄名
另外,大家要注意的是,如果源是文件名,目標(biāo)是目錄名的話,那么使用cp命令可以指定多個(gè)源文件名。如:
$ cp a.txt b.txt /home/user1
該命令將把a(bǔ).txt和b.txt文件復(fù)制到/home/usr1目錄中。
2) rm命令:文件/目錄刪除命令
它的語(yǔ)法格式為:rm [選項(xiàng)] 文件 …
常用的選項(xiàng)有:
Ø f 在刪除過程中不給任何指示,直接刪除
Ø r 指示rm將參數(shù)中列出的全部目錄和子目錄都遞歸地刪除
Ø i 交互式的刪除,每個(gè)文件在刪除時(shí)都給出提示
使用rm命令時(shí)一定要小心,特別是以root用戶登錄時(shí),我就看到過一個(gè)朋友在使用rm命令刪除/home/tmp目錄時(shí)將命令“rm -rf /home/tmp”誤輸成了 “rm -rf / home/tmp”,結(jié)果等他走回電腦面前,整個(gè)系統(tǒng)都被刪除了!
3) mv命令:文件/目錄移動(dòng)命令
它的語(yǔ)法格式為:mv [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
常用的選項(xiàng)有:
Ø f 如果操作要覆蓋某已有的目標(biāo)文件時(shí)不給任何指示
Ø i 交互式的操作,如果操作要覆蓋某已有的目標(biāo)文件時(shí)會(huì)詢問用戶是否覆蓋
mv命令的執(zhí)行效果與參數(shù)類型的不同而不同!
第一參數(shù)(源) 第二個(gè)參數(shù)(目標(biāo)) 結(jié)果
文件名 文件名 將源文件名改為目標(biāo)文件名
文件名 目錄名 將文件移動(dòng)到目標(biāo)目錄
目錄名 目錄名 目標(biāo)目錄已存在:源目錄移動(dòng)到目標(biāo)目錄
目標(biāo)目錄不存在:改名
目錄名 文件名 出錯(cuò)
6. 目錄相關(guān)操作
1) 創(chuàng)建新目錄:mkdir,它的使用與DOS下的md相同:mkdir 目錄名;
2) 刪除空目錄:rmdir,它的使用與DOS下的rd相同:rmdir 目錄名;
3) 改變目錄:cd,它的使用與DOS下的cd命令基本相同,唯一一個(gè)不同的是,不管目錄名是什么,cd與目錄名之間必須有空格,也就是:“cd/”、“cd..”、“cd.”都是非法的,而應(yīng)該輸入:“cd /”、“cd ..”、“cd .”,如果直接輸入命令“cd”,而不加任何參數(shù),將回到這個(gè)用戶的主目錄。
4) 顯示當(dāng)前目錄:pwd
5) 列目錄命令:ls,相當(dāng)于DOS下的dir
它的語(yǔ)法為:ls [選項(xiàng)] [目錄或文件]
常用的選項(xiàng)有:
Ø a 顯示指定目錄下所有的子目錄與文件,包括隱藏文件;
Ø c 按文件的修改時(shí)間排序
Ø l 采用長(zhǎng)格式來顯示文件的詳細(xì)信息,每個(gè)文件一行信息,其內(nèi)容為:文件類型與權(quán)限 鏈接數(shù) 文件屬主 文件屬組 文件大小 最近修改時(shí)間 文件名
7. 文件與目錄的權(quán)限操作
在Linux系統(tǒng)中,每一個(gè)文件和目錄都有相應(yīng)的訪問許可權(quán)限,我們可以用它來確定誰(shuí)可以通過何種方式對(duì)文件和目錄進(jìn)行訪問和操作。文件或目錄的訪問權(quán)限分為可讀、可寫和可執(zhí)行三種,分別以r,w,x表示,其含義為:
r w x
文件 可讀 可寫 可執(zhí)行
目錄 可列出目錄 可在目錄中做寫操作 可以訪問該目錄
在文件被創(chuàng)建時(shí),文件所有者可以對(duì)該文件的權(quán)限進(jìn)行設(shè)置。
對(duì)于一個(gè)文件來說,可以將用戶分成三種,并對(duì)其分別賦予不同的權(quán)限:
1) 文件所有者
2) 與文件所有者同組用戶
3) 其它用戶
每一個(gè)文件或目錄的訪問權(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è)定法
其語(yǔ)法格式為:chmod [who] [opt] [mode] 文件/目錄名
其中who表示對(duì)象,是以下字母中的一個(gè)或組合:
u:表示文件所有者
g:表示同組用戶
o:表示其它用戶
a:表示所有用戶
opt則是代表操作,可以為:
+:添加某個(gè)權(quán)限
-:取消某個(gè)權(quán)限
=:賦予給定的權(quán)限,并取消原有的權(quán)限
而mode則代表權(quán)限:
r:可讀
w:可寫
x:可執(zhí)行
例如:為同組用戶增加對(duì)文件a.txt的讀寫權(quán)限:
chmod g+rw a.txt
Ø 用數(shù)字設(shè)定法
而數(shù)字設(shè)定法則更為簡(jiǎn)單:chmod [mode] 文件名
關(guān)鍵是mode的取值,一開始許多初學(xué)者會(huì)被搞糊涂,其實(shí)很簡(jiǎn)單,我們將rwx看成二進(jìn)制數(shù),如果有則有1表示,沒有則有0表示,那么rwx r-x r--則可以表示成為:
111 101 100
再將其每三位轉(zhuǎn)換成為一個(gè)十進(jìn)制數(shù),就是754。
例如,我們想讓a.txt這個(gè)文件的權(quán)限為:
自己 同組用戶 其他用戶
可讀 是 是 是
可寫 是 是
可執(zhí)行
那么,我們先根據(jù)上表得到權(quán)限串為:rw-rw-r--,那么轉(zhuǎn)換成二進(jìn)制數(shù)就是110 110 100,再每三位轉(zhuǎn)換成為一個(gè)十進(jìn)制數(shù),就得到664,因此我們執(zhí)行命令:
chmod 664 a.txt
2) 改變文件的屬主命令:chown
語(yǔ)法格式很簡(jiǎn)單:chown [選項(xiàng)] 用戶名 文件/目錄名
其中最常用的選項(xiàng)是“R”,加上這個(gè)參數(shù),可以將整個(gè)目錄里的所有子目錄和文件的屬主都改變成指定用戶。
3) 改變文件屬組命令:chgrp
該命令也很簡(jiǎn)單:chgrp 組名 文件名
3.3 用戶管理
用戶管理,主要的工作就是建立一個(gè)合法的用戶帳戶、設(shè)置和管理用戶的密碼、修改用戶帳戶的屬性以及在必要時(shí)刪除已經(jīng)廢棄的用戶帳號(hào)。
1. 增加一個(gè)新用戶
在Linux系統(tǒng)中,只有root用戶才能夠創(chuàng)建一個(gè)新用戶,如下的命令將新建一個(gè)登錄名user1的用戶。
# useradd user1
但是,這個(gè)用戶還不能夠登錄,因?yàn)檫€沒給它設(shè)置初始密碼,而沒有密碼的用戶是不能夠登錄系統(tǒng)的。在默認(rèn)情況下,將會(huì)在/home目錄下新建一個(gè)與用戶名相同的用戶主目錄。如果需要另外指定用戶主目錄的話,那么可以使用如下命令:
# useradd -d /home/xf user1
同時(shí),該用戶登錄時(shí)將獲得一個(gè)Shell程序:/bin/bash,而假如你不想讓這個(gè)用戶登錄,也就可以指定該用戶的Shell程序?yàn)椋?bin/false,這樣該用戶即使登錄,也不能夠執(zhí)行Linux下的命令:
# useradd -s /bin/false user1
在Linux中,新增一個(gè)用戶的同時(shí)會(huì)創(chuàng)建一個(gè)新組,這個(gè)組與該用戶同名,而這個(gè)用戶就是該組的成員。如果你想讓新的用戶歸屬于一個(gè)已經(jīng)存在的組,則可以使用如下命令:
# useradd -g user user1
這樣該用戶就屬于user組的一員了。而如果只是想讓其再屬于一個(gè)組,那么應(yīng)該使用:
# useradd -G user user1
完成了這一操作后,你還應(yīng)該使用passwd命令為其設(shè)置一個(gè)初始密碼。
2. 刪除一個(gè)用戶
刪除用戶,只需使用一個(gè)簡(jiǎn)單的命令“userdel 用戶名”即可。不過最好將它留在系統(tǒng)上的文件也刪除掉,你可以使用“userdel -r 用戶名”來實(shí)現(xiàn)這一目的。
3. 修改用戶屬性
在前面我們看到了在新建一個(gè)用戶的時(shí)候如何指定它的用戶主目錄,如何指定它的Shell,如何設(shè)置它所屬的組…等等。在Linux中提供了一個(gè)命令來實(shí)現(xiàn):
usermod -g組名 -G 組名 -d 用戶主目錄 -s 用戶Shell
還有一種直接的方法,那就是修改/etc/passwd文件,在這個(gè)文件中每個(gè)用戶占用一行,它的內(nèi)容為:
用戶名:密碼:用戶ID:組ID:用戶全名:用戶主目錄:用戶Shell
不過值得注意的是,密碼這一項(xiàng)通常是用一個(gè)*號(hào)代替的,你是看不到的。
4. 增加一個(gè)組
還記得Linux的文件可以為同組的人、非同組的人設(shè)置不同的訪問權(quán)限嗎?我們可以根據(jù)自己的需要?jiǎng)?chuàng)建用戶組:
groupadd 組名
5. 刪除一個(gè)組
同樣的,我們有時(shí)會(huì)需要?jiǎng)h除一個(gè)組,它的命令就是groupdel 組名。
6. 修改組成員
如果我們需要將一個(gè)用戶加入一個(gè)組,只需編輯/etc/group文件,將用戶名寫到組名的后面。例如將newuser用戶加入到softdevelop組,只需找到softdevelop這一行:
softdevelop:x:506:user1,user2
然后在后面加上newuser,形成:
softdevelop:x:506:user1,user2,newuser
另外,在Red Hat Linux中還提供一個(gè)圖形化的用戶管理工具:userconf,通過它可以更直接地進(jìn)行用戶管理。
3.4 進(jìn)程管理
Linux是一個(gè)多用戶多任務(wù)的操作系統(tǒng)。多用戶是指多個(gè)用戶可以在同一時(shí)間使用計(jì)算機(jī)系統(tǒng);多任務(wù)是指Linux可以同時(shí)執(zhí)行幾個(gè)任務(wù),它可以在還未執(zhí)行完一個(gè)任務(wù)時(shí)又執(zhí)行另一項(xiàng)任務(wù)。
在Linux系統(tǒng)上所有運(yùn)行的東西都可以稱之為一個(gè)進(jìn)程。每個(gè)用戶任務(wù)、每個(gè)系統(tǒng)管理守護(hù)進(jìn)程,都可以稱之為進(jìn)程。Linux用分時(shí)管理方法使用所有的任務(wù)共同分享系統(tǒng)資源。下面我們就看一下如何控制這些進(jìn)程。
1. 啟動(dòng)進(jìn)程
在Linux系統(tǒng)中有兩種啟動(dòng)進(jìn)程的方法:
1) 直接輸入命令,就將直接啟動(dòng)一個(gè)進(jìn)程
Ø 在普通情況下,進(jìn)程將在前臺(tái)執(zhí)行,這時(shí)我們無法再執(zhí)行新的命令
Ø 如果我們?cè)诿钪蠹由弦粋€(gè)“&”,那行進(jìn)程將會(huì)放在后臺(tái)執(zhí)行,我們?nèi)匀豢梢詧?zhí)行新的命令
2) 通過at、cron、crontab命令可以像Windows中的計(jì)劃任務(wù)一樣定時(shí)啟動(dòng)某個(gè)進(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)程是由哪個(gè)控制臺(tái)啟動(dòng)的,CMD則是命令。
如果你想列出更詳細(xì)的信息,則可使用命令:“ps -auxw”。
3. 終止進(jìn)程
一個(gè)進(jìn)程在任務(wù)完成之后,將會(huì)自動(dòng)完成。如果要中途中止該進(jìn)程的話,有兩種方法:
1) 對(duì)于在前臺(tái)運(yùn)行的程序,直接通過組合鍵CTRL+C就可以中止進(jìn)程;
2) 而對(duì)于在后臺(tái)運(yùn)行的程序,則需要通過前面介紹的ps命令找到它的進(jìn)程號(hào),然后使用“kill 進(jìn)程號(hào)”來終止該進(jìn)程。
3.5 磁盤管理
系統(tǒng)軟件和應(yīng)用軟件,都要以文件的形式存儲(chǔ)在計(jì)算機(jī)的磁盤空間中,做為系統(tǒng)管理員應(yīng)隨時(shí)監(jiān)視磁盤空間的使用情況。我們可以使用下面兩個(gè)命令來實(shí)現(xiàn):
1. df命令
df,就是Disk Free,顧名思義就是檢查磁盤上還剩下多少空間等信息。下面是一個(gè)使用實(shí)例:
# 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計(jì)算的分區(qū)大小
3) Used:已經(jīng)使用的分區(qū)大?。ò碖計(jì)算)
4) Available:還要用的分區(qū)大小
5) Use%:已使用的空間所占百分比
6) Mounted on:掛接點(diǎn)
可以看到/home是另一個(gè)分區(qū),現(xiàn)在空間已經(jīng)用完了!這都時(shí)當(dāng)時(shí)沒有規(guī)劃好!
如果對(duì)與以K為計(jì)算單位表示硬盤空間,那么你可以使用df -m,這樣就會(huì)以M為計(jì)算單位。
2. du命令
du,就是disk usage,就是看一下磁盤使用了多少。下面就是一個(gè)使用實(shí)例:
# pwd
/var/log
# du
4 ./uucp
776 .
在這里,我們使用du命令列出了/var/log目錄所占用的磁盤空間。它統(tǒng)計(jì)出了該目錄有一個(gè)子目錄:uucp,占用了4K,而/var/log目錄下的文件則共有776K。
該命令還有一些常用的選項(xiàng),用來完成更多的功能:
Ø -a 將列出當(dāng)前目錄下所有的文件、子目錄、子目錄下的文件、子目錄下的子目錄…的磁盤占用情況
Ø -b 以字節(jié)為單位表示占用的磁盤空間
Ø -c 在最后顯示出一個(gè)統(tǒng)計(jì)值
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
版本號(hào):1.2.3
修正版本:1
可用平臺(tái):i386,適用于Intel 80x86平臺(tái)。
類型:rpm,說明是一個(gè)rpm包。
根據(jù)Linux應(yīng)用程序軟件安裝包中的內(nèi)容不同可以分為::
1) 是可執(zhí)行文件,也就是解開包后就可以直接運(yùn)行的。在Windows中所有的軟件包都是這種類型。安裝完這個(gè)程序后,你就可以使用。不過下載時(shí)要注意這個(gè)軟件是否是你所使用的平臺(tái),否則將無法正常安裝。
2) 另一種則是源程序,也就解開包后,你還需要使用編譯器將其編譯成為可執(zhí)行文件。這在Windows系統(tǒng)中是幾乎沒有的,因?yàn)閃indows的思想是不開放源程序的。
通常,用tar打包的,都是源程序;而用rpm打包的則常是可執(zhí)行程序。
1.搞定使用rpm打包的應(yīng)用軟件
rpm可謂是Redhat公司的一大貢獻(xiàn),它使Linux的軟件安裝工作變得更加簡(jiǎn)單容易。
1) 安裝:
我只需簡(jiǎn)單的一句話,就可以說完。執(zhí)行:
rpm -ivh rpm軟件包名
更高級(jí)的,請(qǐng)見下表:
rpm參數(shù) 參數(shù)說明
-i 安裝軟件
-t 測(cè)試安裝,不是真的安裝
-p 顯示安裝進(jìn)度
-f 不管任何錯(cuò)誤
-U 升級(jí)安裝
-v 檢測(cè)套件是否正確安裝
這些參數(shù)可以同時(shí)采用。更多的內(nèi)容可以參考RPM的命令幫助。
2) 卸載:
我同樣只需簡(jiǎn)單的一句話,就可以說完。執(zhí)行:
rpm -e 軟件名
不過要注意的是,后面使用的是軟件名,而不是軟件包名。例如,要安裝software-1.2.3-1.i386.rpm這個(gè)包時(shí),應(yīng)執(zhí)行:
rpm -ivh software-1.2.3-1.i386.rpm
而當(dāng)卸載時(shí),則應(yīng)執(zhí)行:
rpm -e software。
2. 搞定使用tar打包的應(yīng)用軟件
1) 安裝:
整個(gè)安裝過程可以分為以下幾步:
Ø 取得應(yīng)用軟件:通過下載、購(gòu)買光盤的方法獲得;
Ø 解壓縮文件:一般tar包,都會(huì)再做一次壓縮,如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”刪除安裝時(shí)產(chǎn)生的臨時(shí)文件。
好了,到此大功告成。我們就可以運(yùn)行應(yīng)用程序了。但這時(shí),有的讀者就會(huì)問,我怎么執(zhí)行呢?這也是一個(gè)Linux特色的問題。其實(shí),一般來說,Linux的應(yīng)用軟件的可執(zhí)行文件會(huì)存放在/usr/local/bin目錄下!不過這并不是“放四海皆準(zhǔn)”的真理,最可靠的還是看這個(gè)軟件的INSTALL和README文件,一般都會(huì)有說明。
2) 卸載:
通常軟件的開發(fā)者很少考慮到如何卸載自己的軟件,而tar又僅是完成打包的工作,所以并沒有提供良好的卸載方法。一般都提供 make uninstall 來卸載軟件的。
相關(guān)文章
國(guó)產(chǎn)中文操作系統(tǒng)OpenDesktop
國(guó)產(chǎn)中文操作系統(tǒng)OpenDesktop...2006-10-10
CentOS 7.0關(guān)閉默認(rèn)防火墻啟用iptables防火墻的設(shè)置方法
這篇文章主要介紹了CentOS 7.0關(guān)閉默認(rèn)防火墻啟用iptables防火墻的設(shè)置方法,需要的朋友可以參考下2017-11-11
簡(jiǎn)述Linux下Samba服務(wù)的安裝與配置
組成Samba運(yùn)行的有兩個(gè)服務(wù),一個(gè)是SMB,另一個(gè)是NMB;接下來通過本文重點(diǎn)給大家介紹Linux下Samba服務(wù)的安裝與配置方法,需要的的朋友參考下吧2017-05-05
利用shell編程實(shí)現(xiàn)DOS風(fēng)格的Linux命令行
利用shell編程實(shí)現(xiàn)DOS風(fēng)格的Linux命令行...2006-10-10

