版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
RedHatEnterprise
Linux5
基礎(chǔ)實驗
指南
實驗手冊目錄
RH033課程部分封面
任務(wù)11.0
如何切換使用Linux的控制臺1.1
在一個控制臺中使用startx
如何了解到其他用戶的信息1.2
如何修改自己的密碼13
如何切換到其他用戶1.4
任務(wù)22.0
查看Linux命令集幫助2.1
如何獲得mount
如何區(qū)分命令,參數(shù)和選項2.2
請敘述man手冊的1到8各自的幫助類型2.3
man5sysctlman8sysctlman2
任務(wù)33.0
請描述Linux下常用目錄以及目錄使用過程中注意事項3.1
如何快速切換到用戶主目錄3.2
能否不用切換到指定目錄而去查看目錄中的內(nèi)容3.3
請列舉五個以上描述/usr/bin和/sbin兩個目錄下的命令3.4
如何查看文件存放的節(jié)點位置3.5
如何查看叫文件3.6
如何列舉文件夾并按時間做排序3.7
如何查看/etc/文件夾本身的長格式信息3.8
什么情況下使用相對路徑和絕對路徑3.9
拷貝/etc/Ts開頭的conf文件到root主目錄中3.10
移動文件root主目錄中文件到/tmp目錄中3.11
如何快速建立一個6級的目錄夾3.12
使用rmdir和rm命令刪除空目錄和刪除有文件的目錄有什么不同3.13
任務(wù)44.0
1750權(quán)限設(shè)置給一個目錄夾會如何4.2
觀察chmodu+w,g+x,a-rwx命令改變文件權(quán)限存在什么問題4.3
如何同時修改文件夾的所有者和組4.4
如何手工創(chuàng)建一個用戶帳戶4.5
任務(wù)55.0
如何快速執(zhí)行曾經(jīng)執(zhí)行過的umount指令5.1
RH133課程吾B分封面
任務(wù)11.0
RH253課程部分封面
任務(wù)11.0
RH033課程部分
課程實驗?zāi)康模?/p>
RH033課程為廣大Linux初學(xué)者提供了非常好的入門指南,做為標(biāo)準(zhǔn)RHCE課程的補充,
實驗手冊提供了額外的知識補充,請學(xué)員按照對應(yīng)的章節(jié)先行獨立思考,查找Linux內(nèi)嵌聯(lián)機
文檔,解決實驗中的需求問題。在全部實驗完成后會實現(xiàn)一個非常大的提升。為將來的Linux
職業(yè)生涯奠定堅實的基礎(chǔ)。
1.1Linux提供了多個控制臺,可以提供我們在各個控制臺執(zhí)行不同的操作,那么如何切換使用Linux的控制
臺呢?
提示:Linux默認有6個文本控制臺和一個圖形控制臺,可以使用功能鍵的組合在各個控制臺之間切換
1.2在一個控制臺中使用startx命令不能登錄到圖形的原因是?
提示:請查看提示的錯誤信息,是沒有此命令嗎?
3.7默認文件列舉時按照文件名的首字母做排序,如果想知道最近生成的文件,那么要如何列舉文件夾并按時
間做排序呢?
提示:Is命令參數(shù)中帶有時間的選項,通過manIs杳詢。日期時間格式為
'+%Y-%m-%d%H:%M:%S'
3.7.1查看文件夾文件按時間方式逆序排序
解釋:Is-It默認為升序排序,并且顯示時間中不帶有年份,月信息也是按英文縮寫顯示
提示:查文檔找出reverse(反向)單詞,并找出選項開關(guān)
3.8Is命令提供了我們直看文件夾下的文件信息,但我們想知道文件夾本身的信息,要如何查看/etc/文件
夾本身的長格式信息呢?
提示:蟄文檔找出directory(目錄夾)單詞
目標(biāo):熟悉函數(shù)、語法和一些基本的文件和目錄的控制操作。
練習(xí)有效地組合這些命令完成一般的用戶任務(wù)
試驗的起點:安裝了RedHatLinux可運行系統(tǒng),有一個無特權(quán)用戶student,密碼:student
第一步:目錄和文件組織
場景/情節(jié)
在您的homo目錄下有一系列的文件,您決定到時間整理一下了,您計劃生成一些新的子目錄,然后根據(jù)您的計劃拷貝和移動這些文件到適當(dāng)?shù)哪?/p>
錄:另外,這些文件不是都有用的,有一些是要刪除掉的。
任務(wù):
1.以用戶名student密碼student在ttyl上登陸。
2.在您登陸系統(tǒng)以后,你將進入您的home目錄.你可以使用"打印工作目錄"檢查這一情況
$pwd
/home/student
3.使用如下每條命令檢查您是否還有文件在您的home目錄下:
$ls
$Is-a
$Is-al
為什么第一和第二條命令返回不同的文件數(shù)?
第三條命令返回的在您當(dāng)前的home目錄下最大的文件是多少?
您的home目錄下有子目錄嗎?
4.您現(xiàn)在使用touch為以后的步驟建立文件。這種擴展在接下來的命令中是如何工作的在以后的章
節(jié)中進行討論?,F(xiàn)在,僅僅按照下面的行鍵入就行了(在集合與集合之間使用包括花括號{}和下劃線
的字符)
$touch{report,memo,graph}_{sep,oct,no%dec}_{a,b,c}{l,2,3}
5.使用命令I(lǐng)s檢杳最后一條命令的結(jié)果,你會發(fā)現(xiàn)它在您的home目錄下生成了108個
新的空文件(您不必數(shù))。這些文件代表了您將使用的在這個步驟中的代表的數(shù)據(jù)文件。如果您看不到
這些文件,向教師尋找?guī)椭?,沒有這些文件,該試驗后面的步驟就無法進行。
6.為了組織您的文件,您必須先建立一些新目錄,使用mkdir在您的home目錄中直接
建立一些子目錄:
$mkdira_reports
$mkdirSeptemberOctobernovemberdecember
再使用Is檢杳您的工作。
7.使用如下命令在您的一個新的目錄中生成一些附加子目錄
$cda_reports
為了切換到目錄,接下來:
$mkdirl23
使用Is檢有你的子目錄a.reports下的名為1,2,3的三個新的子目錄。
8.首先把所有帶"b"的報告從home目錄中移出并且按月份分組,先驗證要使用的復(fù)雜的通配符模
式,是個好方法。這樣做以確保它對于正確的文件進行操作。如果你打算使用這種通配符模式,您可以
使用一個無害的命令來替換您的命令。
$cd
$Is-I*dec?b?
你將看到列出了9個"decemberH,"b"文件,把其中的一個移到december目錄中:
$mvgraph_dec_bldecember
用下面的語句移動其余的:
$mv*dec?b?december
列出december目錄的內(nèi)容驗證移動操作是否成功:
$Is-Idecember
total0
-rw-riA/-r-1studentstudent0Sep1817:45graph_dec_bl
-rw-ri/v-r-1studentstudent0Sep1817:45graph_dec_b2
-rw-riA/-r—1studentstudent0Sep1817:45graph_dec_b3
-rw-iw-r—1studentstudent0Sep1817:45memo_dec_bl
-rw-nA/-r—1studentstudent0Sep1817:45memo_dec_b2
-rw-nA/-r—1studentstudent0Sep1817:45memo_dec_b3
-rw-riA/-r—1studentstudent0Sep1817:45report_dec_bl
-rw-riA/-r—1studentstudent0Sep1817:45report_dec_b2
-rw-r^-r-1studentstudent0Sep1817:45report_dec_b3
9.把其余所有帶"b"的報告分別移動到各自對應(yīng)的目錄中:
$mv*oct?b?October
$mv*sep?b?September
10.現(xiàn)在你將把"a"報告收集到它們各自對應(yīng)的目錄中。注意使用~代替"你的home
目錄"。通配符和模式的組合指定了您的home目錄下所有以_al結(jié)尾的文件。
$cda_reports
$mv~/*_al1/
"September""al"文件陳舊并且不再需要,使用echo確定您已經(jīng)建立了一個只匹配該類文件的模
式,然后刪除它們,并且檢直剩下的"al”文件是否正確移動:
$cd1
$echo*sep*
$rm*sep*
$ls
graph_dec_algraph_oct_almemo_nov_alreport_dec_alreport_oct_algraph_nov_al
memo_dec_almemo_oct_alreport_nov_al
11.最后移動"a2"和"a3”報告到各自對應(yīng)的目錄中。為了使過程變得有趣,我們將把
它們移出當(dāng)前目錄,使用相對和絕對的的路徑名。第一步,使用pwd確定當(dāng)前目錄:
$pwd
/home/student/a_reports/l
用echo檢有涉及到"a2”文件的模式,然后使用絕對路徑名:
$echo/home/student/*a2*
$mv/home/student/*a2*/home/student/a_reports/2
即使您當(dāng)前在/home/student/a_reports/1目錄下,也能把文件從/home/student移動到
/home/student/a_reports/2目錄中,因為您指定了文件的路徑名稱(在本例中為絕對路徑名稱)
現(xiàn)在使用相對路徑移動"a3"文件。再一次的,首先確信模式指定的是正確的文件名稱。
$echo../../*a3*
$mv,./../*a3*../3
12.返回您的home目錄,并且使用Is來校驗僅存在該目錄中的文件都是文件(例如:
graph_dec_cl,graph_dec_c2,...)
13.“cl"和"c2"報告文件對于每個月來說都常重要,并且您打算把它們備份到另夕一個目錄:
$mkdir/tmp/archive
$cpreport*[12]/tmp/archive/
另外的,所有的對于十二月份的報告文件應(yīng)該備份到/tmp/archice目錄下面。注意,?i選項使得cp程
序在覆蓋彳土可文件之前進行提示:
$cp-ireport_dec*/tmp/archive/
cp:overwrite7tmp/archive/report_dec_cl'?n
cp:overwrite7tmp/archive/report_dec_c2'?n
14.現(xiàn)在您備份了一些對您重要的"c"文件,您現(xiàn)在要刪除位于您的home目錄下面所有的文件。使
用通配符"*c*"檢查剩下的含有c的文件。您為什么不想執(zhí)行命令rm*c*?
(作為提示:嘗試:歸*c*)
15.刪除您的home目錄下的剩余*c*文件。在發(fā)出一個破壞性的命令之前我們再次使用echo命令。
$echo*c[l-3]
$rm*c[l-3]
$ls
a_reportsdecembernovemberOctoberSeptember
試驗的結(jié)果
一個組織良好的home目錄,文件放置在合理的位置,一些文件備份到了/tmp/archive目錄中
第二步:決定磁盤的使用率
場景/情節(jié)
您想記錄您的系統(tǒng)中的每一個文件系統(tǒng)總共有多少剩余空間。
另外,您想有一個關(guān)于哪些目錄消耗了系統(tǒng)的多數(shù)的空間的列表。
任務(wù)
1.使用df獲取文件系統(tǒng)總的剩余空間,您的輸出應(yīng)該是類似于下面的例子(盡管輸出
依賴于您的特定的安裝,輸出可能不同)
$df
Filesystemlk-blocksUsedAvailableUse%Mountedon
/dev/hdc21412956818097281160209614%/
/dev/hdcl4974388473832819%/boot
none633120633120%/dev/shm
2.注意缺省的命令df操作是以塊為單位報告信息,試用-h,-H選項,則是用"用戶可讀的"形式報告
$df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/hdc213G1.8G11G14%/
/dev/hdcl49M8.7M37M19%/boot
none62M061M0%/dev/shm
$df-H
FilesystemSizeUsedAvailUse%Mountedon
/dev/hdc214G1.9G11G14%/
/dev/hdcl51M9.1M39M19%/boot
none65M064M0%/dev/shm
這兩個開關(guān)有什么不同(使用mandf)?
2.在您的home目錄使用du(磁盤使用率)命令來決定您所有的文件消耗的空間。確保嘗試-h選項獲
得更可讀的輸出。
第三步:檢視文本文件
任務(wù)
1.我們需要一個可供我們工作的文本文件:
$cd
$cp/usr/share/dict/words
2.使用cat顯示文件:
$catwords
Aarhus
Aaron
Ababa
…輸出省略????
Zulu
Zulus
Zurich
3.在這種情況下cat是一個壞的選擇,因為很多輸出快速的滾屏,試用less:
$lesswords
Aarhus
Aaron
Ababa
…輸出省略…
abiding
Abidjan
Abigail
…輸出省略…
使用less的時候,您可以向前翻頁(使用切,向后翻頁(使用空格鍵)在整個輸出中,每次一屏.
4.如果你只需要快速的看看某個文件的最前幾行和最后幾行,你要使用head或者tait
$headwords
Aarhus
Aaron
Ababa
aback
abaft
abandon
abandoned
abandoning
abandonment
abandons
$tailwords
zoologically
zoom
zooms
zoos
Zorn
Zoroaster
Zoroastrian
Zulu
Zulus
Zurich
您可以使用man幫助頁面發(fā)現(xiàn)能使用head和tail中的哪個開關(guān)修改行號或是顯示的行的相關(guān)的位置.
哪個命令你能使用顯示文本的前50行?
哪個命令您能使用顯示文件從第25,000行到結(jié)束的內(nèi)容?
試驗4
用戶信息
估計時間:30分鐘
目標(biāo):臧一些用戶標(biāo)識和帳戶轉(zhuǎn)換基本的控制操作。
試驗的起點:安裝了RedHatLinux可運行系統(tǒng),并且是成功完成試驗系統(tǒng)。有另夕I—個無特權(quán)用
戶visitor,密碼:visitor帳戶的存在。請教師檢杳您的系統(tǒng)中是否已經(jīng)建立這個帳戶。如果這個visitor
用戶帳戶沒有建立,按照以下步驟進行
1,用root帳戶登陸虛擬控制臺。
2.在提示符下鍵入以下命令
#useraddvisitor
3.現(xiàn)在鍵入
#passwdvisitor
Changingpasswordforuservisitor.
Newpassword:{輸入visitor}
BADPASSWORD:itisbasedonadictionaryword
Retypenewpassword:{輸入visitor)
passwd:allauthenticationtokensupdatedsuccessfully.
第一步:本地用戶登陸
任務(wù):
1.完全從工作站中退出。確定您已經(jīng)推出所有虛擬終端和XWindows系統(tǒng)
2.轉(zhuǎn)浜到虛擬終端1(ttyl)通過按:
3.使用密碼redhat進入root帳號登陸您的工作站
4.確定指定的登陸信息,使用下列命令:
#whoami
#groups
#id
檢直這些命令的輸出。
5.獲取工作站當(dāng)前所有登陸者信息,當(dāng)前,應(yīng)該只有一個用戶登陸系統(tǒng),按婦下順序鍵入的命令的輸出
是很有趣的。
#users
#who
#w
檢有這些命令的輸出。
6.轉(zhuǎn)浜到虛擬終端2(tty2)通過按
7.以用戶student,密碼:student登陸你的工作站。
8.獲取指定登陸者的信息,運行下列命令:
$whoami
$groups
$id
檢杳這些命令的輸出。
9.獲取工作站上當(dāng)前所有登陸者的信息:
$users
$who
$w
檢查這些命令的輸出。
10.轉(zhuǎn)換到虛擬終端3(tty3)通過按
11.以用戶visitor,密碼:visitor登陸你的工作站
12.獲取指定登陸者的信息,運行下列命令:
$whoami
$groups
$id
檢查這些命令的輸出。
13.獲取工作站上當(dāng)前所有登陸者的信息:
$users
$who
$w
檢查這些命令的輸出。
步驟2:切換帳戶
彳鎊:
1.按下如下的鍵切換到虛擬終端3(tty3)
2.運行id命令來決定您的用戶信息,pwd來喜愛能使您目前的工作目錄
$id
$pwd
記錄結(jié)果:
id=________________________________
pwd=_______________________________
3.使用su-來切換到root用戶,運行id和pwd來獲取您的當(dāng)前的目錄
$SU-
#id
#pwd
記錄結(jié)果:
id=________________________________
pwd=_______________________________
4.從root帳戶退出,返回到visitor帳戶
#exit
5.使用不含?的su切換到root用戶,運行pwd和id。
$su
#id
#pwd
記錄結(jié)果:
id=___________________________________________
pwd=__________________________________________
為什么和第3步驟的結(jié)果不同呢?
6.登出所有您在這個步驟中本地的和遠程的shell.
試驗6
Linux文件系統(tǒng)的要點
估計時間:90分鐘
目標(biāo):深入了解linux文件系統(tǒng)知識包括創(chuàng)建和使用links使用slocate和find,
歸檔壓縮文件。
試驗的起點:一個RedHatLinux系統(tǒng)。
第一步:創(chuàng)建和使用links
任務(wù):
1.在早些時候的試驗,你已經(jīng)拷貝了一個文件/usr/share/dict/words到你使用的用戶student的主目
錄~/words.在這個案例里,你不需要編輯文件-拷貝一個文件到你的主目錄就可以在試驗的期間使用
To
2.為了要避免原始文件和副本之間的混亂,在student's主目錄中刪除words的副本
$cd
$rmwords
3.雖然你可能沒有在那時了解它,這個文件/usr/share/dict/words的副本實際上是一個軟link。列出內(nèi)
容下面目錄/usr/share/dict的內(nèi)容查看link和它的參數(shù)。
$Is-I/usr/share/dict
total404
-rw-r—r—1rootroot409305Apr310:29linux.words
Irwxrwxrwx1rootroot11Apr2017:33words->linux.words
a.你能告訴我words是一個軟鏈接嗎?
b.為什么words的文件大小是11?
c.words允許所有人訪問。這和linux.v/ords文件用什么沖突?除了root用戶,其他用戶能夠能在
linux.words上面寫數(shù)據(jù)嗎?
4.再一次列出文件,這次顯示相應(yīng)的indeds號。為什么兩個文件會有相同或不同的inodes號?
$Is-I/usr/share/dict
5.現(xiàn)在在你的主目錄中產(chǎn)生兩個的代號和硬鏈接到/usr/share/dict/linux.words:
$In-s/usr/share/dict/linux.wordssoft
$In/usr/share/dict/linux.wordshard
6.測試一下,你新建的鏈接兩者都指到linux.words文件:
$headhardsoft
7.檢直你所有文件的link,然后在下面回答問題:
$Is-ilhardsoft
$stathadsoft
報告文件大小,hard和soft.
被占月的真實的空間,hard_____和soft.
你怎樣解釋這兩個link占用空間的差別。
列出鏈接的記數(shù),hard和soft.
所有權(quán),hard_____和soft.
文件硬鏈接的所有者和root用戶可以完全訪問,其他用戶是只讀權(quán)限。學(xué)生將會可以刪除這個新的文件
嗎?為什么?
8.更多的挑戰(zhàn):如果時間許可,探究一下下面的問題:
a.你能創(chuàng)建一個目標(biāo)文件并不存在的軟連接嗎?看看Is命令的輸出能否給你一些提示。
b.你能創(chuàng)建一個目標(biāo)文件并不存在的軟連接嗎?為什么?
c你能創(chuàng)建一個軟連接的硬連接嗎?當(dāng)你嘗試的時候有什么問題嗎?
d.在創(chuàng)建了幾個硬連接后,你能說出哪個是更加真實的文件嗎?
步驟2:使用find命令
任務(wù):
作為student登錄。設(shè)計完成find命令提出結(jié)果
直看你當(dāng)前的umask.設(shè)計并且運行find命令在每下列各項被描述的結(jié)果指令里。然后寫下提供的空格
里。
你可能需要在在find的manpage里密F找。記得你能用/stringzmanpage里查找。
第一個答案已經(jīng)為你列出。
1.在/var/lib目錄下查找所有文件其所有者是games用戶的文件
$find/var/lib-usergames2>/dev/null
2.在/var目錄下查找所有文件其所有者是root用戶的文件。
3.杳找所有文件其所有者不是root,bin和student用戶并用長格式顯示(如Is-I的顯示結(jié)果)。
4.杳找/usr/bin目錄下所有大小超過一百萬byte的文件并用長格式顯示(如Is-I的顯示結(jié)果)。
5.對/etc/mail目錄下的所有文件使用file命令.
6.查找/tmp目錄下屬于student的所有普通文件,這些文件的修改時間為120分鐘以前,查詢結(jié)果用
長格式顯示(如Is-I的顯示結(jié)果)。
7.對于杳到的上述文件,用-ok選項刪除。
步驟3:歸檔和壓縮
情景/故事:
你的系統(tǒng)上的主硬盤在你使用它的時候有可怕的噪音,但是它上面有有價值的數(shù)據(jù)。自從系統(tǒng)在兩年半
以前備份過,你有決定手動備份少數(shù)幾個你最緊要的文件。那/tmp目錄里諸存在不同的硬盤的分區(qū)上
快懷的分區(qū)這樣你想臨時的把文件備份至J那里。
任務(wù):
1.在/home目錄里,用find命令定位文件所有者是student的文件。然后將其壓縮。
$find/home-userstudent-exectarrvf/tmp/backup.tar{}V
2.保存/etc目錄下的文件到/tmp目錄下:
$tarcvf/tmp/confbackup.tar/etc
3.列出兩個文件的大小
$Is-lh/tmp/*.tar
-rw-rw-r-1studentstudent1.9MOct1723:06/tmp/backup.tar
-rw-r^-r—1studentstudent5.4MOct1800:27/tmp/confbackup.tar
backup.tar文件的大小
confbackup.tar文件的大小
4.使用gzip壓縮你的文檔。然后報告文件的大?。?/p>
$cd/tmp
$gzip-v*.tar
$Is-lh*tar*
-rw-riA/-r—1studentstudent580KOct1723:06backup.tar.gz
-rw-rw-r-1studentstudent913KOct180:27confbackup.tar.gz
backup.tar.gz文件大小為
backup.tar.gz文件的壓縮百分比
confbackup.tar.gz文件大小為
confbackup.tar.gz文件的壓縮百分比
5.先解壓縮bzip2文件然后在壓縮,然后比較新文件的大小:
$gunzip*.gz
$Is-Ih*tar
-rw-rw-r—11studentstudent1.9MOct1723:06backup.tar
-rw-rw-r—11studentstudent5.4MOct1800:27confbackup.tar
$bzip2-v*tar
$Is-Ih*tar
-rw-n/v-r—11studentstudent510KOct1723:06backup.tar.bz2
-rw-n/v-r—
backup.tar.bz2文件大小為
backup.tar.bz2文件的壓縮百分比
confbackup.tar.bz2文件大小為
confbackup.tar.bz2文件的壓縮百分比
6.在傳統(tǒng)UNIX系統(tǒng),
$rmconfbackup.tar.bz2
$tarczftestl.tgz/etc
$tarcjftest2.tbz/etc
$filetest*
testl.tgz:gzipcompresseddata,deflated,lastmodified:WedOct1801:52:112000,os:llnix
test2.tbz:bzip2compresseddata,blocksize=900K
結(jié)果:
你的"重要數(shù)據(jù)"被壓縮備份到/tmp目錄里了。
問題答案2
2.find/var-userroot-groupmail2>/dev/mull
3.find/-not-userroot-not-userbin-not-userstudent-Is2>/dev/null
or
find/!-userroot!-userbin!-userstudent-execIs-Id{}\;2>/dev/null
4.find/usr/bin-size+1000000c-Is2>/dev/null
5.find/etc/maill-execfile{}V2>/dev/null
6.find/tmp-userstudent-and-mmin+120-and-typef-Is2>/dev/null
7.find/tmp-userstudent-and-mmin+120-and-typef-okrm{}V
(end)
試驗7
bashShell
估計時間:45分鐘
目標(biāo):深入了解bashshell,包括創(chuàng)建定制。
試驗的起點:一個RedHatLinux系統(tǒng)。
第一步:使用Aliases
任務(wù):
1.你決定創(chuàng)建一個alias,當(dāng)你使用cis的時候,系統(tǒng)能夠運行clear命令清除你的屏幕。使用student
身份在ttyl登錄,然后輸入下列命令.
$aliascls='clear'
$alias
$cis
2.當(dāng)你重新登錄的時候這個別名就丟失了,確信新的別名在用戶student每次登錄的時候都能夠使用,
可以執(zhí)行一下幾步。
$cd
$vi.bashrc
查找包含下列的文字:#Userspecificaliasesandfunctions添加到你的別名命令行:
aliascls=zclear*
保存并推出。
3.測試你的改變當(dāng)你注銷的時候,重新登錄到ttyl上的時候,試下面的命令:
$alias
$cis
4.現(xiàn)在使用Is的manpage去創(chuàng)建一個叫l(wèi)r的別名利用Is的五個開關(guān)。測試并添加你的別名到.bashrc
中.這個別名能夠:
a)用長格式顯示文件
b)顯示隱含文件
c)給文件分類
d)用相反的順序顯示文件
e)按文件修改時間顯示文件。
目標(biāo):
一條新的清屏命令和一條新的列文件命令。(都是別名)
步驟2:改變你的bash提示
情景/故事:
你決定定制你的bash提示以能夠顯示完全的路徑和命令的序列號。
任務(wù):
5.在終端窗口,顯示當(dāng)前主要提示符的值。
$echo$PS1
6.改變你的提示符為一個字符串。
$PS1='RedHatLinux->/
7.這個不常使用,因此恢復(fù)到有$提示符的情況下,同時加上主機名。
$PS1='\h$'
8.在主機名和$符號之間插入bash表示歷史紀(jì)錄提示符的特殊字符\!。
9.直找bash的man手冊,把當(dāng)前的工作目錄放入提示符中。
10.你定制的提示符顯示實例,如不同請繼續(xù)修改。
stationl:-21$cd/tmp
stationl:/tmp22$
11.編輯你重新定義的PS1到你的.bashrc,然后打開新的終端窗口看看結(jié)果如何.
步驟3:配置shell選項
情景/故事:
使用set和shopt你定制幾個bashshell。
任務(wù):
12以student身份登錄ttyl界面上.查看許多普遍的配置shell選項:
$set-o
allexportoff
braceexpandon
emacson
errexitoff
hashallon
...outputtruncated...
13.察看目前ignoreeof的屬性,用ctrl+d鍵看是否能logout.
14.用student身份在ttyl上登錄,執(zhí)行下面的改變,然后測試ignoreeof選項:
$set-oignoreeof
$
$用"logout”退出shell
$set+oignoreeof
$
15.當(dāng)試圖執(zhí)行命令的時候可以看到提示信息.使用type的命令:
$typecat
catishashed(/bin/cat)
$typecis
cisisaliasedto'clear'
$typeset
shoptisashellbuiltin
$typewhile
whileisashellkeyword
結(jié)果:
現(xiàn)在你有一個更好的shelloptions.
問題答案4:命令替代
1.確定完全路徑名
$whichmetacity
$which.-message
$AmessageAwindow-demo
2.重復(fù)執(zhí)行上一個包含字符串ig的命令:
$ig
3.當(dāng)一個命令在另一個命令的后面用(’’)起來的時候,bash會先執(zhí)行后面的命令并把執(zhí)行的結(jié)果作為
第一個命令的輸入.使用這個技術(shù),看看下面命令的執(zhí)行結(jié)果.
$Is-I'whichnautilus'
(end)
試驗8
定制圖形化界面
估計時間:15分鐘
目標(biāo):探索Redhatliunx多種多樣的圖形化桌面環(huán)境..
試驗的起點:一個RedHatLinux系統(tǒng)。
第一步:定制窗口管理
任務(wù):
1.在你的桌面的左邊點擊RedHat圖標(biāo),選擇"屬性"然后點擊"控制中心".Nautilus將打開顯示的可
以定制你的桌面環(huán)境的窗口.
2.雙擊"背景”圖標(biāo).點擊"選擇圖片"按鈕,可用的圖片在/usr/share/backgrounds下,有一些圖片作為
墻紙很漂亮;你可以在"圖片選項"中選擇居中拉伸.
選擇一個你喜歡的,或者選"沒有圖片"然后你可以使用"背景風(fēng)格"顏色和屬性.當(dāng)你完成的后,關(guān)閉“背
景屬性”對話框.
3.雙擊"鼠標(biāo)”的圖標(biāo),這個參數(shù)面板你能夠調(diào)整雙擊的時間延遲,速度和靈敏度.
假如你伸左撇子,你也可以在這里選擇左收習(xí)慣
當(dāng)完成后選擇關(guān)閉“鼠標(biāo)屬性"對話框.
4.打開"桌面主題"面板.你可以選擇一個主題,默認的主題是"Bluecurve”.選一個你喜歡的,然后關(guān)閉
這個面板.
5.最后打開"工具欄",你能夠選擇你可以選擇下列特性中的一個:顯示工具條,或小的圖標(biāo).然后關(guān)閉面板.
目標(biāo):
RedHatLinux的桌面環(huán)境已經(jīng)按你的要求定制好了。
試驗9
標(biāo)準(zhǔn)輸入輸出和管道
估計時間:30分鐘
目標(biāo):熟悉RedHatLinux中的標(biāo)準(zhǔn)輸入輸出和管道
試驗的起點:標(biāo)準(zhǔn)的RedHatLinux安裝
步驟1:標(biāo)準(zhǔn)輸入和輸出
任務(wù):
1.使用你熟悉的編輯器創(chuàng)建兩個文件:
packagesl.txt應(yīng)該包含以下八行:
amanda
galleon
metacity
mozilla
postgresql
procinfo
rpmfind
squid
packages2.txt應(yīng)該包含以下6行
anaconda
openssh
gnome-core
samba
sendmail
xscreensaver
2.cat工具是最簡單的linux過濾器,它會默認把跟在后面的參數(shù)當(dāng)作文件名,并把這個文件作為輸入,
如果沒有文件名則把標(biāo)準(zhǔn)的輸入作為自己的輸入,然后將它們發(fā)送到標(biāo)準(zhǔn)的輸出上去?,F(xiàn)在我們來實驗
一下:
$catpackagesl.txt
3.如果cat后沒有參數(shù),則它會等待標(biāo)準(zhǔn)的輸入,所以當(dāng)你輸入cat命令后,再回車,然后什么也沒
有顯示。輸入cat后,cat命令會監(jiān)視標(biāo)準(zhǔn)輸入,等待輸入的到達。如果這個時候輸入一些文本,再按回
車,cat就會把輸入的內(nèi)容當(dāng)作自己的輸入,然后輸出到標(biāo)準(zhǔn)的輸出一顯示器上,結(jié)束cat的命令為
按下ctrl-d,這是結(jié)束輸入的標(biāo)志。
$cat
輸入一些文字,然后按回車。
Ad(就是按ctrl-d)
4.大多數(shù)的文本處理命令是執(zhí)行過濾操作,他們可以讀標(biāo)準(zhǔn)輸入,對輸入做一些動作,然后把結(jié)果發(fā)
送到標(biāo)準(zhǔn)輸出去。這些命令就向cat一樣,只是對輸入的處理不太一樣。
甘命令,也是過濾器命令,如果給tr后加兩個字符串做為參數(shù),它會讀取標(biāo)準(zhǔn)輸入,然后把輸入中包含
著前一個字符串的字符變成第二個字符串,然后輸出到標(biāo)準(zhǔn)輸出去。
把剛才的命令換成tr,tr將把字符串中有的字符變成大寫的。
$tr'aeiou''AEIOU'
輸入一些文字,然后按回車。
八d
5.定義shell不要把命令的輸出發(fā)到標(biāo)準(zhǔn)輸出上,而是重定向到一個文件中,我們使用>來重定向
重復(fù)cat的例子重定向標(biāo)準(zhǔn)的輸出到packagesl.catfile,這樣把輸出到屏幕的東西輸出到了文件中,效
果就和重新copy了一份文件是一樣的,cat這個輸出文件,然后用diff和Is確認原文件與
packagel.catfile內(nèi)容一樣。
$catpackagesl.txt>packagesl.catfile
$catpackagesl.catfile
$diffpackagesl.txtpackagesl.catfile
$Is-Ipackagesl*
6.使用>>來重定向會把輸出附加到已存在的文件的末尾。
把packages2.txt文件中的內(nèi)容附加到packagesl.catfile之后,然后檢驗結(jié)果。
$catpackages2.txt>>packagesl.catfile
$catpackagesl.catfile
7.如果輸出重定向時cat沒有直接跟文件名的參數(shù),那么cat就會等待標(biāo)準(zhǔn)的輸入,直到按下ctrl-d
作為結(jié)束,然后把所有輸入的東西重定向到這個文件中去。這樣可以很容易的創(chuàng)建一個文本文件,
$cat>typedin.txt
Thistime,whentextistypedatthekeyboard,
Itisnotechoedbacktothescreen.
Instead,itisredirectedtothefiletypedin.txt.
Ad
$Is-Itypedin.txt
$cattypedin.txt
8.使用tr取代cat,重復(fù)剛才的命令
$tr'aeiou''AEIOU'>trfile.txt
Thistime,whentextistypedatthekeyboard,
Itisnotechoedbacktothescreen.
Instead,itisredirectedtothefiletypedin.txt.
Ad
$Is-Itrfile.txt
$cattrfile.txt
9.使用set-o命令,確認顯示出目前bash的noclobber選項是關(guān)閉狀態(tài),確認當(dāng)輸出重定時向你
可以重寫文件
$set-o
$Is-I/tmp>trifle.txt
$Is-Itrfile.txt
$cattrifle.txt
10.使用set命令更改noclobber選項,如下操作:
$set-onoclobber
$echo"newcontents*1>trfile.txt
bash:trfile.txt:cannotoverwriteexistingfile
11.cat可以接受一個文件名或者是一個輸入重定向的文件,測試以下兩個命令:
$catpackagesl.txt
$cat<packagesl.txt
12.但是甘不能接受文件名作為參數(shù),它只希望輸入是標(biāo)準(zhǔn)輸入。
$tr'aeiou*'AEIOU'<packagesl.txt
13.下面的例子中標(biāo)準(zhǔn)輸入和輸出都被重定向,輸入還是packagesl.txt文件,這回改為輸出到文件
packagesl.trfile.txt中去了。
$tr'aeiou''AEIOU'<packagesl.txt>packagesl.trfile.txt
$Is-Ipackagesl.txtpackagesl.trfile.txt
$catpackagesl.trfile.txt
步驟2:管道
1.把一個命令的標(biāo)準(zhǔn)輸出直接傳輸給另一個命令作為它的標(biāo)準(zhǔn)輸入,這樣特殊的機制叫做管道。
如果沒有管道,你要想打印你的目錄中文件的列表至少要兩步,還需要把沒用的文件刪除,(Ipr命令可
以把文件的內(nèi)容發(fā)給默認的打印機,它的用法會在第12章講)(注意只有當(dāng)你沒有打印機時可以使用以
下的例子)
$Is-I>/tmp/ls.txt
$Ipr/tmp/ls.txt
$rm/tmp/ls.txt
使用管道,這些命令可以僅僅用以下短短的一條命令,將Is-I的輸出直接發(fā)送給Ipr作為輸入,Ipr也
不需要別的參數(shù)。
$Is-I|Ipr
2.管道經(jīng)常的用法是一個命令產(chǎn)生了很多頁的輸出,可以把這些輸出直接給less,管道左邊是你的命
令/右邊是less,less不需要參數(shù)。(空格鍵是翻頁,q鍵是退出less)
$Is-I/usr/bin|less
步驟3:練習(xí)
答案在下面,可以使用manpage來幫助你解決問題
1.拷貝一份cal命令的manpage,放在你的主目錄下,取名叫caiman。
2.只在一行上輸入什么樣的命令,可以使你從鍵盤上輸入的文本輸出到打印機上
3.怎樣把/usr/bin下以c或d開頭的文件列表發(fā)送到打印機上?
步驟3:練習(xí)-答案
1.mancal>cal.man
2.Ipr
Ipr打印出以后面的參數(shù)命名的文件中的內(nèi)容,如果沒有參數(shù)"pr就會從標(biāo)準(zhǔn)輸入中讀取,標(biāo)準(zhǔn)的輸入
是鍵盤,直到你按下ctrl-d表示鍵盤輸入結(jié)束。
3.Is-I/usr/bin/[cd]*|Ipr
試驗10
字符自處理
估計時間:60分鐘
目標(biāo):熟悉字符串處理
試驗的起點:一個RedHatLinux系統(tǒng)把/etc/passwd拷貝到你的主目錄下。
第一步:字符串處理基本知識
任務(wù):
L拷貝/etc/passwd到你的主目錄下:
$cd
$cp/etc/passwd
2.在/etc/passwd里面有系統(tǒng)里的每一人帳戶.使用wc,在passwd文件里計算有多少行。
$wc-Ipasswd
在你的系統(tǒng)里有多少個帳戶
3.找出本機中所有用戶使用的各種shell并把其放置在一個文件內(nèi):
$cut-d:-f7passwd>shells
4.使用cat命令查看你新的shells文件的內(nèi)容,為了使輸出結(jié)果更為友好.用sort命令輸出這些數(shù)據(jù)在
一個新的文件里:
$sortshells>sorted.shells
5.你的文件包含許多同樣的內(nèi)容.使用uniq命令可以計算出有多少個相同的行:
$uniq-
為什么在使用uniq之前要使用sort命令
6.按照數(shù)字由大到小的順序列出在你的機器上使用的各種shell:
$sort-nruniq.sorted.shells
i./sbin/nologin
6/bin/bash
1/sbin/shutdown
1/sbin/halt
1/bin/sync
結(jié)果:
按照數(shù)字由大到小的順序列出你機器上所有用戶使用的各種shell:
步驟2:更多的練習(xí)
為每一個練習(xí)寫下解決辦法.記住,答案是一個你想出辦法的命令,不是輸出.答案在實驗的最后被列出來了,
但是在對答案之前你可以試著完成每個任務(wù)每個答案將顯示單獨的一行這個命令aspell沒有man
page;你將怎樣獲得幫助呢?
7.有多少文件在/usr/bin目錄下?輸出是一個單一的整數(shù).提示:設(shè)計一個命令列出文件名到每
一行,然后計算一共有多少行.
8.歹U出下歹11文件/usr/share/doc/nautilus-*/NEWS中拼錯的單詞.
12.多少唯一的單詞從上述練習(xí)中輸出?
步驟2答案:
1Is-1/usr/bin|wc-I(注意Is的參數(shù)是數(shù)字1)
2aspell-I</usr/shar/doc/nautilus-*/NEWS
3aspell-I</usr/share/doc/nautilus-*/NEWS|sort|uniq|wc-I
試驗11
使用正則表達式進行字符處理
估計時間:60分鐘
目標(biāo):熟悉RedHatLinux中進行字符處理的幾個工具
試驗的起點:安裝RedHatLinux,并且能正常工作,拷貝/etc/passwd到
你的主目錄中
步驟1:使用grep進行字符處理
任務(wù):
1.在copy到你主目錄中的/etc/passwd文件的副本中,使用grep顯示出所有以"g"開頭的帳戶:
2.顯示出所有使用bashshell的帳戶:
$grep'bash$'passwd
3.顯示出沒有使用bash作為shell的帳戶:
$grep-v,bash$,passwd
4.為了做一使用diff的例子,我們要更改這個passwd文件的拷貝,先用grep把原文件中所有含有
"N"和"P"的行刪除:
$grep-v'[NP]'passwd>modified.passwd
5.最后再用tr將含有的所有大寫字母變成小寫:
$tr"A-Z""a-z"<modified.passwd>modified2.passwd
6.這時使用cat命令看原來的passwd文件和改過的modified2.passwd文件,不仔細看看不出其中的
區(qū)別,這只是小文件,如果文件大一些,想象一下?lián)碛袔浊€用戶的文件。使用diff可以產(chǎn)生兩個文件
中不同之處的列表。
$diffmodified2.passwdpasswd
14al5,16
>ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
>nobody:x:99:99:Nobody:/:/sbin/nologin
步驟2:正則表達式及字符處理
在任務(wù)下面的橫線上寫下你的解決方案,你要寫出你的命令而不是命令的輸出,答案在實驗最后,但是
要先試著自己解決,可以使用manpage來幫助你解決問題。
任務(wù):
1.使用grep顯示出/usr/share/dict/words文件中還有某參數(shù)的行,例如顯示出所有含有fish的行:
$grepfish/usr/share/dict/words
blowfish
bluefish
codfish
...outputtruncated...
unselfish
unselfishly
unselfishness
2.使用grep的manpage作為幫助,輸出任何包含fish的所有行,還要輸出緊接著這行的上下各兩
行的內(nèi)容:
3.使用grep的manpage作為幫助,找出相應(yīng)的命令,來顯示出在words文件中有多少行含有fish。
4.使用grep的幫助文件找出相應(yīng)的命令,顯示出那些行含有fish,并將行號一塊輸出看一看starfish
在哪行?
5.想列出/usr/share/dict/words中包含先有字母t然后有一個元音字母,之后是sh的單詞,命令為:
6.在/usr/share/dict/words文件中,創(chuàng)建可以符合abominable,abominate,anomie和atomize
的正則表達式,但是不要選到別的單詞。
7.S/usr/share/dict/words文件中包含多少先有字母t然后有一個元音字母,之后是sh的單詞,只
輸出數(shù)量。
8.列出/usr/share/dict/words中剛好包含16個字母的單詞:
9.我們將要使用/usr/share/doc文件夾來完成我們的下幾個任務(wù)。
歹U出/usr/share/doc/bash-2.05b文件夾中,所有包含單詞expansion的文件,
10.顯示出"Linux"在/usr/share/doc/bash-2.05b文件夾的文件中出現(xiàn)的次數(shù),但是不要顯示沒有
這個里詞的文件。提示:先列出所有的文件,然后想如何使輸出符合要求:
11.列出所有包含Havoc的文件名:
步驟3:使用正則表達進行文本流編輯
任務(wù):
想象你創(chuàng)建一個了名叫"cats”的文件包含以下單詞:
cat
catalog
concatenate
polecat
Cat
猜想執(zhí)行以下每個sed命令之后,把cats文件的每一行的執(zhí)行后的結(jié)果寫在后面:
1.sed's/cat/dog/'cats
cat__________
catalog__________
concatenate
polecat__________
Cat__________
2.sed's/[Cc]at/dog/'cats
cat__________
catalog__________
concatenate
polecat_______
Cat_______
3.sed'sA<[Cc]cat/dog/'cats
cat_______
catalog_______
concatenate
polecat_______
Cat_______
4.sed's/[Cc]at\>/dog/'cats
cat_______
catalog_______
concatenate
polecat_______
Cat_______
5.sed'sA<[Cc]at\>/dog/'cats
cat_______
catalog_______
concatenate
polecat_______
Cat.
6.sed'sA<[Cc]at\>/&anddog/'cats
cat__________
catalog__________
concatenate
polecat__________
Cat__________
7.創(chuàng)建一個‘cats'文件,運行sed命令,測試你的答案。
步驟2的答案:
2.grep-B2-A2"fish"/usr/share/dict/words
3.grep-c"fish"/usr/share/dict/words
4.grep-n-fish"/usr/share/dict/words
5.grep"t[aeiou]sh"/usr/share/dict/words
6."Aa.omi.*e$"
或
訣竅是判斷哪些字母是變化的哪些是不變的,注意想代替任意個任意字符要使用
7.grep-c"t[aeiou]sh$"/usr/share/dict/words
8.grep"A$"/usr/share/dict/words
或者:
grep-c"A.\{16\}$"/usr/share/dict/words
9.grep-Iexpansion/usr/share/doc/bash-2.05b/*
10.grep-c"Linux"/usr/share/doc/bash-2.05b/*|grep-v":0"
11.grep-R-I"Havoc"/usr/share/doc
試驗12
進程控制
估計時間:30分鐘
目標(biāo):練習(xí)與進程控制有關(guān)的不同命令
試驗的起點:安裝RedHatLinux,并且能正常工作,有一個用戶名和密
碼都為student的用戶
步驟1:進程控制
場景描述:
在這個任務(wù)中,大家會啟用幾個進程,然后使用bash的進程控制方法來控制它們。你將會在幾個控制
臺間切換,注意你在哪個控制臺上運行命令。
任務(wù):
1.開始使用student用戶在第一、二個控制臺(ttyl.tty2)上登陸
2.到ttyl上,然后運行以下命令:
$(whiletrue;doecho-nA>>log;sleepl;done)
3.注意這個控制臺現(xiàn)在因為在運行你的進程,所以處于忙的狀態(tài)(進程在前臺運行),這個進程不斷
把字母"A"添加進~/log文件中去,至Utty2上運行以下命令:
$tail-flog
你會看到"A"不斷增長
4.切換回控制臺ttyl,按下,shell會告訴你進程停止了,告訴你job號碼為1,切換回控制臺2,你
會看到文件不變了。
5.回到ttyl,再次啟動進程,運行jobs會顯示job[l]在運行了,到tty2上看到文件繼續(xù)增長了:
$bg
$jobs
6.到ttyl上,按向上的箭頭,重新找回第二步時的命令,把A換成B,在最后加上&,然后在把B換
成C:
$(whiletrue;doecho-nB>>log;sleepl;done)
$ABAC
7.輸入jobs確認三個進程都在運行,到tty2上看到每秒鐘會有三個字母增長。
8.在第4步你按ctrl-z時,實際上是給進程發(fā)一個信號,使用kill命令也可以給它們發(fā)信號,使用kill
來顯示信號列表和標(biāo)號,然后發(fā)一個SIGSTOP(19)的信號給job[l],到ttyl上執(zhí)行:
$kill-I
$k
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流管理的社會實踐報告
- 談軍訓(xùn)心得體會(33篇)
- 食品安全自檢自查制度
- 中專自我總結(jié)范文3篇
- 西湖導(dǎo)游詞600字(32篇)
- 山東省聊城市2024-2025學(xué)年高一上學(xué)期11月期中物理試題
- 江西省贛州市十八縣二十四校2024-2025學(xué)年高三上學(xué)期期中考試英語試題(含解析)
- 世界的海陸氣候與居民-2024年中考地理總復(fù)習(xí)易混易錯題(原卷版)
- 語文教學(xué)論教案 第一章 語文課程的性質(zhì)、理念及目標(biāo)
- 個人分期還款協(xié)議范本
- 南通市化學(xué)品生產(chǎn)負面清單與控制對策
- 療養(yǎng)院建筑設(shè)計規(guī)范
- 湘少版級英語單詞表吐血整理
- 2022版義務(wù)教育(英語)課程標(biāo)準(zhǔn)(含2022年修訂和新增部分)
- 市政工程質(zhì)量評估報告范本
- 噴漆烘干室設(shè)計方案
- 會議旁聽記錄表模板
- 建設(shè)項目主要污染物新增排放容量核定表試行
- 大體積混凝土熱工計算小軟件
- 由冷變熱(課堂PPT)
- 網(wǎng)球比賽計分表(共2頁)
評論
0/150
提交評論