使用Unix操作系統(tǒng)中的好習(xí)慣
在使用Unix操作系統(tǒng)很久之后,我們都會有自己的一個(gè)使用模式,但是,下面我們介紹一個(gè)使用習(xí)慣,這些習(xí)慣可以讓我們在使用Unix操作系統(tǒng)過程中提高命令行工作效率。幫助您克服許多常見使用怪癖。
Unix操作系統(tǒng)將命令與控制操作符組合使用
您可能已經(jīng)知道,在大多數(shù)Unix操作系統(tǒng) Shell 中,您可以在單個(gè)命令行上通過在命令之間放置一個(gè)分號 (;) 來組合命令。該分號是 Shell 控制操作符,雖然它對于在單個(gè)命令行上將離散的命令串聯(lián)起來很有用,但它并不適用于所有情況。例如,假設(shè)您使用分號來組合兩個(gè)命令,其中第二個(gè)命令的正確執(zhí)行完全依賴于第一個(gè)命令的成功完成。
如果第一個(gè)命令未按您預(yù)期的那樣退出,第二個(gè)命令仍然會運(yùn)行——結(jié)果會導(dǎo)致失敗。相反,應(yīng)該使用更適當(dāng)?shù)目刂撇僮鞣ū疚膶⒚枋銎渲械牟糠植僮鞣V灰?Shell 支持它們,就值得養(yǎng)成使用它們的習(xí)慣。
Unix操作系統(tǒng)僅當(dāng)另一個(gè)命令返回零退出狀態(tài)時(shí)才運(yùn)行某個(gè)命令
使用 && 控制操作符來組合兩個(gè)命令,以便僅當(dāng) 第一個(gè)命令返回零退出狀態(tài)時(shí)才運(yùn)行第二個(gè)命令。換句話說,Unix操作系統(tǒng)如果第一個(gè)命令運(yùn)行成功,則第二個(gè)命令將運(yùn)行。如果第一個(gè)命令失敗,則第二個(gè)命令根本就不運(yùn)行。例如:
好習(xí)慣 1 的示例:將命令與控制操作符組合使用 ~ $ cd tmp/a/b/c && tar xvf ~/archive.tar
在此例中,存檔的內(nèi)容將提取到 ~/tmp/a/b/c 目錄中,除非該目錄不存在。如果該目錄不存在,則 tar 命令不會運(yùn)行,因此不會提取任何內(nèi)容。
Unix操作系統(tǒng)僅當(dāng)另一個(gè)命令返回非零退出狀態(tài)時(shí)才運(yùn)行某個(gè)命令
類似地,控制操作符分隔兩個(gè)命令,并且僅當(dāng)?shù)谝粋€(gè)命令返回非零退出狀態(tài)時(shí)才運(yùn)行第二個(gè)命令。換句話說,如果第一個(gè)命令成功,則第二個(gè)命令不會運(yùn)行。如果第一個(gè)命令失敗,則第二個(gè)命令才會 運(yùn)行。在測試某個(gè)給定目錄是否存在時(shí),通常使用此操作符,如果該目錄不存在,則創(chuàng)建它:
好習(xí)慣 1 的另一個(gè)示例:將命令與控制操作符組合使用 ~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c
您還可以組合使用本部分中描述的控制操作符。每個(gè)操作符都影響最后的命令運(yùn)行:
好習(xí)慣 1 的組合示例:將命令與控制操作符組合使用 ~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar
這些在Unix操作系統(tǒng)中的使用方法,我們要好好的掌握。希望大家也能夠養(yǎng)成好的習(xí)慣。來提高我們的效率。
【編輯推薦】