git入門(一)認(rèn)識(shí)shell和vim編輯器

摘要: 在學(xué)習(xí)git版本之前需要先了解幾個(gè)概念别凹,什么是shell? 什么是版本管理? 常用的命令行命令诅愚? 什么是vim瘪弓? 什么是SSH因?yàn)榍宄牧私饬诉@些才能更好的理解git。
(1)什么是shell壹将?

????在計(jì)算機(jī)科學(xué)中嗤攻,Shell俗稱殼(用來區(qū)別于核),是指“提供使用者使用界面”的軟件(命令解析器)诽俯。它類似于DOS下的command.com和后來的cmd.exe妇菱。它接收用戶命令,然后調(diào)用相應(yīng)的應(yīng)用程序暴区。這句話感覺很抽象闯团,很難理解,其實(shí)用大白話說他就是是一個(gè)殼子仙粱,是相對于核心而言的房交,涉及到計(jì)算機(jī)的一個(gè)工作原理,比如操作計(jì)算機(jī)的人點(diǎn)擊任務(wù)欄中的小喇叭就可以控制其聲音的變化伐割,是不是感覺很神奇候味,喇叭發(fā)出聲音應(yīng)該是計(jì)算機(jī)硬件的事,操作者并沒有直接操作硬件隔心,而是通過點(diǎn)擊小喇叭圖標(biāo)就能就能讓硬件起作用白群,這到底是怎么一回事?其實(shí)硬件發(fā)生作用是由計(jì)算機(jī)內(nèi)核(核心)發(fā)生作用的济炎,雖然我們不能直接操作硬件,但是卻可以操作內(nèi)核辐真,讓內(nèi)核去操作硬件须尚,就可以讓硬件運(yùn)行起來崖堤。這時(shí)候又會(huì)出現(xiàn)一個(gè)問題,讓一個(gè)開發(fā)者直接去操作內(nèi)核顯然是不行的耐床,這時(shí)候就可以在這個(gè)核上進(jìn)行操作密幔,在上面包裝一層殼,這個(gè)殼可以是一個(gè)圖形界面撩轰,如widow系統(tǒng)就是一個(gè)圖行操作界面胯甩,我們可以通過操作圖形界面這個(gè)殼就可以間接的操作核,再由核驅(qū)動(dòng)硬件堪嫂。也就是說操作這操作殼偎箫,由殼來驅(qū)動(dòng)核,再由核來驅(qū)動(dòng)硬件皆串。按照這么理解我們的windows操作系統(tǒng)就是一個(gè)圖形界面殼淹办。當(dāng)然除了圖形界面的殼(shell),還可以是命令的殼(shell)恶复,如windows操作系統(tǒng)下有一個(gè)cmd.exe,這個(gè)就是命令行的shell怜森,再linux系統(tǒng)下有Boume again shell 這個(gè)命令行shell,簡稱bash谤牡。bash在windows系統(tǒng)中是沒有的副硅,因此在windows系統(tǒng)是不能直接使用bath的,但是可以通過安裝一些軟件應(yīng)用程序來模擬對應(yīng)的bath的大部分功能翅萤。恰好git就提供了這樣的一個(gè)bash恐疲,我們稱之為git bash.我們安裝好git后就可以使用bash命令了,安裝方式很簡單断序,直接下一步下一步的方式來安裝流纹。

(2) bash命令
  • (1) bash命令的格式:首先是一個(gè)命令,這個(gè)命令多種多樣违诗,命令后面是一個(gè)[]漱凝,表示可選項(xiàng),在所有的技術(shù)文檔中的中括號(hào)都表示可選項(xiàng)诸迟,在可選項(xiàng)后面又有[參數(shù)]茸炒,表示要傳遞給命令的參數(shù),也就是說一般一個(gè)命令都是由這三部分組成的阵苇,中括號(hào)的部分是可選的壁公。如下:

命令 [-options] [參數(shù)] 如: git commit -m '提交的內(nèi)容'

  • (2)常見的bath命令:如下:
  • cd (change directory) 表示切換目錄
  • ls (list) 表示查看當(dāng)前目錄下的內(nèi)容
  • mkdir (make directory) 表示創(chuàng)建目錄
  • touch 創(chuàng)建文件,如touch index.html
  • cat 查看文件全部的內(nèi)容如 cat index.html
  • more | less more和less都表示查看文件绅项,less是以分頁的方式來查看紊册,通過按空格來換頁
  • rm 刪除文件
  • rmdir 刪除目錄 ,必須是是空目錄才能刪除
  • rm -r 表示遞歸的刪除快耿,如rm -r css/ 可以刪除非空的目錄
    *mv (move) 移動(dòng)目錄或者重命名目錄囊陡,或者剪貼目錄
  • (copy) 復(fù)制目錄
  • head 如 head -n 10 index.html 或者 head -10 index.html表明查看文件的前10行
  • tail 如tail -n 10 index.html 表示查看文件的后10行
  • history 可以查看操作命令的歷史
  • >和>> 表示重定向如ls > index.html 表示的是: ls本身是輸出目錄列表到控制臺(tái)芳绩,但是通過重定向,將其輸出到了index.html文件中撞反,而不是控制臺(tái)了妥色。并且會(huì)將index.html中之前的內(nèi)容替換掉。>>也表示重定向遏片,但是表示的是追加而不是替換嘹害。
  • echo 表示輸出 比如echo hello 就會(huì)輸出hello,如果用echo hello > index.html 就會(huì)輸出到index.html。
  • wget 下載
  • tar 解壓
  • curl 網(wǎng)絡(luò)請求 如 curl htttp: www.baidu.com
  • | 表示管道符吮便,可以將多個(gè)命令連接起來使用
  • grep 正則匹配如 grep i index.html 表示在index.html查找以i開頭的笔呀,如ls | grep s 表示將ls列出的結(jié)果當(dāng)作grep的參數(shù)傳遞給grep 中匹配到s的。

ps:以上命令都是在說如創(chuàng)建线衫、刪除凿可,剪貼硫惕,重命名的操作署海,但是沒有提及到編輯,那么如何進(jìn)行編輯了稚矿?這就要用到編輯器了白热,如同windos中記事本一樣敛助,linux中也有對應(yīng)的編輯器,叫做vim,接下來了解vi編輯器

(3) vi編輯器

????vi中有一個(gè)命令vi屋确,如vi index.html纳击,就可以編輯index.html,但是必須注意的是vi index.html只是進(jìn)入一個(gè)編輯界面,而不能直接編輯攻臀,要進(jìn)行編輯需要配合vi的三種編輯模式來進(jìn)行焕数。分別是命令模式,輸入模式和底行模式刨啸。當(dāng)用vi進(jìn)入的就是命令行模式堡赔,此時(shí)是不能進(jìn)行編輯的,只有從命令行模式切換到輸入模式才可以進(jìn)行編輯设联,切換方式是輸入字母i或者a,此時(shí)就進(jìn)入到了輸入模式善已,這時(shí)候可以隨意改動(dòng),在輸入模式將內(nèi)容改動(dòng)好后需要進(jìn)入到底行模式才能進(jìn)行保存离例,那么怎么樣才能從輸入模式到底行模式换团?需要在輸入模式下按esc可以從輸入模式回到命令行模式,然后從命令模式切換過去宫蛆,方式是輸入冒號(hào)艘包,但是冒號(hào)必須依賴shift建,所以從命令行到底行需要輸入shift+:,進(jìn)入底行 模式就可以進(jìn)行保存操作了通過在底行模式下輸入w(write)想虎,保存并退出的話用wq,然后回車衰絮,不保存強(qiáng)制退出用q!。具體的命令如下:

底行模式下:

  • wq 保存并退出
  • q! 不保存強(qiáng)制退出
  • e! 回到上一次保存的狀態(tài)
  • set nu 設(shè)置行號(hào)

命令行模式下:

  • ZZ 保存并退出
  • u 撤銷操作磷醋,可多次使用嗎,相當(dāng)于windows中的ctrl+z
  • dd 表示刪除當(dāng)前行
  • yy 表示復(fù)制當(dāng)前行胡诗,在光標(biāo)當(dāng)前行輸入yy就可以將內(nèi)容復(fù)制到剪貼板邓线。
  • p 粘貼內(nèi)容,可以將剪貼板的內(nèi)容粘貼到當(dāng)前光標(biāo)所在的行的位置
  • ctrl + f 向前翻頁
  • ctrl + b向后翻頁
  • i 從命令行進(jìn)入到輸入模式煌恢,在當(dāng)前光標(biāo)處插入
  • a 從命令行進(jìn)入到輸入模式骇陈,在當(dāng)前光標(biāo)后插入
  • A 從命令行進(jìn)入到輸入模式,光標(biāo)移動(dòng)到行尾
  • o 從命令行進(jìn)入到輸入模式瑰抵,當(dāng)前行下面插入新行
  • O 從命令行進(jìn)入到輸入模式你雌,當(dāng)前行上面插入新行
(4) SSH是什么

????ssh就像http一樣也是一種網(wǎng)絡(luò)協(xié)議, 常用語計(jì)算機(jī)與計(jì)算機(jī)之間的登陸操作二汛,為什么會(huì)有這樣的操作了婿崭?因?yàn)槌绦騿T最終的代碼會(huì)放到服務(wù)器上去,當(dāng)程序員開發(fā)完程序了肴颊,不可能拿U盤將代碼拷到服務(wù)器上去氓栈,而是通過遠(yuǎn)程登陸到公司服務(wù)器,直接將代碼通過遠(yuǎn)程推到服務(wù)器婿着∈谑荩可見用一臺(tái)電腦登陸另一臺(tái)電腦是很常見的事情。但是這種方式是在網(wǎng)絡(luò)上進(jìn)行的竟宋,存在數(shù)據(jù)安全問題提完,因?yàn)楫?dāng)輸入用戶名和密碼通過網(wǎng)絡(luò)遠(yuǎn)程登陸的過程中,有可能用戶名和密碼被別人攔截掉丘侠,然后別人登陸遠(yuǎn)程服務(wù)器進(jìn)行非法操作徒欣,因此就有了像SSH這樣的協(xié)議來對數(shù)據(jù)進(jìn)行加密傳輸,不能直接用明文傳輸婉陷。比如我們輸入的密碼是123帚称,傳遞的過程中就不能通過123進(jìn)行傳遞,而是通過加密秽澳,這樣闯睹,即使別人攔截掉他也看不懂。那么怎么樣進(jìn)行加密了担神?ssh加密協(xié)議提供了兩種機(jī)制楼吃,如下:
????【1】對稱性加密:就是在加密的時(shí)候是一個(gè)密鑰,對方在解密的時(shí)候使用同樣的密鑰,比如加密用fff,解密也用fff,也就是加密和解密用的是同樣的密鑰孩锡,但是對稱性加密存在在缺陷酷宵,因?yàn)槟阌妹荑€加密了,但是對方不知道是用什么樣的密鑰來進(jìn)行加密的躬窜,因此在加密的同時(shí)一同要將加密的密鑰傳遞到對方浇垦,顯然將密鑰在網(wǎng)絡(luò)上傳遞也不安全。因?yàn)槊荑€也可能被人攔截掉荣挨。那么這時(shí)候就有了更高級的非對稱性加密男韧。
????【2】非對稱性加密:非對稱性加密由兩種密鑰,一種是公鑰默垄,一種是私鑰此虑。用公鑰加密的數(shù)據(jù)只能用對應(yīng)的私鑰解開,如果用私鑰加密的只能用對應(yīng)的公鑰來解密口锭。這就是非對稱性加密朦前,當(dāng)我們登陸服務(wù)器的時(shí)候,服務(wù)器會(huì)先將他的公鑰傳遞過來鹃操,本地計(jì)算進(jìn)行存儲(chǔ)韭寸,下次傳遞數(shù)據(jù)時(shí)候?qū)?huì)使用該公鑰對數(shù)據(jù)進(jìn)行加密,然后將數(shù)據(jù)傳遞到服務(wù)器荆隘,服務(wù)器通過自己的私鑰進(jìn)行解密棒仍。

????SSH只是一種協(xié)議,有著多種實(shí)現(xiàn)臭胜,比如openSSH,Putty,我們要學(xué)習(xí)的git客戶端 也集成了SSH,提供了一個(gè)ssh這樣的bash命令莫其。可以通過ssh命令就是可以實(shí)現(xiàn)遠(yuǎn)程登陸耸三,如要登陸ip為192.168.0.105這臺(tái)計(jì)算機(jī)乱陡,可以通過如下命令:

ssh liquan@192.168.0.105

但是當(dāng)我在本機(jī)上執(zhí)行這條命令的時(shí)候并沒有成功而是報(bào)了一個(gè)錯(cuò)誤,ssh: connect to host 192.168.*. port 22: Connection refused仪壮,這是因?yàn)槲业顷懕緳C(jī)的時(shí)候沒有安裝ssh相關(guān)的服務(wù)憨颠,通過網(wǎng)上查看,F(xiàn)reesshd是一個(gè)免費(fèi)的提供ssh服務(wù)的軟件积锅,從官網(wǎng)去下載下來下一步下一步安裝爽彤,安裝后啟動(dòng)服務(wù)即可,下載地址為http://www.freesshd.com/缚陷,此時(shí)執(zhí)行 ssh liquan@192.168.0.105 這個(gè)命令适篙,就可以登陸到192.168.0.105這臺(tái)計(jì)算機(jī)。并且會(huì)在本地存儲(chǔ)一個(gè)公鑰箫爷,在這個(gè)目錄下嚷节,C:\Users\Administrator.ssh聂儒,文件名為known_hosts,里面存儲(chǔ)的就是公鑰硫痰。
????至此已經(jīng)認(rèn)識(shí)到了常用的shell命令衩婚,vim編輯器,ssh原理效斑,接下來就可以進(jìn)入git版本的學(xué)習(xí)了非春。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市缓屠,隨后出現(xiàn)的幾起案子税娜,更是在濱河造成了極大的恐慌,老刑警劉巖藏研,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異概行,居然都是意外死亡蠢挡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進(jìn)店門凳忙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來业踏,“玉大人,你說我怎么就攤上這事涧卵∏诩遥” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵柳恐,是天一觀的道長伐脖。 經(jīng)常有香客問我,道長乐设,這世上最難降的妖魔是什么讼庇? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮近尚,結(jié)果婚禮上蠕啄,老公的妹妹穿的比我還像新娘。我一直安慰自己戈锻,他們只是感情好歼跟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著格遭,像睡著了一般哈街。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拒迅,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天叹卷,我揣著相機(jī)與錄音撼港,去河邊找鬼。 笑死骤竹,一個(gè)胖子當(dāng)著我的面吹牛帝牡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蒙揣,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼靶溜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了懒震?” 一聲冷哼從身側(cè)響起罩息,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎个扰,沒想到半個(gè)月后瓷炮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡递宅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年娘香,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片办龄。...
    茶點(diǎn)故事閱讀 40,015評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡烘绽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出俐填,到底是詐尸還是另有隱情安接,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布英融,位于F島的核電站盏檐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏驶悟。R本人自食惡果不足惜糯笙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望撩银。 院中可真熱鬧给涕,春花似錦、人聲如沸额获。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抄邀。三九已至耘眨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間境肾,已是汗流浹背剔难。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工胆屿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人偶宫。 一個(gè)月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓非迹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纯趋。 傳聞我的和親對象是個(gè)殘疾皇子憎兽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容