我現在正在編輯RHCE的培訓用書,剛好貼出來大家提提意見。 現在計劃8月底翻譯完033的實驗部分和編寫前7章的課程。 請提出寶貴意見
[email protected] 實驗1 :文件和目錄操作 時間:1小時30分鐘 目標:熟悉一些基本文件和目錄操作命令的功能、語法和使用。練習組合以上命令以有效完成用戶任務。 實驗開始需要:一個安裝並能正常運行的Red Hat Linux系統。有一個帳戶名為student密碼為student的普通用戶。請與指導教師核對此帳戶是否存在,若student帳戶尚不存在,按以下步驟創建。 1. 以root用戶登錄虛擬控制台(如果在X下,按Alt+Ctrl+F1)。 2. 在提示符下輸入如下命令: #useradd student 創建普通用戶 student 3. 輸入如下命令: #passwd student changing passWord for user student New Unix password:{在此輸入student} BAD PASSWORD:it is based on a dictionary word Retype new Unix password:{再次輸入student} Passwd:all authentication tokens updated sUCcessfully 為普通用戶添加密碼 第一步:組織目錄和文件 情景故事: 大量文件積聚在你的home目錄,你決定該是重新組織它們的時候了。你計劃創建一些新的子目錄,並拷貝和移動你的文件以實現你新的規劃。另外,你還有一些根本不需要的文件,必須刪除掉。 任務: 1. 在虛擬控制台 (tty1) 以用戶名student (密碼為student)登錄 2. 登錄系統後,你應在你的home目錄下,可以用“打印當前工作目錄”命令驗證 $pwd /home/student 3. 用如下命令檢查你的home目錄下是否有文件 $ls 短格式顯示當前目錄下的文件 $ls –a 短格式顯示當前目錄下的所有文件(包括以點開頭的隱藏文件) $ls –al 長格式顯示當前目錄下的所有文件(包括以點開頭的隱藏文件) 為什麼第一個和第二個命令返回不同的文件數? 第三個命令報告在你的home目錄中最大的文件是什麼? 你的home目錄中有任何子目錄嗎? 4. 這一步中,你要用touch命令來創建新文件。touch命令的擴展用法的細節將在之後的單元中學習。現在,僅輸入如下的一行(包括花括弧和下劃線),在敲回車之前,讓你旁邊的同學或指導教師檢查一下你所輸入命令是否正確。 $touch {report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3} 5. 用ls命令檢驗上一命令的結果。你應發現在你的home目錄下已創建了108個新的空文件。這些文件代表你在隨後要用到的數據文件。如果由於某種原因你沒看到這些文件,可要求指導教師幫助;若沒有這些文件,後續實驗將無法進行。 6. 為組織你的文件,你必須首先創建一些新目錄,用mkdir命令在你的home目錄下創建一些子目錄。 $mkdir “A Report” $mkdir September October November decdmber 再次使用ls命令檢查你的工作成果。 7. 使用如下命令在你的新目錄中創建另外一些子目錄,輸入: $cd A\ Reports/ 或 $cd “A Reports”/ 改變目錄後,輸入: $mkdir 1 2 3 使用ls驗證你的“A Reports”子目錄是否有三個分別為1、2和3的新目錄。 8. 將你的home目錄下所有包含“b”記錄移出,並按月分組,當你使用復雜的通配符時,提前驗證是個好主意,這樣可確保對正確的文件進行操作。一種驗證方法是將你所要用的命令換為一個不會造成破壞的命令,並對該命令使用你准備使用的通配符。 $cd $ls –l *dec?b? 你應看到會列出9個“december”和“b”文件,現在用以下命令移出它們。 $mv *dec?b? december/ 列出december子目錄下的內容,以驗證文件移動操作是否成功。 $ls –l december/ 9. 將其余的“b”報告轉移到它們相應的目錄: $mv *nov?b? november/ $mv *oct?b? october/ $mv *sep?b? september/ 10. 你要將“a”報告歸類到它們相應數字的目錄 $cd “A Reports”/ $mv ~/*_a1 1/ “1”和“september”文件已不再需要,刪除它們並驗證正確移動了其它文件: $cd 1 $rm *sep* $ls 11. 將剩下的“a2”和“a3”報告移至它們相應目錄: $pwd /home/student/A Report/1 用相對路徑移動“a2”文件: $mv ../../*a2* ../2/ 用絕對路徑移出“a3”文件: $mv /home/student/*a3* /home/student/A\ Reports/3/ 12. 返回你的home目錄,用ls命令驗證這個目錄中只剩下“c”文件(如graph_dec_c1,graph_dec_c2等) 13.每個月的“c1” 和“c2”報告文件很重要,於是你想在另一個目錄下作個備份。 $mkdir /tmp/archive $cp report*[1-2] /tmp/archive/ 另外,所有12月的數據應備份至/tmp/archive目錄,注意,要使用-i選項,這樣在覆蓋文件時會得到提示信息。 $cp –i eport_dec* /tmp/archive/ cp: overwrite ‘/tmp/archive/report_dec_c1’?n cp: overwrite ‘/tmp/archive/report_dec_c1’?n 14. 現在你已備份了對於你來說重要的“c”文件,你想刪除仍保留在home目錄下的所有文件,查看剩余的文件表明:通配符*c*會匹配所有文件,你為什麼不執行rm *c*命令?(提示:嘗試使用ls *c*命令) 15.輸入如下命令刪除在你的home目錄中剩余的“c”文件 $rm *c[1-3] $ls A Reports december november october september 結果: 得到一個更有序組織的home目錄,文件放入了恰當的子目錄下。一些文件備份到了/tmp/archive目錄下。 第二步:確定磁盤使用情況 情景故事: 你想記錄你的系統中每個文件系統剩余的磁盤空間,另外,你想列出在你的系統中哪些目錄消耗了最大的空間。 任務: 1. 用df命令確定你的每個文件系統的剩余空間,你獲得的輸出結果應與以下類似(雖然由於特定的安裝不同,輸出可能不同) $df Filesystem lk-blocks Used Available Use% Mount on /dev/hda5 12880646 1634344 10591988 14% / /dev/hda1 36566 2476 32202 8% /boot 2. 注意:df命令的默認操作的報告信息是以塊為單位的,嘗試使用-h和-H選項,將會以“人類可讀的”形式報告信息。 $df -h Filesystem Size Used Avail Use% Mounted on /dev/hda5 12G 1.6G 10G 14% / /dev/hda1 36M 2.5M 31M 8% /boot $df -H Filesystem Size Used Avail Use% Mounted on /dev/hda5 13G 1.7G 10G 14% / /dev/hda1 37M 2.6M 31M 8% /boot 二者有什麼不同,為什麼?(使用 man df ) 3. 在你的home目錄下,使用du(disk usage磁盤使用)命令來確定你的文件正消耗多大的空間,為得到更為可讀的輸出,可嘗試使用-h選項。 第三步:檢查文本文件 任務: 1. 首先,我們需要使用一個文本文件。 $cd $cp /usr/share/dict/words . (注意這一“。” 點) 2. 使用cat顯示文件: $cat words 3. 在此情況下,使用cat命令是個糟糕的選擇,因為大部分的輸出將一閃而過。嘗試使用less命令: $less words 使用less命令,你可以每次一屏、並可向上滾動(使用b鍵)或向下滾動(使用空格鍵)來縱覽所有輸出。 4. 如果你只需要浏覽一個文件的前幾行或後幾行,你可以使用head或tail命令: $head words $tail words 你可以使用head和tail的手冊頁來查找哪個開關調整顯示的行數,哪個開關調整要顯示行的相對位置。 要顯示文本的前50行,你使用什麼命令? 要顯示文件中從第25000行開始到結尾,你使用什麼命令?