Shell介紹
Shell 是一個(gè)用C語言編寫的程序臭埋,它是用戶使用Linux的橋梁啦逆。Shell既是一種命令語言,又是一種程序設(shè)計(jì)語言楣颠。
Shell 是指一種應(yīng)用程序尽纽,這個(gè)應(yīng)用程序提供了一個(gè)界面,用戶通過這個(gè)界面訪問操作系統(tǒng)內(nèi)核的服務(wù)球碉。
Ken Thompson的sh是第一種Unix Shell蜓斧,Windows Explorer是一個(gè)典型的圖形界面Shell仓蛆。
我這里學(xué)習(xí)的主要是Bash的shell學(xué)習(xí)睁冬,需要的可以關(guān)注了解下。
Shell的學(xué)習(xí)
最簡(jiǎn)單的shell腳本如下:
#!/bin/bash
echo "Hello World !"
"#!" 是一個(gè)約定的標(biāo)記看疙,它告訴系統(tǒng)這個(gè)腳本需要什么解釋器來執(zhí)行豆拨,即使用哪一種Shell
運(yùn)行shell腳本,在Linux或mac下直接將上面內(nèi)容保存為test.sh能庆,然后直接:
./test.sh
shell的變量施禾,數(shù)組,運(yùn)算學(xué)習(xí)搁胆,大家可以到下面地址學(xué)習(xí):
Shell的使用
這里放上第一個(gè)shell腳本
#!/bin/bash
echo '連接中...'
sshpass -p op7b14UN23 ssh root@192.168.30.5
上面的腳本是用來登錄linux 遠(yuǎn)程主機(jī)的腳本弥搞,可以節(jié)省你去記憶的時(shí)間。
第二個(gè)shell腳本
#!/bin/bash
echo '開始tomcat項(xiàng)目,重啟中....'
sshpass -p s9feO7Y9dqqa ssh -p 28852 root@45.78.57.1 'cd /usr/java/apache-tomcat-8.0.32_1/bin
./catalina.sh stop
./catalina.sh start'
echo '重啟完成....'
這個(gè)腳本主要是用來重啟linux主機(jī)上的tomcat項(xiàng)目的腳本渠旁。
第三個(gè)shell腳本
#!/bin/bash
cd /Users/aaa/git/test
mvn clean install
echo '打包完成....'
sshpass -p op7232UN2D ssh root@192.168.30.5 'rm -rf /home/www/jetty/webapps/ROOT.war'
sshpass -p op7232UN2D scp /Users/aaa/git/test/target/test-lastest.war root@192.168.30.5:/home/www/jetty/webapps/ROOT.war
echo '上傳完成....'
sshpass -p op7232UN2D ssh root@192.168.30.5 'cd /home/www/jetty
./bin/jetty.sh restart'
echo '執(zhí)行完成....'
第一步:將項(xiàng)目用maven打包編譯攀例。
第二步:將linux主機(jī)上的war包刪掉,然后將打包好的上傳上去顾腊。
第三步:重啟項(xiàng)目粤铭。
第四個(gè)shell腳本
#!/bin/bash
echo '請(qǐng)選擇操作,直接回車默認(rèn)選擇1:'
echo '1.連接測(cè)試環(huán)境'
echo '2.重啟alauda項(xiàng)目'
echo '3.重啟bulbul項(xiàng)目'
read aNum
if [[ $aNum -eq 1 ]]; then
echo '***************************連接中...'
sshpass -p op7b14U11D ssh root@192.168.35.5
elif [[ $aNum -eq 2 ]]; then
echo '***************************重啟alauda中...'
sshpass -p op7b14U11D ssh root@192.168.35.5 'cd /home/www/alauda_node_web_8080/bin/
./jetty.sh restart'
echo '***************************重啟完成'
elif [[ $aNum -eq 3 ]]; then
echo '***************************重啟bulbul中...'
sshpass -p op7b14U11D ssh root@192.168.31.5 'cd /home/www/alauda_node_operate_9095/bin/
./jetty.sh restart'
echo '***************************重啟完成'
else
echo '***************************連接中...'
sshpass -p op7b14U11D ssh root@192.168.35.5
fi
上面就是用來做多個(gè)選擇的腳本,選擇如下:
請(qǐng)選擇操作,直接回車默認(rèn)選擇1:
1.連接測(cè)試環(huán)境
2.重啟alauda項(xiàng)目
3.重啟bulbul項(xiàng)目
以上就是一些linux腳本的使用杂靶,更多的使用還需要根據(jù)需要自定義梆惯,上面有什么不對(duì)的地方請(qǐng)各位指正,還是菜鳥正在學(xué)習(xí)中吗垮,望大神手下留情垛吗。
Linux下vim命令
Vim是從 vi 發(fā)展出來的一個(gè)文本編輯器。代碼補(bǔ)完烁登、編譯及錯(cuò)誤跳轉(zhuǎn)等方便編程的功能特別豐富职烧,在程序員中被廣泛使用,被稱為編輯器之神。與emacs一起被稱為:emacs是神的編輯器蚀之,vim是編輯器之神蝗敢。
有興趣的可以了解下兩者的區(qū)別:《編輯器之神與神的編輯器》
vim 共分為三種模式,分別是一般模式足删、編輯模式與指令列命令模式寿谴。
Linux常用命令
1.必知命令
i 進(jìn)入到編輯模式
:w 保存文檔
:w! 不保存文檔,強(qiáng)制退出
:q 退出
:wq 保存退出
2.移動(dòng)光標(biāo)
[Ctrl]+[f] 屏幕『向下』移動(dòng)一頁失受,相當(dāng)于 [Page Down]按鍵 (常用)
[Ctrl]+[b] 屏幕『向上』移動(dòng)一頁讶泰,相當(dāng)于 [Page Up] 按鍵 (常用)
[Ctrl]+[d] 屏幕『向下』移動(dòng)半頁
[Ctrl]+[u] 屏幕『向上』移動(dòng)半頁
0 或功能鍵[Home],移動(dòng)到這一行的最前面字符處 (常用)
$ 或功能鍵[End] 拂到,移動(dòng)到這一行的最后面字符處(常用)
H 光標(biāo)移動(dòng)到這個(gè)屏幕的最上方那一行的第一個(gè)字符
M 光標(biāo)移動(dòng)到這個(gè)屏幕的中央那一行的第一個(gè)字符
L 光標(biāo)移動(dòng)到這個(gè)屏幕的最下方那一行的第一個(gè)字符
G 移動(dòng)到這個(gè)檔案的最后一行(常用)
nG 移動(dòng)到這個(gè)檔案的第 n 行痪署。例如 20G 則會(huì)移動(dòng)到這個(gè)檔案的第 20 行
gg 移動(dòng)到這個(gè)檔案的第一行,相當(dāng)于 1G 靶盅狼犯! (常用)
3.搜尋與取代
/word 向光標(biāo)之下尋找一個(gè)名稱為 word 的字符串。
?word 向光標(biāo)之上尋找一個(gè)字符串名稱為 word 的字符串领铐。
n 這個(gè)n是英文按鍵悯森。代表重復(fù)前一個(gè)搜尋的動(dòng)作。下一個(gè)
N 這個(gè)N是英文按鍵绪撵。與 n 剛好相反瓢姻,為『反向』進(jìn)行前一個(gè)搜尋動(dòng)作。
4.復(fù)制音诈,刪除幻碱,粘貼
yy 復(fù)制
nyy 復(fù)制n行
dd 刪除
ndd 刪除n行
p 粘貼
放上一張vim學(xué)習(xí)圖
還有一張我畫的思維導(dǎo)圖,給大家獻(xiàn)丑了
結(jié)束
以上就是一些Shell腳本學(xué)習(xí)與Linux下vim命令使用细溅,是我在工作過程中的使用和學(xué)習(xí)褥傍,
沒有使用過的可以去嘗試一下,簡(jiǎn)單好用你值的一學(xué)谒兄。
有什么問題歡迎給我來信或留言摔桦!