本篇內(nèi)容:順序執(zhí)行、選擇執(zhí)行、管道、cut 命令、grep 命令、wc 命令、sort 命令等linux命令,高效率使用 Linux 的技巧。
順序執(zhí)行多條命令
我們可以在dos命令符下輸入“ipconfig/release&ipconfig/renew”命令按回車重新獲取ip。先輸入 su 命令,接著輸入root管理員密碼回車,然后輸入以下命令回車執(zhí)行。接著在adb命令提示符窗口中,依次輸入如下命令并分別回車執(zhí)行,之后手機(jī)上的fastboot界面會消失,此時千萬不要以為出現(xiàn)了異常,或手機(jī)電量耗盡自動關(guān)機(jī),而是已經(jīng)進(jìn)入了深度刷機(jī)模式,在一些深度刷機(jī)的教程中,是通過運(yùn)行一個bat批處理腳本文件來實現(xiàn)的,其實執(zhí)行的還是這些命令,此處使用手動輸入執(zhí)行,更加安全一些(以前出現(xiàn)過米粉打開bat文件后,手機(jī)直接成死磚的情況)。
$ sudo apt-get update
# 等待——————————然后輸入下面的命令
$ sudo apt-get install some-tool //這里some-tool是指具體的軟件包,例如:banner
# 等待——————————然后輸入下面的命令
$ some-tool
簡單的順序執(zhí)行你可以使用;來完成,比如上述操作你可以:
$ sudo apt-get update;sudo apt-get install some-tool;some-tool
# 讓它自己運(yùn)行
2.2 有選擇的執(zhí)行命令
關(guān)于上面的操作,不知你有沒有思考過一個問題,如果我們在讓它自動順序執(zhí)行命令時,前面的命令執(zhí)行不成功,而后面的命令又依賴于上一條命令的結(jié)果,那么就會造成花了時間,最終卻得到一個錯誤的結(jié)果,而且有時候直觀的看你還無法判斷結(jié)果是否正確。那么我們需要能夠有選擇性的來執(zhí)行命令,比如上一條命令執(zhí)行成功才繼續(xù)下一條,或者不成功又該做出其它什么處理,比如我們使用which來查找是否安裝某個命令,如果找到就執(zhí)行該命令,否則什么也不做(雖然這個操作沒有什么實際意義,但可幫你更好的理解一些概念):
$ which cowsay>/dev/null && cowsay -f head-in ohch~
你如果沒有安裝cowsay,你可以先執(zhí)行一次上述命令,你會發(fā)現(xiàn)什么也沒發(fā)生,你再安裝好之后你再執(zhí)行一次上述命令,你也會發(fā)現(xiàn)一些驚喜。
上面的&&就是用來實現(xiàn)選擇性執(zhí)行的,它表示如果前面的命令執(zhí)行結(jié)果(不是表示終端輸出的內(nèi)容,而是表示命令執(zhí)行狀態(tài)的結(jié)果)返回0則執(zhí)行后面的,否則不執(zhí)行,你可以從$?環(huán)境變量獲取上一次命令的返回結(jié)果:
學(xué)習(xí)python與其他語言最大的區(qū)別就是,python的代碼塊不使用大括號({})來控制類,函數(shù)以及其他邏輯判斷。本文中所述的計算機(jī)程序是指,例如,以任何語言、代碼或符號表示的一組指令,能夠直接使具有信息處理能力的系統(tǒng)執(zhí)行特定功能,或者經(jīng)過以下一種或各種處理后使具有信息處理能力的系統(tǒng)執(zhí)行特定功能a)轉(zhuǎn)換成另一種語言、代碼或符號。在命令后面加上一個%20&%20符號,表示該命令放在后臺執(zhí)行,如:。
$%20which%20cowsay>/dev/null%20||%20echo%20"cowsay%20has%20not%20been%20install,%20please%20run%20'sudo%20apt-get%20install%20cowsay'%20to%20install"
除了上述基本的使用之外,我們還可以結(jié)合著&&和||來實現(xiàn)一些操作,比如:
$%20which%20cowsay>/dev/null%20&&%20echo%20"exist"%20||%20echo%20"not%20exist"