linux入門教程(二)

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,通過它可以更直接地進行用戶管理。本文來自:[url]http://www.linuxpk.com/2463.html[/url]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章