Linux運(yùn)行sql腳本的具體操作步驟如下:
創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)新巴爾虎右,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
1、使用shell工具登陸到安裝postgresql的服務(wù)器,切換到postgres用戶,postgresql默認(rèn)的操作用戶,命令是:su - postgres,查看當(dāng)前路徑是/var/lib/psql,創(chuàng)建一個(gè)test.sql腳本文件,命令是:vim test.sql。
2、sql腳本內(nèi)容是:create table test (id int not null primary key,name text);insert into test valus(1, 't1');
3、執(zhí)行test.sql腳本,命令是:psql -f test.sql
這里是因?yàn)閜ostgresql安裝本機(jī)上,在第一步中我們切換到了postgres用戶,因此這里默認(rèn)就是postgres用戶來操作,不用帶上用戶名和密碼。執(zhí)行結(jié)果如下,可以看到有兩個(gè)提示:
create table
insert 0 1
執(zhí)行完成后,我們登入數(shù)據(jù)庫(kù),命令是:psql
4、進(jìn)入psql交互式命令行后,我們執(zhí)行兩個(gè)查看命令:\d
可以看到表test確實(shí)已經(jīng)創(chuàng)建成功,然后執(zhí)行命令:\d test
可以看到表中字段是id和name,和我們創(chuàng)建語句中內(nèi)容一樣,說明第一條語句執(zhí)行成功。
5、查看表中數(shù)據(jù),命令是:select * from test;
顯示出來的值是1,t1,說明第二條執(zhí)行語句也執(zhí)行成功,說明test.sql腳本執(zhí)行成功。
6、默認(rèn)是postgres用戶,本機(jī)操作是,不需要用戶和密碼,現(xiàn)在我們來試試操作遠(yuǎn)程linux服務(wù)器上的postgresql,也就是說執(zhí)行本地的腳本文件,在遠(yuǎn)程服務(wù)器上創(chuàng)建表。如下面圖中所示,命令是:psql -U test1 -h 192.168.1.194 -f test.sql,輸入對(duì)應(yīng)用戶的密碼。
7、登陸到這個(gè)遠(yuǎn)程服務(wù)器上,命令是:psql -U test -h 192.168.194
執(zhí)行查看命令:\d,\d test
最后查詢數(shù)據(jù)庫(kù):select * from test;結(jié)果和上面都一致。
Linux cp命令主要用于復(fù)制文件或目錄
1.語法
2.參數(shù)說明
3.案例
3.1. cp 命令基本用法
3.2 復(fù)制目錄
3.3 復(fù)制軟鏈接文件
3.4. 保留源文件屬性復(fù)制
3.5. "-l" 和 "-s" 選項(xiàng)
4.cat
6.linux快速刪除大量文件
沿著前面的軌跡,接下來是Linux中shell腳本的學(xué)習(xí)。這對(duì)于生信工程師后續(xù)處理大量 (海量更合適些) 數(shù)據(jù)是非常非常重要的,但是同樣的,作為一個(gè)有點(diǎn)古板的人,對(duì)于"腳本"是什么意思我都死磕了好久。主要覺得有些抽象,尤其是跟生信的同事討論項(xiàng)目分析部分的問題時(shí),他們經(jīng)常會(huì)說道這個(gè)詞,在他們意識(shí)里這是個(gè)不言自明的術(shù)語,殊不知對(duì)外行人而言 (比如我),那簡(jiǎn)直就是無情的"知識(shí)的詛咒"。經(jīng)常是我假裝聽懂了,然后繼續(xù)討論下面的問題,形成一個(gè)模糊的印象。
百度上的解釋是:腳本(Script)是一種批處理文件的延伸,是一種純文本保存的程序,一般來說的計(jì)算機(jī)腳本程序是確定的一系列控制計(jì)算機(jī)進(jìn)行運(yùn)算操作動(dòng)作的組合,在其中可以實(shí)現(xiàn)一定的邏輯分支等。不知道你能不能看懂,反正我開始的時(shí)候真是一知半解。
鳥哥私房菜的解釋是:shell script是利用 shell 的功能所寫的一個(gè)"程序",這個(gè)程序是使用純文本文件,將一些shell的語法與命令(含外部命令)寫在里面,搭配正則表達(dá)式、管道命令與數(shù)據(jù)流重定向等功能,以達(dá)到我們所想要的處理的目的。不明覺厲,好像更看不懂了···
Jude 的簡(jiǎn)單粗暴大白話解釋是:腳本就是Linux中很多命令按照一定規(guī)則的組合,以實(shí)現(xiàn)某個(gè)特定的功能。Linux中有很多簡(jiǎn)單的命令,往往只是進(jìn)行了簡(jiǎn)單的對(duì)話,比如 cd 就是進(jìn)入到某個(gè)目錄,簡(jiǎn)單直接。但是如果我想進(jìn)入某個(gè)目錄A,然后在目錄A中創(chuàng)建目錄B,再在目錄B中創(chuàng)建文本C呢?當(dāng)然可以一步一步操作,如果想要一步到位呢,那就可以用腳本,把三個(gè)命令寫在一起,一起執(zhí)行。好像有點(diǎn)啰嗦···
或者從英語的角度去理解,腳本的對(duì)應(yīng)英文是Script,而這個(gè)單詞的中文釋義中還有劇本的意思。劇本就好理解了啊,劇本就是導(dǎo)演(生信工程師)基于某個(gè)主旨(要實(shí)現(xiàn)的目標(biāo))按照一定的手法(規(guī)則)所寫的一個(gè)故事。不管是哪個(gè)演員,都得按照劇本演。所以,學(xué)好英語對(duì)于生信也是有幫助的~
按照腳本的復(fù)雜程度可以分為:
這個(gè)無需多說,其實(shí)就是若干個(gè)簡(jiǎn)單命令的順序排列,執(zhí)行腳本后會(huì)按照命令的前后關(guān)系從前往后一一執(zhí)行。
相對(duì)于簡(jiǎn)單的基本腳本,結(jié)構(gòu)化的命令腳本可以施加邏輯流程控制,從而改變程序(命令)執(zhí)行的順序。基本腳本中的命令就是從上往下執(zhí)行,但是結(jié)構(gòu)化的命令腳本可以根據(jù)邏輯判斷重復(fù)或者跳過某些命令。
常用的結(jié)構(gòu)化命令(語句)有:
后面還有什么嵌套循環(huán)啊啥的,不過我覺得上面的7中命令學(xué)到家了,應(yīng)該可以應(yīng)付大部分在生信分析里面的應(yīng)用了。
記得高中的時(shí)候,物理老師(也是班主任)在給我們講解習(xí)題時(shí)有個(gè)有意思的套路:不管什么難題現(xiàn)在下面寫個(gè)"答:",以示自己解決問題的決心,也是一種正向的心理暗示。腳本編寫也是有套路的,不過總的來說還是比較簡(jiǎn)單。
對(duì)于簡(jiǎn)單的腳本(超級(jí)簡(jiǎn)單的那種),直接幾個(gè)命令連在一起即可,中間用";"隔開。
對(duì)于更長(zhǎng)更復(fù)雜的腳本,一般需要?jiǎng)?chuàng)建一個(gè)文本,并在里面編輯。這就涉及到了文本編輯器,比較常用和簡(jiǎn)單的一般有nano和vim,實(shí)在很簡(jiǎn)單,規(guī)則也容易理解,教程隨手可得,不多說。
比如用vim創(chuàng)建了一個(gè)腳本之后,具體的語法(套路):
ok,腳本寫完了,怎么讓腳本開始工作呢?這有涉及到之前講過的環(huán)境變量和相對(duì)路徑、絕對(duì)路徑了。方法有三:
就這么多吧,應(yīng)該有點(diǎn)感覺到了,剩下的就是狂練狂練了~
分享文章:linux簡(jiǎn)單腳本命令 linux 腳本
當(dāng)前地址:http://jinyejixie.com/article8/ddispop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、虛擬主機(jī)、網(wǎng)站設(shè)計(jì)、小程序開發(fā)、定制網(wǎng)站、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)