實驗樓原型設計-3-系統驗證及常用命令說明

星空mate發表於2020-11-28


為了給初學者一個好的體驗,本文對常用的命令進行了重複介紹,並進行了系統驗證。系統驗證部分我們只進行前五個以作例項,希望能夠對讀者有一定的幫助。
首先我們從網頁端進入以下路徑。cd /home/LKH/Desktop/vmware-tools-distrib/lkh/ex1。

指令:pwd

說明:pwd命令用於顯示工作目錄,執行pwd指令可立刻得知您目前所在的工作目錄的絕對路徑名稱。
使用方式:pwd [–help][–version]
具體使用過程為進入一個目錄然後輸入pwd命令即可,結果見圖4-1:
pwd執行結果
圖 4-1 pwd執行結果

指令:cd

說明:cd命令用於切換當前工作目錄至dirName(目錄引數),其中dirName表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的home目錄(也就是剛login時所在的目錄)。cd命令不僅顯示當前狀態,還改變當前狀態,它的用法跟dos下的cd命令基本一致。
使用方式:cd [dirName] //dirName:要切換的目標目錄
cd …可進入上一層目錄
cd -可進入上一個進入的目錄
cd ~可進入使用者的home目錄
實際操作下執行情況見下圖4-2:
cd各命令執行結果
圖 4-2 cd各命令執行結果
通過執行結果我們可以知道其功能與實際說明相符。執行成功。

指令:cp

說明:cp命令主要用於複製檔案或目錄,將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。
使用方式:cp [options] source dest 或
cp [options] source… directory
引數說明:
-a:此選項通常在複製目錄時使用,它保留連結、檔案屬性,並複製目錄下的所有內容。其作用等於dpR引數組合。
-d:複製時保留連結。這裡所說的連結相當於Windows系統中的快捷方式。
-f:覆蓋已經存在的目標檔案而不給出提示。
-i:與-f選項相反,在覆蓋目標檔案之前給出提示,要求使用者確認是否覆蓋,回答"y"時目標檔案將被覆蓋。
-p:除複製檔案的內容外,還把修改時間和訪問許可權也複製到新檔案中。
-r:若給出的原始檔是一個目錄檔案,此時將複製該目錄下所有的子目錄和檔案。
-l:不復制檔案,只是生成連結檔案。
範例:在ex1資料夾中建立檔案aaa.txt,將aaa.txt複製並命名為bbb.txt,然後在資料夾中建立test資料夾,將所有的txt檔案拷貝至test子目錄中,步驟驗證的截圖如下圖4-3所示:
cp命令執行結果
圖 4-3 cp命令的執行結果
從圖4-3中我們可以知道cp指令成功執行,通過ls(檢視當前資料夾下的所有檔案)以及cd命令的應用可驗證命令達到了我們所期望的結果。

指令:mv

說明:mv命令用來為檔案或目錄改名、或將檔案或目錄移入其它位置,將一個檔案移至另一檔案,或將數個檔案移至另一目錄。
使用方式:mv [options] source dest 或
mv [options] source… directory
引數說明:
-i: 若指定目錄已有同名檔案,則先詢問是否覆蓋舊檔案;
-f: 在 mv 操作要覆蓋某已有的目標檔案時不給任何指示;
表 mv操作命令格式和結果

表 4-1 mv操作命令格式和結果
範例:將aaa.txt改名為ccc.txt,執行情況見圖4-4,改名後將bbb.txt和ccc.txt檔案移到子資料夾test中,並取引數-f直接覆蓋已有同名檔案,執行情況見圖4-5,之後取引數-i再次執行見圖4-6:
圖4-4 aaa.txt改名為bbb.txt
圖 4-4 aaa.txt改名為bbb.txt
圖4-5檔案移動並覆蓋執行情況
圖 4-5 檔案移動並覆蓋執行情況
圖4-6 檔案移動並給覆蓋提示的執行情況
圖 4-6 檔案移動並給覆蓋提示的執行情況
從執行結果圖我們可以看到aaa.txt順利改名為bbb.txt,並且對於-i,-f兩種引數也明白了其用法,-i在有同名檔案存在情況下給予是否覆蓋的提示,而-f是直接覆蓋。

指令:chmod

說明:Linux/Unix的檔案呼叫許可權分為三級:檔案擁有者、群組、其他。利用chmod可以藉以控制檔案如何被他人所呼叫。
使用許可權:所有使用者。
使用方式:chmod [-cfvR] [–help] [–version] mode file…
引數說明:
mode:許可權設定字串,格式如下 :[ugoa…][[±=][rwxX]…][,…]
其中:
u表示該檔案的擁有者,g表示與該檔案的擁有者屬於同一個群體(group)者,o表示其他以外的人,a表示這三者皆是。
+表示增加許可權、-表示取消許可權、=表示唯一設定許可權。
r表示可讀取,w表示可寫入,x表示可執行,X表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
其他引數說明:
-c:若該檔案許可權確實已經更改,才顯示其更改動作
-f:若該檔案許可權無法被更改也不要顯示錯誤訊息
-v:顯示許可權變更的詳細資料
-R:對目前目錄下的所有檔案與子目錄進行相同的許可權變更(即以遞迴的方式逐個變更)
–help:顯示輔助說明
–version:顯示版本
範例:
將檔案aaa.txt設為所有人皆可讀取的兩種方式。執行情況見圖4-6。
將檔案 aaa.txt與bbb.txt設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入。執行情況見圖4-7。
將ex1.py設定為只有該檔案擁有者可以執行。執行情況見圖4-8。
將目前目錄下的所有檔案與子目錄皆設為任何人可讀取,執行具體情況見圖4-9所示:
將檔案設為所有人皆可讀的兩種方式
圖 4-6 將檔案設為所有人皆可讀的兩種方式
寫入許可權設定
圖 4-7 寫入許可權的設定
執行許可權的設定
圖 4-8 執行許可權的設定
將目前目錄下的所有檔案與子目錄皆設為任何人可讀取
圖 4-9 將目前目錄下的所有檔案與子目錄皆設為任何人可讀取
在本執行過程中我們通過ls –l檔名 檢視許可權,在圖4-6中我們可以看到該檔案的所有人都具有r操作(read讀操作)。圖4-7我們可以看到與該檔案的擁有者屬於同一個群體者增加了w許可權(寫操作)。圖4-8我們可以看到ex1.py檔案的擁有者增加了x許可權(執行操作)。圖4-9我們可以看到所有檔案都擁有r許可權,全部執行成功。

指令:ls

說明:ls命令用於顯示指定工作目錄下之內容(列出目前工作目錄所含之檔案及子目錄)。
使用方式:ls [-alrtAFR] [name…]
引數說明:
-a 顯示所有檔案及目錄(ls內定將檔名或目錄名稱開頭為".“的視為隱藏檔,不會列出)
-l 除檔名稱外,亦將檔案型態、許可權、擁有者、檔案大小等資訊詳細列出
-r 將檔案以相反次序顯示(原定依英文字母次序)
-t 將檔案依建立時間之先後次序列出
-A 同-a,但不列出”."(目前目錄)及"…"(父目錄)
-F 在列出的檔名稱後加一符號;例如可執行檔則加"",目錄則加"/"
-R 若目錄下有檔案,則以下之檔案亦皆依序列出
範例:
列出目前工作目錄下所有名稱是t開頭的檔案,越新的排越後面,執行結果見圖4-10。
將/bin目錄以下所有目錄及檔案詳細資料列出,執行結果見圖4-11。
列出目前工作目錄下所有檔案及目錄;目錄於名稱後加"/",可執行檔於名稱後加"
",執行結果見圖4-12。
列出目錄下t開頭的檔案
圖 4-10 列出目錄下t開頭的檔案
/bin目錄檔案
圖 4-11 /bin目錄檔案
當前目錄下所有檔案及目錄
圖 4-12 當前目錄下所有檔案及目錄
觀察執行結果我們可以發現所有例子均成功執行。

指令:rm

說明:rm命令用於刪除一個檔案或者目錄。
使用方式:rm [options] name…
引數說明:
-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。
範例:在當前目錄下建立一個test子資料夾,在子資料夾中建立f1.c,f2.c兩個c語言檔案,刪除所有c語言程式檔,刪除前逐一詢問確認,執行結果見圖4-13,。再在子資料夾中建立一個f1.txt檔案,然後刪除子目錄test及子目錄中的f1.txt檔案,執行結果見圖4-14。
在建立的test中建立並刪除所有c原始檔
圖 4-13 在建立的test中建立並刪除所有c原始檔
刪除目錄和目錄中所有文件
圖 4-14 刪除目錄和目錄中所有文件
在圖4-13中首先建立c原始檔f1、f2之後進行rm –i .c通過ls我們可以看到成功刪除子目錄中所有的c原始檔。-i是給予提示,.c是所有的c原始檔中。在圖4-14中首先建立檔案再執行rm -r test,-r即時刪除目錄和目錄中所有文件,我們可以看到它也會有刪除檔案的一些提示。之後通過ls我們可以看出刪除成功。

指令:rmdir

說明:rmdir命令刪除空的目錄。
使用方式:rmdir [-p] dirName
引數說明:
-p 是當子目錄被刪除後使它也成為空目錄的話,則順便一併刪除。
範例:
在當前目錄下建立一個test子資料夾,然後刪除該子目錄,執行結果見圖4-15。
在當前目錄下建立一個test子資料夾,然後進入該目錄,在子目錄下建立一個test子資料夾,返回建立之前的目錄,在當前目錄的test子目錄中,刪除名為test的子目錄,要求test被刪除後,test目錄為空目錄,則該目錄也刪除,執行結果見圖4-16:
建立並刪除test目錄
圖 4-15 建立並刪除test目錄
建立/test/test檔案目錄,並刪除
圖 4-16 建立/test/test檔案目錄,並刪除
通過圖4-15我們可以知道rmdir可以之間執行刪除目錄的功能,而當目錄有子目錄是,可通過圖4-16內容進行刪除,圖4-16對於子目錄中有目錄的情況加了-p來判斷刪除test/test後子目錄是否為空,為空則順便一起刪除。通過ls我們可以知道成功刪除。

指令:touch

說明:touch命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。ls -l可以顯示檔案的時間記錄。
使用方式:touch [-acfm][-d<日期時間>][-r<參考檔案或目錄>] [-t<日期時間>][–help][–version][檔案或目錄…]
引數說明:
a 改變檔案的讀取時間記錄。
m 改變檔案的修改時間記錄。
c 假如目的檔案不存在,不會建立新的檔案。與–no-create的效果一樣。
f 不使用,是為了與其他unix系統的相容性而保留。
r 使用參考檔的時間記錄,與–file的效果一樣。
d 設定時間與日期,可以使用各種不同的格式。
t 設定檔案的時間記錄,格式與date指令相同。
–no-create不會建立新檔案。
–help列出指令格式。
–version列出版本訊息。
範例:最簡單的使用方式,將檔案的時間記錄改為現在的時間,若檔案不存在,系統會建立一個新的檔案,執行和結果見圖4-17。
將ex1.py的時間記錄改為與aaa.txt一樣,執行和結果見圖4-18。
將ex1.py檔案的時間記錄改為"6:03pm 05/06/2000",執行結果見圖4-19:
更新ex1.py檔案的時間
圖 4-17 更新ex1.py檔案的時間
將ex1.py的時間記錄改為與aaa.txt一樣
圖 4-18 將ex1.py的時間記錄改為與aaa.txt一樣
自主修改檔案時間記錄
圖 4-19 自主修改檔案時間記錄
如圖4-17檢視ex1.py檔案建立時間,之後我們對它使用了touch命令更新了的建立時間為當前時間,觀察結果執行成功。圖4-18我們可以看到aaa.txt的建立時間與ex1.py的建立時間不同,執行命令後ex1.py的時間記錄與aaa.txt的時間記錄相同,可以看出命令執行成功。對於圖3-19對ex1.py檔案時間進行修改,修改後執行ls -l指令看到該檔案的時間記錄。執行成功。

指令:gzip

說明:gzip命令用於壓縮檔案,是個使用廣泛的壓縮程式,檔案經它壓縮過後,其名稱後面會多出".gz"的副檔名。
使用方式:gzip [-acdfhlLnNqrtvV][-S <壓縮字尾字串>][-<壓縮效率>][–best/fast][檔案…] 或 gzip [-acdfhlLnNqrtvV][-S <壓縮字尾字串>][-<壓縮效率>][–best/fast][目錄]
引數說明:
-a或–ascii 使用ASCII文字模式。
-c或–stdout或–to-stdout 把壓縮後的檔案輸出到標準輸出裝置,不去更動原始檔案。
-d或–decompress或----uncompress 解開壓縮檔案。
-f或–force 強行壓縮檔案。不理會檔名稱或硬連線是否存在以及該檔案是否為符號連線。
-h或–help 線上幫助。
-l或–list 列出壓縮檔案的相關資訊。
-L或–license 顯示版本與版權資訊。
-n或–no-name 壓縮檔案時,不儲存原來的檔名稱及時間戳記。
-N或–name 壓縮檔案時,儲存原來的檔名稱及時間戳記。
-q或–quiet 不顯示警告資訊。
-r或–recursive 遞迴處理,將指定目錄下的所有檔案及子目錄一併處理。
-S<壓縮字尾字串>或----suffix<壓縮字尾字串>更改壓縮字尾字串。
-t或–test 測試壓縮檔案是否正確無誤。
-v或–verbose 顯示指令執行過程。
-V或–version 顯示版本資訊。
-<壓縮效率> 壓縮效率是一個介於1-9的數值,預設值為"6",指定愈大的數值,壓縮效率就會愈高。
–best 此引數的效果和指定"-9"引數相同。
–fast 此引數的效果和指定"-1"引數相同。
範例:在這裡我們只做最簡單的操作,只進行檔案壓縮和解壓縮的執行,將檔案aaa.txt進行壓縮和解壓縮,步驟驗證的截圖如下圖4-20所示:
壓縮並解壓縮檔案aaa.txt
圖 4-20 壓縮並解壓縮檔案aaa.txt
由圖4-20我們可以看到檔案aaa.txt被壓縮和解壓縮,且檔名由aaa.txt變為aaa.txt.gz再到aaa.txt。執行成功。
到這裡我們應該可以看出,本系統已經是可以正常的執行了。下面分別在對tar命令,mail命令,Wall命令分別給予說明。

指令:tar(這裡開始是本機操作)

說明:命令用於備份檔案,是用來建立,還原備份檔案的工具程式,它可以加入,解開備份檔案內的檔案。
使用方式:接下來我們用幾個例子來講述tar的使用方式,如下範例。
範例:將當前目錄中所有檔案存檔到lkh.tar中,然後瀏覽lkh.tar檔案中的內容,再將lkh.tar檔案中的內容取到當前目錄中,執行情況見下圖4-21、4-22、4-23。新版的tar可以直接訪問和建立gzip壓縮的tar檔案,只要在tar命令中加上z選項就可以了,生成壓縮檔案lkh.tar.gz,顯示壓縮檔案lkh.tar.gz的內容,取出壓縮檔案lkh.tar.gz的內容,執行情況見下圖4-34所示:
將目錄中檔案存檔到lkh.tar
圖4-21 將目錄中檔案存檔到lkh.tar
瀏覽tar存檔檔案
圖4-22 瀏覽tar存檔檔案
圖 4-23 取出tar存檔檔案
圖 4-23 取出tar存檔檔案
圖 4-24 建立gzip壓縮的tar檔案
圖 4-24 建立gzip壓縮的tar檔案
對於圖4-21我們可以看到成功建立了檔案的備份,圖4-22可以成功的顯示檔案的資訊,圖4-23可以取出備份的內容。對於圖4-24,由於新版夏在tar命令中加上z選項就可以建立gzip壓縮的tar檔案,進行執行即可,可見執行結果成功。

指令名稱:mail

說明:mail不僅只是一個指令,mail還是一個電子郵件程式。
使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 …]
引數說明:
s 郵件標題
c 郵件地址(2個地址以上用,一個地址不用加此引數)
範例:將信件送給一個或以上的電子郵件地址,由於沒有加入其他的選項,使用者必須輸入標題與信件的內容這裡我們傳送給XXX@qq.com,執行情況見圖4-26,4-27,4-28。
將mail.txt的內容寄給yzhu@mcs.hpc.njnu.edu.cn,同時抄送給root@mcs.hpc.njnu.edu.cn,執行情況見圖4-29,4-30,4-31。
在傳送郵件前,我們應先安裝mailutils,如下圖4-25所示,進行安裝:
圖 4-25 mailutils安裝
圖 4-25 mailutils安裝
具體範例的步驟驗證的截圖如下圖35、36、37、38、39、40所示:
圖 4-26 傳送電子郵件
圖 4-26 傳送電子郵件
圖 4-27 檢視使用者傳送的郵件
圖 4-27 檢視使用者傳送的郵件
圖 4-28 郵件內容
圖 4-29 傳送檔案內容同時抄送

圖 4-29 傳送檔案內容同時抄送
郵件內容
圖 4-30 郵件內容
成功傳送
圖 4-31 成功傳送
在圖4-26中系統會提示輸入Subject標題,輸入然後回車換行輸入郵件的內容,內容輸入完成後需要按ctrl+d鍵結束。接收到的郵件都儲存在目錄 /var/spool/mail/使用者名稱,所以我們切換到該目錄下,然後對使用者執行cat指令檢視內容,可以得到圖4-28的郵件內容;圖4-29我們執行將mail.txt檔案內容傳送給一個使用者同時抄送給另一個使用者,檢視郵件內容如圖4-30,之後通過指令:/usr/lib/sendmail -bp來檢查所傳送的電子郵件是否送出,或滯留在郵件伺服器中,若顯示為“Mail queue is empty”的資訊,表示郵件已送出否則未成功發出,本實驗中執行結果圖4-31為成功發出。

指令:wall

說明:wall命令會將訊息傳給每一個mesg設定為yes的上線使用者。當使用終端機介面做為標準傳入時,訊息結束時需加上EOF(通常用Ctrl+D)。
使用許可權:所有使用者。
使用方式:wall [ message ]
範例:傳訊息“hi”給每一個使用者,在這之前我們需要從客戶端登入到伺服器端,用ssh登入,所以需要搭建環境首先檢視是否進行了安裝見圖4-32:
圖 4-32 檢視是否安裝openssh-server和openssh-client
圖 4-32 檢視是否安裝openssh-server和openssh-client
之後的重啟ssh服務見圖4-34所示:
圖 4-35 重啟ssh服務
圖 4-35 重啟ssh服務
然後輸入命令wall hi傳送訊息hi給每一個使用者。見圖4-35。
圖 4-36 傳送訊息
圖 4-36 傳送訊息
通過執行結果我們可以知道系統中已安裝了ssh相關服務,如果未安裝直接百度搜尋相關安裝教程即可,之後重啟ssh服務,並輸入wall hi命令即可看到執行結果見圖4-36.執行成功。

參考文獻

[1]董文革,吳雲,施宇.Linux作業系統課程網路教學平臺的應用[J].電腦知識與技術,2020,16(10):86-87.
[2]王繼敏.Linux下的基礎網路配置[J].科技視界,2019(34):115-116.
[3]Linux系統的路由實踐.萬方.2018[引用日期2019-08-04]
[4]Linux伺服器安全防護部署.萬方.2019[引用日期2019-08-04]
[5]馬強.Linux下防火牆的簡要分析與應用[J].資訊與電腦(理論版),2014(10):141.
[6]於巖.關於LINUX歷史的簡要回顧[J].軟體,1999(10):33.
[7]尚力,陳根土.Unix/Linux環境下實用程式awk的簡要分析及應用[J].金融科技時代,2013(10):56-57.
[8] .中國Linux市場現狀與特點分析[J].軟體世界,2004(07):64-65.
[9].https://blog.csdn.net/q_539860309/article/details/78850298
[10]. https://blog.csdn.net/jgzd1124/article/details/9289265
[11]. https://blog.csdn.net/weixin_30826095/article/details/95885218
[12]. https://blog.csdn.net/u011483095/article/details/79976365
[13].https://blog.csdn.net/WSNjiang/article/details/80617682?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
[14]. https://blog.csdn.net/jayxujia123/article/details/34125791
[15]. https://blog.csdn.net/qq_32005671/article/details/56276985
[16].https://blog.csdn.net/liuqinglai24/article/details/47662553?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
[17]. https://blog.csdn.net/dingsai88/article/details/43835989
[18]. https://www.bbsmax.com/A/RnJWY32Rdq/
[19]. https://recomm.cnblogs.com/blogpost/3504941
[20]. https://www.crifan.com/centos_recompile_install_python_2_7/
[21]. https://blog.csdn.net/a1368783069/article/details/54571691/
[22]. https://download.csdn.net/detail/weixin_39860009/10882336
[23]. https://www.cnblogs.com/beyang/p/8535255.html
[24]. https://blog.csdn.net/miniminixu/article/details/78177987
[25]. https://blog.csdn.net/Flykos/article/details/85161615
[26]. https://blog.csdn.net/qq_40899182/article/details/91953751
[27]. https://blog.csdn.net/umbrellasoft/article/details/100115815
[28].https://blog.csdn.net/cengjingcanghai123/article/details/22269111
[29]. https://blog.csdn.net/jcjc918/article/details/11022345

相關文章