linux入門教程(2)(轉)

post0發表於2007-08-10
linux入門教程(2)(轉)[@more@]

3.1 登入和退出系統

1. 啟動系統

通常LILO是安裝在MBR上的,計算機啟動後,MBR上的程式被執行,將出現一個不是很漂亮的圖形:左邊是一個小紅帽影像,右邊列出了可以啟動的作業系統,你可以使用鍵盤箭頭切換。剛安裝好後預設值是Linux,也就是你不選擇,一會兒將自己啟動Linux。

如果你想預設的選擇是Windows的話,那你可以在啟動Linux後,用vi修改/etc目錄下的lilo.conf檔案,加上default=windows,然後再執行/sbin/lilo重新生成LILO。

2. 使用者登入

Linux是一個真正意義上的多使用者作業系統,使用者要使用該系統,首先必須登入,使用完系統後,必須退出。使用者登入系統時,為了使系統能夠識別該使用者,必須輸入使用者名稱和密碼,經系統驗證無誤後才可以登入系統使用。

Linux下有兩種使用者:

1) root使用者:超級許可權者,系統的擁有者,在Linux系統中有且只有一個root使用者,它可以在系統中任何操作。在系統安裝時所設定的密碼就是root使用者的密碼。

2) 普通使用者:Linux系統可以建立許多普通使用者,併為其指定相應的許可權,使其有限地使用Linux系統。

關於使用者的管理,我們將在後面詳細說明。

使用者登入分兩步進行:

1) 輸入使用者的登入名,系統根據該登入名來識別使用者;

2) 輸入使用者的口令,該口令是使用者自己選擇的一個字串,對其他使用者完全保密,是登入系統時識別使用者的唯一根據,因此每一個使用者都應該保護好自己的口令!

系統在建立之初,僅有root使用者,其它的使用者則是由root使用者建立的。由於root使用者的許可權太大了,所以如果root使用者誤操作將可能造成很大的損失。所以建議系統管理員為自已新建一個使用者,只有需要做系統維護、管理任務時才以root使用者登入。

下面就是一個登入例項:(其中黑體字為輸入)

Red Hat Linux release 7.1 (Seawolf)

Kernerl 2.4.2-2 on an i686

Home login:root

Password:

在上面的例子中,我們發現在Password後面是空的,其實並不是不輸入密碼,而是在輸入時,Linux系統不會把它顯示出來,這樣用來保護密碼!

如果登入成功的話,我們將獲得Shell(Shell是用來與使用者互動的程式,它就象DOS中的COMMAND.COM,不過在Linux下可以有多種 Shell供選擇,如bash、csh、ksh等)提示符,如果以root使用者登入的話,那麼獲得的提示符是“#”,否則將是“$”。

提示:如果當時在安裝時設定為一啟動就進入圖形介面的話,那系統啟動後,使用者登入介面將是圖形化的,有點象Windows,而且當你輸入正確的使用者名稱與密碼,就會直接進入X Window。這個設定是可以修改的:

在/etc目錄下有一個inittab檔案,其中有一行配置:

id:3:default

其中,數字3就是代表一啟動進入字元終端,如果改為5則代表一啟動進入X Window。

3. 修改口令

為了更好地保護使用者帳號的安全,Linux允許使用者在登入之後隨時使用passwd命令修改自己的口令。修改口令需要經歷:

1) 輸入原來的口令,如果口令輸錯,將中止程式,無法修改口令;

2) 輸入新的口令;

3) 提示重複一遍新的口令,如果兩次輸入的口令相吻合,則口令修改成功。

需要注意的是,Red Hat Linux 7.1為了更好地保護口令,如果你輸入的新口令過於簡單,它將會拒絕修改。下面就是一個修改口令的例項:(其中黑體字為輸入)

$ passwd

Changing password for user1

(current) UNIX password: ß 在些輸入原來的密碼

New UNIX password: ß 輸入新的密碼

Retype new UNIX password: ß 再輸入一遍新的密碼

Passwd:all authentication tokens updated successfully ß 修改成功!

注意,在這裡輸入的口令同樣不會顯示出來。

而如果是root使用者修改口令,則不需要輸入老密碼!也就是說,它可以修改任何使用者的口令。

4. 退出登入

不論你是root使用者還是普通使用者,只需簡單地執行exit命令就可以退出登入。

5. 關閉機器

在Linux系統中,普通使用者是無權關閉系統的!只有root使用者才能夠關閉它。當然如果你是按關機按鈕則別當別論。我們可以透過以下幾種方法實現:

1) 按下CTRL+ALT+DEL組合鍵,這樣系統將重新啟動!

2) 執行reboot命令,這樣系統也將重新啟動!

3) 執行shutdown -h now命令,這樣系統將關閉計算機!

4) 執行halt命令,可以關閉計算機。

注意千萬不要隨意採用硬關機、重啟動鍵等方式關閉系統,那樣會導致Linux檔案系統遭受破壞!

6. 虛擬控制檯

Linux是真正的多使用者作業系統,可以同時接受多個使用者的遠端和本地登入,也允許同一個使用者多次登入。Linux為本地使用者(也就是做在計算機面前的使用者)提供了虛擬控制檯訪問方式,允許使用者在同一時間從不同的控制檯進行多次登入。

虛擬控制檯的選擇可以透過按ALT鍵加上F1-F6六個功能鍵來實現。例如,使用者登入後,按一下ALT+F2組合鍵,使用者又可以看到“login:”提示符,這其實就是第二個虛擬控制檯,而這時再按下ALT+F1組合鍵,使用者則又可以回到第一個虛擬控制檯。

大家可以透過使用虛擬控制檯來感受Linux系統多使用者的特性。例如使用者可以在某一虛擬控制檯上進行的工作尚未結束時,就可以切換到另一個虛擬控制檯上開始另一項工作。例如在開發軟體時,可以在一個控制檯上編輯程式,在另一個控制檯上進行編譯,在第三個控制檯上查閱資訊。

3.2 檔案與目錄操作

與其它作業系統一樣,在Linux系統下使用者的資料和程式也是以檔案的形式儲存的。所以在使用Linux的過程中,是經常要對檔案與目錄進行操作的。現在我們就以一個Window使用者的立場來學習一下Linux下的檔案與目錄操作方法。

1. 檔名與檔案型別

檔名是一個檔案的標識。從這個角度來說,檔名的規則與Windows 9x下的是基本上相同的。它同樣是由字母、數字、下劃線、圓點組成,最大的長度是255個字元。

與Windows 9x一樣,Linux系統中也有普通檔案和目錄檔案,不過目錄檔案在Window中被簡稱為目錄就是了。而在Linux系統中有一種特殊的檔案,那就是裝置檔案。在Linux系統中,把每一個I/O設定都對映成為一個檔案,可以象普通檔案一樣處理,這就使得檔案與裝置的操作儘可能統一。從使用者的使用者來說,對I/O裝置的使用和一般檔案的使用幾乎一樣,這樣就可以不必瞭解I/O裝置的細節。

2. 目錄結構

與Windows下一樣,在Linux中也是透過目錄來組織檔案的。但不同的是,在Linux下只有一個根目錄,而不象Windows那樣一個分割槽一個根目錄。如果有多個分割槽的話,就需要將其它分割槽mount到根目錄上來用。

大家回憶一下當時為Linux分割槽時,有一個選項要填,那就是Mount Point,我們將其中一個寫成了“/”,也就是根目錄(這點與Windows相反,一個是“”,一個是“/”,真是天生冤家)。其它的則可能是/home、/usr。

安裝完系統後,你會發現/home、/usr就是根目錄下面的home、usr目錄!對了,整個分割槽就用於該目錄了。

安裝完Linux後,有許許多多的目錄,下面我們就說明一些重要的目錄:

/bin:存放著一百多個Linux下常用的命令、工具

/dev:存放著Linux下所有的裝置檔案!

/home:使用者主目錄,每建一個使用者,就會在這裡新建一個與使用者同名的目錄,給該使用者一個自己的空間

/lost+found:顧名思義,一些丟失的檔案可能可以在這裡找到

/mnt:外部裝置的掛接點,通常用cdrom與floppy兩個子目錄!它的存在簡化了光碟與軟盤的使用。你只需在塞入光碟後,執行: mount /mnt/cdrom,就可以將光碟上的內容Mount到/mnt/cdrom上,你就可以訪問了。不過你使用完成後,應該離開該目錄,並執行umount /mnt/cdrom。同樣的,軟盤就是mount /mnt/floppy和umount /mnt/floppy了。

/proc:這其實是一個假的目錄,透過這裡你可以訪問到記憶體裡的內容。

/sbin:這裡存放著系統級的命令與工具

/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:靜態連結庫

/root:root使用者的主目錄,這就是特權之一!

/var:通常用來存放一些變化中的東西!

/var/log:存放系統日誌

/var/spool:存放一些郵件、新聞、列印佇列等

另外,要說明的是,在Linux下“當前目錄”、“路徑”等概念與Windows下是一樣的。

3. 顯示檔案內容

使用過DOS命令的人都應該知道,我們可以使用type命令來檢視一個檔案的內容。在Linux下有五個相關的命令,功能各有千秋,不過它們都象type命令一樣,只能用來檢視文字檔案。

1) cat命令

cat命令是最象type命令的,使用的方法很簡單:“cat 檔名”。不過比type命令更強大的是,它可以同時檢視多個檔案:“cat 檔名一 檔名二”。

2) more命令

如果文字檔案比較長,一屏無法顯示完,那麼使用cat命令就可能無法看清。這裡我們可以簡單地使用more來代替cat命令即可。其效果與type 檔名/p類似。使用more命令將一次顯示一屏文字,顯示滿後,停下來,並提示出已顯示全部內容的百分比,按空格鍵就可以看到下一屏。

3) less命令

less命令的功能幾乎和more命令一樣,也是按頁顯示檔案,不同之處在於less命令在顯示檔案時允許使用者既可以向前又可以向後翻閱檔案。

Ø 向前翻:按b鍵;

Ø 向後翻:按p鍵;

Ø 指定位置:輸入百分比

Ø 退出:q

我經常使用more和less,幾乎不使用cat檢視檔案。

4) head命令

透過head命令可以僅檢視某檔案的前幾行,格式為:

head 行數 檔名

如果未指定行數,則使用預設值10。

5) tail命令

與head命令相對應的,我們可以使用tail命令來檢視檔案尾部的內容。通常用來實時監測某個檔案是否被修改,通常用來觀察日誌。如:

tail -f maillog

4. 編輯檔案

在Red Hat Linux 7中有許多文字編輯工具,其中最常用的應該是vi,這是一個廣泛應用於所有UNIX系統的編輯器。它的使用有些特別:

首先,可以使用命令“vi 檔名”開啟一個檔案。

剛啟動的時候,vi處於命令狀態,不能夠輸入任何字元。在這個狀態下,可以使用方向鍵進行移動,而需要輸入內容時,你需要輸入“i”或“a”命令進入編輯狀態。編輯完成後,你需要按下“ESC”鍵回到命令狀態。

在命令狀態下,你可以輸入“:q!”不存檔退出,輸入“:wq”存檔退出。

5. 檔案的複製、刪除與移動

大家都早已熟知在DOS下我們可以使用copy、del、move命令來實現檔案的複製、刪除與移動。下面我們說說如何在Linux系統中做以上操作。

1) cp命令:檔案/目錄複製命令

它的語法格式為:cp [選項] 原始檔或目錄 目標檔案或目錄

常用的選項有:

Ø a 該選項常在複製目錄時使用,它保留連結、檔案屬性,並遞迴地複製目錄,就象DOS中的xcopy /s一樣

Ø f 如果目標檔案或目錄已存在,就覆蓋它,並且不做提示

Ø i 與f選項正好相反,它在覆蓋時,會讓使用者回答“Y”來確認

Ø p 使用該選項,複製檔案時將保留修改時間和訪問許可權

Ø r 若給出的源是一個目錄,那麼cp將遞迴複製該目錄下所有的子目錄和檔案,不過這要求目標也是一個目錄名

另外,大家要注意的是,如果源是檔名,目標是目錄名的話,那麼使用cp命令可以指定多個原始檔名。如:

$ cp a.txt b.txt /home/user1

該命令將把a.txt和b.txt檔案複製到/home/usr1目錄中。

2) rm命令:檔案/目錄刪除命令

它的語法格式為:rm [選項] 檔案 …

常用的選項有:

Ø f 在刪除過程中不給任何指示,直接刪除

Ø r 指示rm將引數中列出的全部目錄和子目錄都遞迴地刪除

Ø i 互動式的刪除,每個檔案在刪除時都給出提示

使用rm命令時一定要小心,特別是以root使用者登入時,我就看到過一個朋友在使用rm命令刪除/home/tmp目錄時將命令“rm -rf /home/tmp”誤輸成了 “rm -rf / home/tmp”,結果等他走回電腦面前,整個系統都被刪除了!

3) mv命令:檔案/目錄移動命令

它的語法格式為:mv [選項] 原始檔或目錄 目標檔案或目錄

常用的選項有:

Ø f 如果操作要覆蓋某已有的目標檔案時不給任何指示

Ø i 互動式的操作,如果操作要覆蓋某已有的目標檔案時會詢問使用者是否覆蓋

mv命令的執行效果與引數型別的不同而不同!

第一引數(源) 第二個引數(目標) 結果

檔名 檔名 將原始檔名改為目標檔名

檔名 目錄名 將檔案移動到目標目錄

目錄名 目錄名 目標目錄已存在:源目錄移動到目標目錄

目標目錄不存在:改名

目錄名 檔名 出錯

6. 目錄相關操作

1) 建立新目錄:mkdir,它的使用與DOS下的md相同:mkdir 目錄名;

2) 刪除空目錄:rmdir,它的使用與DOS下的rd相同:rmdir 目錄名;

3) 改變目錄:cd,它的使用與DOS下的cd命令基本相同,唯一一個不同的是,不管目錄名是什麼,cd與目錄名之間必須有空格,也就是:“cd/”、 “cd..”、“cd.”都是非法的,而應該輸入:“cd /”、“cd ..”、“cd .”,如果直接輸入命令“cd”,而不加任何引數,將回到這個使用者的主目錄。

4) 顯示當前目錄:pwd

5) 列目錄命令:ls,相當於DOS下的dir

它的語法為:ls [選項] [目錄或檔案]

常用的選項有:

Ø a 顯示指定目錄下所有的子目錄與檔案,包括隱藏檔案;

Ø c 按檔案的修改時間排序

Ø l 採用長格式來顯示檔案的詳細資訊,每個檔案一行資訊,其內容為:檔案型別與許可權 連結數 檔案屬主 檔案屬組 檔案大小 最近修改時間 檔名

7. 檔案與目錄的許可權操作

在Linux系統中,每一個檔案和目錄都有相應的訪問許可許可權,我們可以用它來確定誰可以透過何種方式對檔案和目錄進行訪問和操作。檔案或目錄的訪問許可權分為可讀、可寫和可執行三種,分別以r,w,x表示,其含義為:

r w x

檔案 可讀 可寫 可執行

目錄 可列出目錄 可在目錄中做寫操作 可以訪問該目錄

在檔案被建立時,檔案所有者可以對該檔案的許可權進行設定。

對於一個檔案來說,可以將使用者分成三種,並對其分別賦予不同的許可權:

1) 檔案所有者

2) 與檔案所有者同組使用者

3) 其它使用者

每一個檔案或目錄的訪問許可權都有三組,每組用三位表示,如:

d rwx r-x r--

第一部分:這裡的d代表目錄,其它的有:- 代表普通檔案 c 代表字元裝置檔案;

第二部分:檔案所有者的許可權字,這裡為r w x表示可讀、可寫、可執行 (目錄的可執行指的可以進入目錄);

第三部分:與檔案所有者同組的使用者的許可權字,這裡為r - x表示可讀、不可寫、可執行。由於同組使用者之間交流較多,讓他看看檔案,別亂改就行了嘛。

第四部分:其它使用者的許可權字,這裡為- - -,當然給我無關的人嘛,我的檔案當然不但不給你寫,也不讓你讀。

1) 檔案/目錄許可權設定命令:chmod

這是Linux系統管理員最常用到的命令之一,它用於改變檔案或目錄的訪問許可權。該命令有兩種用法:

Ø 用包含字母和運算子表示式的文字設定法

其語法格式為:chmod [who] [opt] [mode] 檔案/目錄名

其中who表示物件,是以下字母中的一個或組合:

u:表示檔案所有者

g:表示同組使用者

o:表示其它使用者

a:表示所有使用者

opt則是代表操作,可以為:

+:新增某個許可權

-:取消某個許可權

=:賦予給定的許可權,並取消原有的許可權

而mode則代表許可權:

r:可讀

w:可寫

x:可執行

例如:為同組使用者增加對檔案a.txt的讀寫許可權:

chmod g+rw a.txt

Ø 用數字設定法

而數字設定法則更為簡單:chmod [mode] 檔名

關鍵是mode的取值,一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進位制數,如果有則有1表示,沒有則有0表示,那麼rwx r-x r--則可以表示成為:

111 101 100

再將其每三位轉換成為一個十進位制數,就是754。

例如,我們想讓a.txt這個檔案的許可權為:

自己 同組使用者 其他使用者

可讀 是 是 是

可寫 是 是

可執行

那麼,我們先根據上表得到許可權串為:rw-rw-r--,那麼轉換成二進位制數就是110 110 100,再每三位轉換成為一個十進位制數,就得到664,因此我們執行命令:

chmod 664 a.txt

2) 改變檔案的屬主命令:chown

語法格式很簡單:chown [選項] 使用者名稱 檔案/目錄名

其中最常用的選項是“R”,加上這個引數,可以將整個目錄裡的所有子目錄和檔案的屬主都改變成指定使用者。

3) 改變檔案屬組命令:chgrp

該命令也很簡單:chgrp 組名 檔名

3.3 使用者管理

使用者管理,主要的工作就是建立一個合法的使用者帳戶、設定和管理使用者的密碼、修改使用者帳戶的屬性以及在必要時刪除已經廢棄的使用者帳號。

1. 增加一個新使用者

在Linux系統中,只有root使用者才能夠建立一個新使用者,如下的命令將新建一個登入名user1的使用者。

# useradd user1

但是,這個使用者還不能夠登入,因為還沒給它設定初始密碼,而沒有密碼的使用者是不能夠登入系統的。在預設情況下,將會在/home目錄下新建一個與使用者名稱相同的使用者主目錄。如果需要另外指定使用者主目錄的話,那麼可以使用如下命令:

# useradd -d /home/xf user1

同時,該使用者登入時將獲得一個Shell程式:/bin/bash,而假如你不想讓這個使用者登入,也就可以指定該使用者的Shell程式為:/bin/false,這樣該使用者即使登入,也不能夠執行Linux下的命令:

# useradd -s /bin/false user1

在Linux中,新增一個使用者的同時會建立一個新組,這個組與該使用者同名,而這個使用者就是該組的成員。如果你想讓新的使用者歸屬於一個已經存在的組,則可以使用如下命令:

# useradd -g user user1

這樣該使用者就屬於user組的一員了。而如果只是想讓其再屬於一個組,那麼應該使用:

# useradd -G user user1

完成了這一操作後,你還應該使用passwd命令為其設定一個初始密碼。

2. 刪除一個使用者

刪除使用者,只需使用一個簡單的命令“userdel 使用者名稱”即可。不過最好將它留在系統上的檔案也刪除掉,你可以使用“userdel -r 使用者名稱”來實現這一目的。

3. 修改使用者屬性

在前面我們看到了在新建一個使用者的時候如何指定它的使用者主目錄,如何指定它的Shell,如何設定它所屬的組…等等。在Linux中提供了一個命令來實現:

usermod -g組名 -G 組名 -d 使用者主目錄 -s 使用者Shell

還有一種直接的方法,那就是修改/etc/passwd檔案,在這個檔案中每個使用者佔用一行,它的內容為:

使用者名稱:密碼:使用者ID:組ID:使用者全名:使用者主目錄:使用者Shell

不過值得注意的是,密碼這一項通常是用一個*號代替的,你是看不到的。

4. 增加一個組

還記得Linux的檔案可以為同組的人、非同組的人設定不同的訪問許可權嗎?我們可以根據自己的需要建立使用者組:

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,透過它可以更直接地進行使用者管理

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-940108/,如需轉載,請註明出處,否則將追究法律責任。

相關文章