準確上講應該說是
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了澠池免費建站歡迎大家使用!
shell
腳本文件編程(當然了,在該
shell
腳本文件中也可以包含
linux
系統(tǒng)命令)。shell
腳本文件是一個文本文件,它是將你需要完成的各種復雜功能通過編寫
shell
程序來實現(xiàn)。例如:模式匹配(awk)
、字符串替換功能(sed)等。在
awk
和
sed
等工具的使用中肯定需要使用正則表達式的熟練使用,而
linux
命令是指
linux
系統(tǒng)的基本操作命令,例如:ls
列出文件名命令、cat
filename、cd
改變子目錄命令等等。這就是它們之間的區(qū)別。
沿著前面的軌跡,接下來是Linux中shell腳本的學習。這對于生信工程師后續(xù)處理大量 (海量更合適些) 數(shù)據(jù)是非常非常重要的,但是同樣的,作為一個有點古板的人,對于"腳本"是什么意思我都死磕了好久。主要覺得有些抽象,尤其是跟生信的同事討論項目分析部分的問題時,他們經(jīng)常會說道這個詞,在他們意識里這是個不言自明的術語,殊不知對外行人而言 (比如我),那簡直就是無情的"知識的詛咒"。經(jīng)常是我假裝聽懂了,然后繼續(xù)討論下面的問題,形成一個模糊的印象。
百度上的解釋是:腳本(Script)是一種批處理文件的延伸,是一種純文本保存的程序,一般來說的計算機腳本程序是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現(xiàn)一定的邏輯分支等。不知道你能不能看懂,反正我開始的時候真是一知半解。
鳥哥私房菜的解釋是:shell script是利用 shell 的功能所寫的一個"程序",這個程序是使用純文本文件,將一些shell的語法與命令(含外部命令)寫在里面,搭配正則表達式、管道命令與數(shù)據(jù)流重定向等功能,以達到我們所想要的處理的目的。不明覺厲,好像更看不懂了···
Jude 的簡單粗暴大白話解釋是:腳本就是Linux中很多命令按照一定規(guī)則的組合,以實現(xiàn)某個特定的功能。Linux中有很多簡單的命令,往往只是進行了簡單的對話,比如 cd 就是進入到某個目錄,簡單直接。但是如果我想進入某個目錄A,然后在目錄A中創(chuàng)建目錄B,再在目錄B中創(chuàng)建文本C呢?當然可以一步一步操作,如果想要一步到位呢,那就可以用腳本,把三個命令寫在一起,一起執(zhí)行。好像有點啰嗦···
或者從英語的角度去理解,腳本的對應英文是Script,而這個單詞的中文釋義中還有劇本的意思。劇本就好理解了啊,劇本就是導演(生信工程師)基于某個主旨(要實現(xiàn)的目標)按照一定的手法(規(guī)則)所寫的一個故事。不管是哪個演員,都得按照劇本演。所以,學好英語對于生信也是有幫助的~
按照腳本的復雜程度可以分為:
這個無需多說,其實就是若干個簡單命令的順序排列,執(zhí)行腳本后會按照命令的前后關系從前往后一一執(zhí)行。
相對于簡單的基本腳本,結構化的命令腳本可以施加邏輯流程控制,從而改變程序(命令)執(zhí)行的順序?;灸_本中的命令就是從上往下執(zhí)行,但是結構化的命令腳本可以根據(jù)邏輯判斷重復或者跳過某些命令。
常用的結構化命令(語句)有:
后面還有什么嵌套循環(huán)啊啥的,不過我覺得上面的7中命令學到家了,應該可以應付大部分在生信分析里面的應用了。
記得高中的時候,物理老師(也是班主任)在給我們講解習題時有個有意思的套路:不管什么難題現(xiàn)在下面寫個"答:",以示自己解決問題的決心,也是一種正向的心理暗示。腳本編寫也是有套路的,不過總的來說還是比較簡單。
對于簡單的腳本(超級簡單的那種),直接幾個命令連在一起即可,中間用";"隔開。
對于更長更復雜的腳本,一般需要創(chuàng)建一個文本,并在里面編輯。這就涉及到了文本編輯器,比較常用和簡單的一般有nano和vim,實在很簡單,規(guī)則也容易理解,教程隨手可得,不多說。
比如用vim創(chuàng)建了一個腳本之后,具體的語法(套路):
ok,腳本寫完了,怎么讓腳本開始工作呢?這有涉及到之前講過的環(huán)境變量和相對路徑、絕對路徑了。方法有三:
就這么多吧,應該有點感覺到了,剩下的就是狂練狂練了~
《Linux典藏大系:Linux Shell命令行及腳本編程實例詳解》這本書從理論結合實踐,全面、系統(tǒng)地介紹了 Linux Shell(Bash)腳本編程的語法、命令、技巧 等內(nèi)容。
下面介紹下目錄內(nèi)容,文末獲取PDF。
《Linux命令行與shell腳本編程大全》百度網(wǎng)盤pdf最新全集下載:
鏈接:
?pwd=33bh 提取碼: 33bh
簡介:這是一本關于Linux命令行與shell腳本編程的全方位教程,主要包括四大部分:Linux命令行,shell腳本編程基礎,高級shell腳本編程,如何創(chuàng)建實用的shell腳本。本書針對Linux系統(tǒng)的新特性進行了全面更新,不僅涵蓋了詳盡的動手教程和現(xiàn)實世界中的實用信息,還提供了與所學內(nèi)容相關的參考信息和背景資料。通過本書的學習,你將輕松寫出自己的shell腳本。 ?
《Linux命令行與shell腳本編程大全》(Richard Blum)電子書網(wǎng)盤下載免費在線閱讀
鏈接:
提取碼: ija2
書名:Linux命令行與shell腳本編程大全
作者:Richard Blum
譯者:武海峰
豆瓣評分:8.4
出版社:人民郵電出版社
出版年份:2012-9
頁數(shù):619
內(nèi)容簡介:
本書是一本關于Linux 命令行與shell 腳本編程的全面教程。全書分為四部分:第一部分介紹Linuxshell 命令行;第二部分介紹shell 腳本編程基礎;第三部分深入探討shell 腳本編程的高級內(nèi)容;第四部分介紹如何在現(xiàn)實環(huán)境中使用shell 腳本。本書不僅涵蓋了詳盡的動手教程和現(xiàn)實世界中的實用信息,還提供了與所學內(nèi)容相關的參考信息和背景資料。
本書內(nèi)容全面,語言簡練,示例豐富,適合于Linux 系統(tǒng)管理員及Linux 愛好者閱讀參考。
作者簡介:
Richard Blum 系統(tǒng)和網(wǎng)絡管理員,已經(jīng)在IT行業(yè)工作了22年多。他管理過UNIX、Linux、Novell和微軟服務器,用Linux shell腳本進行過自動化網(wǎng)絡監(jiān)測,并在大多數(shù)常見的Linux shell環(huán)境中寫過腳本。他還是一名網(wǎng)絡課程講師,美國各地的多所大學和學院都采用他的Linux基礎課程。除本書外,Richard還著有Professional Linux Programming等書。
Christine Bresnahan 系統(tǒng)管理員,已經(jīng)在IT行業(yè)工作了近30年。目前在印第安納波利斯市的常春藤技術社區(qū)學院擔任兼職教授,講授Linux系統(tǒng)管理、Linux安全和Windows安全等課程。
武海峰 Linux系統(tǒng)工程師,興趣集中在GNU/Linux和移動互聯(lián)應用,熱衷于開源軟件。曾在商業(yè)Linux廠商任職,從事移動設備操作系統(tǒng)集成和商業(yè)Linux發(fā)行版集成工作。