復(fù)習(xí)重點(diǎn)

1、選擇題20分,10個(gè)
2震蒋、填空題10分半醉,5個(gè)
3沐寺、簡(jiǎn)答題20分牲览,5個(gè)
4、情景題20分许昨,2個(gè)
5懂盐、shell編程題30分,3個(gè)

重點(diǎn)

主機(jī)規(guī)劃與磁盤分區(qū)

各硬件裝置在Linux中的文件名 p66

磁盤分區(qū):課本例題 p67

磁盤分區(qū)表例題 p70

磁盤分區(qū)的選擇 p75

第6章Linux的文件權(quán)限與目錄配置

文件名為目錄糕档、擁有者權(quán)限莉恼、同用戶組用戶權(quán)限、其他用戶權(quán)限

linux文件屬性速那,例題俐银。如何改變文件屬性和權(quán)限。
142 chmod 644 basic 146

詳細(xì)看例題端仰,有原題捶惜。

根目錄的上一層與根目錄自己是同一個(gè)目錄

第7章Linux文件與目錄

目錄和路徑,目錄的操作荔烧,文件目錄管理吱七,看例題汽久。171

文件目錄的權(quán)限與隱藏權(quán)限。有題踊餐,主要是例題景醇。180,181吝岭,182

情景模擬題:

情境模擬題一:假設(shè)系統(tǒng)中有兩個(gè)帳號(hào)三痰,分別是alex 與arod ,這兩個(gè)人除了自己群組之外還共同支援一個(gè)名為project 的群組窜管。假設(shè)這兩個(gè)用戶需要共同擁有/srv/ahome/ 目錄的開(kāi)發(fā)權(quán)散劫,且該目錄不許其他人進(jìn)入查閱。請(qǐng)問(wèn)該目錄的權(quán)限設(shè)定應(yīng)為何幕帆?請(qǐng)先以傳統(tǒng)權(quán)限說(shuō)明获搏,再以SGID 的功能解析。

?目標(biāo):了解到為何專案開(kāi)發(fā)時(shí)蜓肆,目錄最好需要設(shè)定SGID 的權(quán)限颜凯!
?前提:多個(gè)帳號(hào)支援同一群組,且共同擁有目錄的使用權(quán)仗扬!
?需求:需要使用root 的身份來(lái)進(jìn)行chmod, chgrp 等幫用戶設(shè)定好他們的開(kāi)發(fā)環(huán)境才行!這也是管理員的重要任務(wù)之一蕾额!
首先我們得要先制作出這兩個(gè)帳號(hào)的相關(guān)資料早芭,帳號(hào)/群組的管理在后續(xù)我們會(huì)介紹, 您這里先照著底下的指令來(lái)制作即可:
[root@www ~]# groupadd project <==增加新的群組
[root@www ~]# useradd -G project alex <==建立alex 帳號(hào)诅蝶,且支援project
[root@www ~]# useradd -G project arod <==建立arod 帳號(hào)退个,且支援project
[root@www ~]# id alex <==查閱alex 帳號(hào)的屬性
uid=501(alex) gid=502(alex) groups=502(alex),501(project) <==確實(shí)有支援!
[root@www ~]# id arod
uid=502(arod) gid=503(arod) groups=503(arod),501(project)
 
然后開(kāi)始來(lái)解決我們所需要的環(huán)境吧调炬!

1.首先建立所需要開(kāi)發(fā)的專案目錄:
[root@www ~]# mkdir /srv/ahome
[root@www ~]# ll -d /srv/ahome
drwxr-xr-x 2 root root 4096 Sep 29 22:36 /srv/ahome
 

2.從上面的輸出結(jié)果可發(fā)現(xiàn)alex 與arod 都不能在該目錄內(nèi)建立檔案语盈,因此需要進(jìn)行權(quán)限與屬性的修改。由于其他人均不可進(jìn)入此目錄缰泡,因此該目錄的群組應(yīng)為project刀荒,權(quán)限應(yīng)為770才合理。
[root@www ~]# chgrp project /srv/ahome
[root@www ~]# chmod 770 /srv/ahome
[root@www ~]# ll -d /srv/ahome
drwxrwx--- 2 root project 4096 Sep 29 22:36 /srv/ahome
# 從上面的權(quán)限結(jié)果來(lái)看棘钞,由于alex/arod 均支援project缠借,因此似乎沒(méi)問(wèn)題了!
 

3.實(shí)際分別以兩個(gè)使用者來(lái)測(cè)試看看宜猜,情況會(huì)是如何泼返?先用alex 建立檔案,然后用arod 去處理看看姨拥。
[root@www ~]# su - alex <==先切換身份成為alex 來(lái)處理
[alex@www ~]$ cd /srv/ahome <==切換到群組的工作目錄去
[alex@www ahome]$ touch abcd <==建立一個(gè)空的檔案出來(lái)绅喉!
[alex@www ahome]$ exit <==離開(kāi)alex 的身份

[root@www ~]# su - arod
[arod@www ~]$ cd /srv/ahome
[arod@www ahome]$ ll abcd
-rw-rw-r-- 1 alex alex 0 Sep 29 22:46 abcd
#仔細(xì)看一下上面的檔案渠鸽,由于群組是alex ,arod并不支援柴罐!
#因此對(duì)于abcd 這個(gè)檔案來(lái)說(shuō)拱绑, arod 應(yīng)該只是其他人,只有r 的權(quán)限而已袄鲂猎拨!
[arod@www ahome]$ exit
 
由上面的結(jié)果我們可以知道,若單純使用傳統(tǒng)的rwx 而已屠阻,則對(duì)剛剛alex 建立的abcd 這個(gè)檔案來(lái)說(shuō)红省, arod 可以刪除他,但是卻不能編輯他国觉!這不是我們要的樣子鞍墒选!趕緊來(lái)重新規(guī)劃一下麻诀。


4.加入SGID 的權(quán)限在里面痕寓,并進(jìn)行測(cè)試看看:
[root@www ~]# chmod 2770 /srv/ahome
[root@www ~]# ll -d /srv/ahome
drwxrws--- 2 root project 4096 Sep 29 22:46 /srv/ahome

測(cè)試:使用alex 去建立一個(gè)檔案,并且查閱檔案權(quán)限看看:
[root@www ~]# su - alex
[alex@www ~]$ cd /srv/ahome
[alex@www ahome]$ touch 1234
[alex@www ahome]$ ll 1234
-rw-rw-r-- 1 alex project 0 Sep 29 22:53 1234
#沒(méi)錯(cuò)蝇闭!這才是我們要的樣子呻率!現(xiàn)在alex, arod 建立的新檔案所屬群組都是project,
#由于兩人均屬于此群組呻引,加上umask 都是002礼仗,這樣兩人才可以互相修改對(duì)方的檔案!
 
所以最終的結(jié)果顯示逻悠,此目錄的權(quán)限最好是『2770』元践,所屬檔案擁有者屬于root即可,至于群組必須要為兩人共同支援的project 這個(gè)群組才行童谒!

簡(jiǎn)答題:

當(dāng)一個(gè)使用者的 umask 分別為 033 與 044 他所創(chuàng)建的文件與目錄的權(quán)限為何单旁?

在umask 為033 時(shí),則預(yù)設(shè)是拿掉group 與other 的w(2)x(1) 權(quán)限饥伊,因此權(quán)限就成為『檔案-rw-r--r-- 象浑, 目錄drwxr--r-- 』而當(dāng)umask 044 時(shí),則拿掉r 的屬性撵渡,因此就成為『檔案-rw--w--w-融柬,目錄drwx-wx-wx』

找出 /etc 底下,文件大小介於 50K 到 60K 之間的文件趋距,并且將權(quán)限完整的列出 (ls -l):

find /etc -size +50k -a -size -60k -exec ls -l {} \;

找出 /etc 底下粒氧,文件容量大於 50K 且文件所屬人不是 root 的檔名,且將權(quán)限完整的列出 (ls -l)节腐;

find /etc -size +50k -a ! -user root -exec ls -ld {} \;
find /etc -size +50k -a ! -user root -type f -exec ls -l {} \;

找出 /etc 底下外盯,容量大於 1500K 以及容量等於 0 的文件:

find /etc -size +1500k -o -size 0
相對(duì)于-a 摘盆,那個(gè)-o 就是或(or) 的意思啰!

第8章

磁盤與文件系統(tǒng)管理

Linux的Ext2文件系統(tǒng) 200

掛載點(diǎn)的意義

文件系統(tǒng)的簡(jiǎn)單操作 # fdisk/dev/hdc

磁盤分區(qū)饱苟、格式化孩擂、檢驗(yàn)與掛載

磁盤掛載與卸載

本章課后練習(xí)情景1和情景2考試其中一個(gè)

?情境模擬題一:復(fù)原本章的各例題練習(xí),本章新增非常多partition 箱熬,請(qǐng)將這些partition 刪除类垦,恢復(fù)到原本剛安裝好時(shí)的狀態(tài)。


?目標(biāo):了解到刪除分割槽需要注意的各項(xiàng)資訊城须;
?前提:本章的各項(xiàng)范例練習(xí)你都必須要做過(guò)蚤认,才會(huì)擁有/dev/hdc6, /dev/hdc7 出現(xiàn);
?需求:熟悉fdisk, umount, swapoff 等指令糕伐。

由于本章處理完畢后砰琢,將會(huì)有/dev/hdc6 與/dev/hdc7 這兩個(gè)新增的partition ,所以請(qǐng)刪除掉這兩個(gè)partition 良瞧。刪除的過(guò)程需要注意的是:


1.需先以free / swapon -s / mount 等指令查閱陪汽, /dev/hdc6, /dev/hdc7 不可以被使用!如果有被使用褥蚯,則你必須要使用umount 卸載檔案系統(tǒng)挚冤。如果是記憶體置換空間,則需使用swapon -s 找出被使用的分割槽遵岩, 再以swapoff 去卸載他你辣!


2.觀察/etc/fstab ,該檔案不能存在這兩個(gè)partition尘执;


3.使用『 fdisk /dev/hdc 』刪除,注意宴凉,由于是邏輯分割槽誊锭,這些分割槽一定從5 號(hào)開(kāi)始??連續(xù)編號(hào),因此你最好不要從6 號(hào)刪除弥锄!否則原本的7 號(hào)在你刪除6 號(hào)后丧靡,將會(huì)變成6 號(hào)!因此籽暇,你應(yīng)該由7 號(hào)刪除掉温治,再刪除6 號(hào)。


?情境模擬題二:由于我的系統(tǒng)原本分割的不夠好戒悠,我的用戶希望能夠獨(dú)立一個(gè)filesystem 附掛在/srv/myproject 目錄下熬荆。那你該如何建立新的filesystem ,并且讓這個(gè)filesystem 每次開(kāi)機(jī)都能夠自動(dòng)的掛載到/srv/myproject 绸狐, 且該目錄是給project 這個(gè)群組共用的卤恳,其他人不可具有任何權(quán)限累盗。且該 filesystem 具有 5GB 的容量。


?目標(biāo):理解檔案系統(tǒng)的建置突琳、自動(dòng)掛載檔案系統(tǒng)與專案開(kāi)發(fā)必須要的權(quán)限若债;
?前提:你需要進(jìn)行過(guò)第七章的情境模擬才可以繼續(xù)本章;
?需求:本章的所有概念必須要清楚拆融!

那就讓我們開(kāi)始來(lái)處理這個(gè)流程吧蠢琳!


1.首先,我們必須要使用fdisk /dev/hdc 來(lái)建立新的partition 镜豹,由于本章之前范例的partition 已經(jīng)在上一個(gè)練習(xí)中刪除傲须, 因此你應(yīng)該會(huì)多出一個(gè)/dev/hdc6 才對(duì):『fdisk / dev/hdc』,然后按下『 n 』逛艰,按下『Enter』選擇預(yù)設(shè)的啟始磁柱躏碳, 按下『+5000M』建立5GB 的磁碟分割槽,可以多按一次『p 』看看是否正確散怖,若無(wú)問(wèn)題則按下『w』寫入分割表菇绵;


2.避免重新開(kāi)機(jī),因此使用『 partprobe 』強(qiáng)制核心更新分割表镇眷;如果螢?zāi)怀霈F(xiàn)類似:『 end_request: I/O error dev fd0, sector 0 』的錯(cuò)誤時(shí)咬最,不要擔(dān)心啊欠动!這個(gè)說(shuō)明的是『找不到軟碟』永乌,我們本來(lái)就沒(méi)有軟碟, 所以這個(gè)錯(cuò)誤是可以忽略的具伍。


3.建立完畢后翅雏,開(kāi)始進(jìn)行格式化的動(dòng)作如下:『mkfs -t ext3 /dev/hdc6』,這樣就OK 了人芽!


4.開(kāi)始建立掛載點(diǎn)望几,利用:『 mkdir /srv/myproject 』來(lái)建立即可;


5.編寫自動(dòng)掛載的設(shè)定檔:『 nano /etc/fstab 』萤厅,這個(gè)檔案最底下新增一行橄抹,內(nèi)容如下:
/dev/hdc6 /srv/myproject ext3 defaults 1 2


6.測(cè)試自動(dòng)掛載:『 mount -a 』,然后使用『 df 』觀察看看有無(wú)掛載即可惕味!


7.設(shè)定最后的權(quán)限楼誓,使用:『 chgrp project /srv/myproject 』以及『 chmod 2770 /srv/myproject 』即可。

課后簡(jiǎn)答題:

如果由于你的主機(jī)磁盤容量不夠大名挥,你想要添加一顆新磁盤疟羹,并將該磁盤全部分割成單一分割槽,且將該分割槽掛載到 /home 目錄, 你該如何處置阁猜?

詳細(xì)的流程可以分為硬體組裝丸逸、磁碟分割、格式化剃袍、資料搬移與掛載等黄刚。
?安裝硬碟:關(guān)掉Linux 主機(jī)電源,若為IDE 介面時(shí)民效,需要處理跳針(jump) 憔维,放入主機(jī)后插好硬碟的排線與電源線,重新啟動(dòng)電源畏邢;
?磁碟分割:透過(guò)類似上述情境模擬二的動(dòng)作业扒,將整顆磁碟分割成單一主要分割槽,類似/dev/sdb1 占有全部容量舒萎;
?格式化:透過(guò)mkfs -t ext3 來(lái)格式化程储;
?資料搬移:由于原本的/home 還會(huì)有資料存在,因此你可以mount /dev/sdb1 /mnt 臂寝,再將/home 的資料復(fù)制到/mnt/ 中章鲤,例如:『 cp -a /home/* / mnt 』即可。復(fù)制完畢后卸載 /home 以及 /mnt
?重新掛載:編輯/etc/fstab 咆贬,將/home 所在的filesystem 裝置改為/dev/sdb1 之類的新分割槽败徊,然后mount -a 測(cè)試看看是否正確,如果正確的話掏缎,才是順利結(jié)束了這次的動(dòng)作皱蹦。

當(dāng)我有兩個(gè)文件,分別是 file1 與 file2 眷蜈,這兩個(gè)文件互為 hard link 的文件沪哺,請(qǐng)問(wèn), 若我將 file1 刪除酌儒,然后再以類似 vi 的方式重新創(chuàng)建一個(gè)名為 file1 的文件凤粗, 則 file2 的內(nèi)容是否會(huì)被更動(dòng)?

這是來(lái)自網(wǎng)友的疑問(wèn)今豆。當(dāng)我刪除file1 之后, file2 則為一個(gè)正規(guī)檔案柔袁,并不會(huì)與他人共同分享同一個(gè)inode 與block 呆躲,因此,當(dāng)我重新建立一個(gè)檔名為file1 時(shí)捶索,他所利用的inode 與block 都是由我們的filesystem 主動(dòng)去搜尋meta data 插掂,找到空的inode 與block 來(lái)建立的, 與原本的file1 并沒(méi)有任何關(guān)連性喔!所以辅甥,新建的file1 并不會(huì)影響file2 呢酝润!

第9章

練習(xí)文件的壓縮與打包,

情景題:2,3

?情境模擬題二:妳想要逐時(shí)備份/srv/myproject 這個(gè)目錄內(nèi)的資料璃弄,又擔(dān)心每次備份的資訊太多要销, 因此想要使用dump 的方式來(lái)逐一備份資料到/backups 這個(gè)目錄下。該如何處理夏块?


?目標(biāo):了解到dump 以及各個(gè)不同level 的作用疏咐;
?前提:被備份的資料為單一partition ,亦即本例中的/srv/myproject
?需求:/srv/myproject 為單一filesystem 脐供,且在/etc/fstab 內(nèi)此掛載點(diǎn)的dump 欄位為 1

實(shí)際處理的方法其實(shí)還挺簡(jiǎn)單的浑塞!我們可以這樣做看看:


1.先替該目錄制作一些資料,亦即復(fù)制一些東西過(guò)去吧政己!
cp -a /etc /boot /srv/myproject


2.開(kāi)始進(jìn)行dump 酌壕,記得,一開(kāi)始是使用level 0 的完整備份喔歇由!
mkdir /backups
dump -0u -j -f /backups/myproject.dump /srv/myproject
上面多了個(gè)-j 的選項(xiàng)卵牍,目的是為了要進(jìn)行壓縮,減少備份的資料量印蓖。


3.嘗試將/srv/myproject 這個(gè)檔案系統(tǒng)加大辽慕,將/var/log/ 的資料復(fù)制進(jìn)去吧!
cp -a /var/log/ /srv/myproject
此時(shí)原本的/srv/myproject 已經(jīng)被改變了赦肃!繼續(xù)進(jìn)行備份看看溅蛉!


4.將/srv/myproject 以level 1 來(lái)進(jìn)行備份:
dump -1u -j -f /backups/myproject.dump.1 /srv/myproject
ls -l /backups
妳應(yīng)該就會(huì)看到兩個(gè)檔案,其中第二個(gè)檔案(myproject.dump.1) 會(huì)小的多他宛!這樣就搞定啰備份資料船侧!


?情境模擬三:假設(shè)過(guò)了一段時(shí)間后,妳的/srv/myproject 變的怪怪的厅各,妳想要將該filesystem 以剛剛的備份資料還原镜撩, 此時(shí)該如何處理呢?妳可以這樣做的:


1.先將/srv/myproject 卸載队塘,并且將該partition 重新格式化袁梗!
umount /dev/hdc6
mkfs -t ext3 /dev/hdc6


2.重新掛載原本的partition ,此時(shí)該目錄內(nèi)容應(yīng)該是空的憔古!
mount -a
妳可以自行使用df 以及l(fā)s -l /srv/myproject 查閱一下該目錄的內(nèi)容遮怜,是空的啦!


3.將完整備份的level 0 的檔案/backups/myproject.dump 還原回來(lái):
cd /srv/myproject
restore -r -f /backups/myproject.dump
此時(shí)該目錄的內(nèi)容為第一次備份的狀態(tài)鸿市!還需要進(jìn)行后續(xù)的處理才行锯梁!


4.將后續(xù)的level 1 的備份也還原回來(lái):
cd /srv/myproject
restore -r -f /backups/myproject.dump.1
此時(shí)才是恢復(fù)到最后一次備份的階段即碗!如果還有l(wèi)evel 2, level 3 時(shí),就得要一個(gè)一個(gè)的依序還原才行陌凳!

第10章

vi操作部分剥懒,簡(jiǎn)單看一下操作即可。

第11章

變量的顯示與設(shè)置
變量?jī)?nèi)容的刪除合敦、替代與替換
數(shù)據(jù)流重定向
命令執(zhí)行的判斷依據(jù):;,&&,||
管道命令

簡(jiǎn)答題:

如何配置一個(gè)變量名稱為 name 內(nèi)容為 It's my name 初橘?

name=It\'s\ my\ name 或 name="It's my name"
?bash 環(huán)境設(shè)定檔主要分為哪兩種類型的讀取蛤肌?分別讀取哪些重要檔案壁却?
(1)login shell:主要讀取/etc/profile 及~/.bash_profile
(2)non-logni shell:主要讀取~/.bashrc 而已。
?CentOS 5.x 的man page 的路徑設(shè)定檔案裸准?
/etc/man.config

試說(shuō)明 ', ", 與 ` 這些符號(hào)在變量定義中的用途展东?

參考變數(shù)規(guī)則那一章節(jié),其中炒俱, " 可以具有變數(shù)的內(nèi)容屬性盐肃,' 則僅有一般字元,至于` 之內(nèi)則是可先被執(zhí)行的指令权悟。

連續(xù)命令中砸王, ;, &&, || 有何不同?

分號(hào)可以讓兩個(gè)command 連續(xù)運(yùn)作峦阁,不考慮command1 的輸出狀態(tài)谦铃, && 則前一個(gè)指令必需要沒(méi)有錯(cuò)誤訊息,亦即回傳值需為0 則command2 才會(huì)被執(zhí)行榔昔, || 則與&& 相反驹闰!

請(qǐng)問(wèn) foo1 && foo2 | foo3 > foo4 ,這個(gè)命令串當(dāng)中撒会, foo1/foo2/foo3/foo4 是命令還是文件嘹朗? 整串命令的意義為?

foo1, foo2 與foo3 都是指令诵肛, foo4 是裝置或檔案屹培。整串指令意義為:
(1)當(dāng)foo1 執(zhí)行結(jié)果有錯(cuò)誤時(shí),則該指令串結(jié)束怔檩;
(2)若foo1 執(zhí)行結(jié)果沒(méi)有錯(cuò)誤時(shí)褪秀,則執(zhí)行foo2 | foo3 > foo4 ;其中:
(2-1)foo2 將stdout 輸出的結(jié)果傳給foo3 處理薛训;
(2-2)foo3 將來(lái)自foo2 的stdout 當(dāng)成stdin 溜歪,處理完后將資料流重新導(dǎo)向foo4 這個(gè)裝置/檔案

第12章 正則表達(dá)式與文件格式化處理

grep的使用

sed工具:注意考試得是這一節(jié)的例題

awk工具的使用

情景練習(xí)1,2

?情境模擬題一:透過(guò)grep 搜尋特殊字串,并配合資料流重導(dǎo)向來(lái)處理大量的檔案搜尋問(wèn)題许蓖。


?目標(biāo):正確的使用正規(guī)表示法;
?前提:需要了解資料流重導(dǎo)向,以及透過(guò)子指令$(command) 來(lái)處理檔名的搜尋膊爪;

我們簡(jiǎn)單的以搜尋星號(hào)(*) 來(lái)處理底下的任務(wù):


1.利用正規(guī)表示法找出系統(tǒng)中含有某些特殊關(guān)鍵字的檔案自阱,舉例來(lái)說(shuō),找出在/etc 底下含有星號(hào)(*) 的檔案與內(nèi)容:

解決的方法必須要搭配萬(wàn)用字元米酬,但是星號(hào)本身就是正規(guī)表示法的字符沛豌,因此需要如此進(jìn)行: [root@www ~]# grep '\*' /etc/*
 
你必須要注意的是,在單引號(hào)內(nèi)的星號(hào)是正規(guī)表示法的字符赃额,但我們要找的是星號(hào)加派,因此需要加上跳脫字符(\)。但是在/etc/* 的那個(gè)* 則是bash 的萬(wàn)用字元跳芳!代表的是檔案的檔名喔芍锦!不過(guò)由上述的這個(gè)結(jié)果中,我們僅能找到/etc 底下第一層子目錄的資料飞盆,無(wú)法找到次目錄的資料娄琉, 如果想要連同完整的/etc 次目錄資料,就得要這樣做: [root@ www ~]# grep '\*' $(find /etc -type f)
 


2.但如果檔案數(shù)量太多呢吓歇?如同上述的案例孽水,如果要找的是全系統(tǒng)(/) 呢?你可以這樣做: [root@www ~]# grep '\*' $(find / -type f)
-bash: /bin/grep: Argument list too long
 
真要命城看!由于指令列的內(nèi)容長(zhǎng)度是有限制的女气,因此當(dāng)搜尋的對(duì)象是整個(gè)系統(tǒng)時(shí),上述的指令會(huì)發(fā)生錯(cuò)誤测柠。那該如何是好炼鞠?此時(shí)我們可以透過(guò)管線命令以及xargs 來(lái)處理。舉例來(lái)說(shuō)鹃愤,讓grep 每次僅能處理10 個(gè)檔名簇搅,此時(shí)你可以這樣想:


a.先用 find 去找出檔案;
b.用xargs 將這些檔案每次丟10 個(gè)給grep 來(lái)作為參數(shù)處理软吐;
c.grep 實(shí)際開(kāi)始搜尋檔案內(nèi)容瘩将。

所以整個(gè)作法就會(huì)變成這樣: [root@www ~]# find / -type f | xargs -n 10 grep '\*'
 


3.從輸出的結(jié)果來(lái)看,資料量實(shí)在非常龐大凹耙!那如果我只是想要知道檔名而已呢姿现?你可以透過(guò)grep 的功能來(lái)找到如下的參數(shù)! [root@www ~]# find / -type f | xargs -n 10 grep -l '\*'
 


?情境模擬題二:使用管線命令配合正規(guī)表示法建立新指令與新變數(shù)肖抱。我想要建立一個(gè)新的指令名為myip 备典, 這個(gè)指令能夠?qū)⑽蚁到y(tǒng)的IP 捉出來(lái)顯示。而我想要有個(gè)新變數(shù)意述,變數(shù)名為MYIP 提佣,這個(gè)變數(shù)可以記錄我的IP 吮蛹。

處理的方式很簡(jiǎn)單,我們可以這樣試看看:


1.首先拌屏,我們依據(jù)本章內(nèi)的ifconfig, sed 與awk 來(lái)取得我們的IP 潮针,指令為:
[root@www ~]# ifconfig eth0 | grep 'inet addr' | \
> sed 's/^.*inet addr://g'| cut -d ' ' -f1
 

2.再來(lái),我們可以將此指令利用alias 指定為myip 喔倚喂!如下所示: [root@www ~]# alias myip="ifconfig eth0 | grep 'inet addr' | \
> sed 's/^.*inet addr://g'| cut -d ' ' -f1 "
 

3.最終磷蛹,我們可以透過(guò)變數(shù)設(shè)定來(lái)處理MYIP 喔袄膏! [root@www ~]# MYIP=$( myip )
 

4.如果每次登入都要生效,可以將alias 與MYIP 的設(shè)定那兩行,寫入你的~/.bashrc 即可罕拂!

第13章shell script

1团甲、課后作業(yè)題
2挎春、傳遞參數(shù)給腳本的計(jì)算機(jī)題旗唁。

1、請(qǐng)建立一支 script ,當(dāng)你執(zhí)行該 script 的時(shí)候,該 script 可以顯示:
1.你目前的身份(用 whoami ) 2.你目前所在的目錄(用 pwd)

#!/bin/bash
echo -e "Your name is ==> `whoami`"
echo -e "The current directory is ==> `pwd`"

2刑巧、請(qǐng)自行建立一支程序,該程序可以用來(lái)計(jì)算『你還有幾天可以過(guò)生日』啊?

#!/bin/bash
read -p "Pleas input your birthday (MMDD, ex> 0709): " bir
now=`date +%m%d`
if [ "$bir" == "$now" ]; then
echo "Happy Birthday to you!!!"
elif [ "$bir" -gt "$now" ]; then
year=`date +%Y`
total_d=$(($((`date --date="$year$bir" +%s`-`date +%s`))/60/60/24))
echo "Your birthday will be $total_d later"
else
year=$((`date +%Y`+1))
total_d=$(($((`date --date="$year$bir" +%s`-`date +%s`))/60/60/24))
echo "Your birthday will be $total_d later"
fi

3喧兄、讓用戶輸入一個(gè)數(shù)字,程序可以由 1+2+3... 一直累加到用戶輸入的數(shù)字為止。

#!/bin/bash
read -p "Please input an integer number: " number
i=0
s=0
while [ "$i" != "$number" ]
do
i=$(($i+1))
s=$(($s+$i))
done
echo "the result of '1+2+3+...$number' is ==> $s"

4啊楚、撰寫一支程序,他的作用是: 1.) 先查看一下 /root/test/logical 這個(gè)
名稱是否存在; 2.) 若不存在,則建立一 個(gè)文件,使用 touch 來(lái)建立,建立完成后離開(kāi);
3.) 如果存在的話,判斷該名稱是否為文件,若為文件則 將之刪除后建立一個(gè)目錄,文件名
為 logical ,之后離開(kāi); 4.) 如果存在的話,而且該名稱為目錄,則移除 此目錄!

#!/bin/bash
if [ ! -e logical ]; then
touch logical
echo "Just make a file logical"
exit 1
elif [ -e logical ] && [ -f logical ]; then rm logical
mkdir logical
echo "remove file ==> logical"
echo "and make directory logical"
exit 1
elif [ -e logical ] && [ -d logical ]; then rm -rf logical
echo "remove directory ==> logical"
exit 1
else
echo "Does here have anything?"
fi

5吠冤、我們知道 /etc/passwd 里面以 : 來(lái)分隔,第一欄為賬號(hào)名稱。請(qǐng)寫一只程序,可以將
/etc/passwd 的第一欄 取出,而且每一欄都以一行字符串『The 1 account is "root"
』來(lái)顯示,那個(gè) 1 表示行數(shù)恭理。

#!/bin/bash
accounts=`cat /etc/passwd | cut -d':' -f1`
for account in $accounts
do
declare -i i=$i+1
echo "The $i account is \"$account\" "
done
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拯辙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子颜价,更是在濱河造成了極大的恐慌涯保,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件周伦,死亡現(xiàn)場(chǎng)離奇詭異夕春,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)专挪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門及志,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人寨腔,你說(shuō)我怎么就攤上這事速侈。” “怎么了迫卢?”我有些...
    開(kāi)封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵倚搬,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我乾蛤,道長(zhǎng)每界,這世上最難降的妖魔是什么捅僵? 我笑而不...
    開(kāi)封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮盆犁,結(jié)果婚禮上命咐,老公的妹妹穿的比我還像新娘。我一直安慰自己谐岁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布榛臼。 她就那樣靜靜地躺著伊佃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沛善。 梳的紋絲不亂的頭發(fā)上航揉,一...
    開(kāi)封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音金刁,去河邊找鬼帅涂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尤蛮,可吹牛的內(nèi)容都是我干的媳友。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼产捞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼醇锚!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起坯临,我...
    開(kāi)封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤焊唬,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后看靠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體赶促,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年挟炬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸥滨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辟宗,死狀恐怖爵赵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情泊脐,我是刑警寧澤空幻,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站容客,受9級(jí)特大地震影響秕铛,放射性物質(zhì)發(fā)生泄漏约郁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一但两、第九天 我趴在偏房一處隱蔽的房頂上張望鬓梅。 院中可真熱鬧,春花似錦谨湘、人聲如沸绽快。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)坊罢。三九已至,卻和暖如春擅耽,著一層夾襖步出監(jiān)牢的瞬間活孩,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工乖仇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留憾儒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓乃沙,卻偏偏與公主長(zhǎng)得像起趾,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子崔涂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容