最近一直在忙項目的事情,文章更新少了,等過段時間不忙的了,給大家多更新點內容,喜歡的朋友可以持續(xù)關注更新哦!!
認識Shell
在計算機科學中,Shell俗稱殼,用來區(qū)別于Kernel(核),是指“提供使用者使用界面”的軟件(命令解析器)。它類似于DOS下的command和后來的cmd.exe。它接收用戶命令,然后調用相應的應用程序。
圖形界面shell:通過提供友好的可視化界面,調用相應應用程序,如windows系列操作系統(tǒng),Linux系統(tǒng)上的圖形化應用程序GNOME、KDE等。
Linux 默認使用 bash 所以我們要學習的就是以Bash為基礎的。
首先安裝Git軟件。它內置了bash.(百度搜索git,下載跟自己電腦匹配的git版本,比如32位操作系統(tǒng),64位操作系統(tǒng))
我們可以直接在里面進行命令操作。命令行shell:通過鍵盤輸入特定命令的方式,調用相應的應用程序,如windows系統(tǒng)的cmd.exe、Windows PowerShell,Linux系統(tǒng)的Bourne shell ( sh)、Bourne Again shell ( bash)等。
圖解1

圖解2 --> 這種黑框框就是所謂的命令行shell

bash常用命令
- 常見命令格式:命令 [-options] [參數(shù)]
- pwd (Print Working Directory) 查看當前目錄
- cd (Change Directory) 切換目錄,如 cd /etc
- ls (List) 查看當前目錄下內容,如 ls -al
- mkdir (Make Directory) 創(chuàng)建目錄,如 mkdir blog
- touch 創(chuàng)建文件,如 touch index.html
- wc (Word Count) 字數(shù)信息統(tǒng)計,如 wc index.html
- cat 查看文件全部內容,如 cat index.html
- more less 查看文件,如more /etc/passwd、less /etc/passwd
- rm (remove) 刪除文件,如 rm index.html、rm -rf blog
- rmdir (Remove Directory) 刪除文件夾,只能刪除空文件夾,不常用
- mv (move) 移動文件或重命名,如 mv index.html ./demo/index.html
- cp (copy) 復制文件,cp index.html ./demo/index.html
- head 查看文件前幾行,如 head -5 index.html
- tail 查看文件后幾行 –n –f,如 tail index.html、tail -5 index.html
- tab 自動補全,連按兩次會將所有匹配內容顯示出來
- history 查看操作歷史
- ssh 遠程登錄,如ssh root@gitlab.study.com
- (> 和 >>)重定向,如echo hello world! > README.md,>覆蓋 >>追加
- wget 下載,如wget 要下載的文件地址
- tar 解壓縮,如tar zxvf node-v4.4.0.tar.gz
- curl 網(wǎng)絡請求,如curl '網(wǎng)絡地址'
- who am i 查看當前用戶
- | 管道符
- grep 匹配內容,一般結合管道符使用**
vi 編輯器
- vi編輯器是Linux和Unix上最基本的文本編輯器,工作在字符模式下。由于不需要圖形界面,vi是效率很高的文本編輯器。盡管在Linux上也有很多圖形界面的編輯器可用,但vi在系統(tǒng)和服務器管理中的功能是那些圖形編輯器所無法比擬的。
三種模式
- 命令模式
- 插入模式
- 底行模式
- 它們每一種模式下,操作的命令都是不一樣的。各個模式可以進行切換。
圖解

命令行模式命令
- 通過上圖我們發(fā)現(xiàn),輸入模式是不能直接切換到末行模式的,必須要先切回到命令模式(按ESC鍵)
- ZZ(大寫)保存并退出
- u轍銷操作,可多次使用
- dd刪除當前行
- yy復制當前行
- p 粘貼內容
- ctrl+f向前翻頁
- ctrl+b向后翻頁
- i進入編輯模式,當前光標處插入
- a進入編輯模式,當前光標后插入
- A進入編輯模式,光標移動到行尾
- o進入編輯模式,當前行下面插入新行
- O進入編輯模式,當前行上面插入新行
底行模式命令
- :w保存,:w filenme另存為
- :q退出
- :wq保存并退出
- :q! 不保存強制退出
- :e! 撤銷更改,返回到上一次保存的狀態(tài)
- :set nu 設置行號
SSH介紹
- SSH是一種網(wǎng)絡協(xié)議,用于計算機之間的加密登錄。
- 利用 SSH 協(xié)議可以有效防止遠程管理過程中的信息泄露問題。
- SSH最初是UNIX系統(tǒng)上的一個程序,后來又迅速擴展到其他操作平臺。
- SSH在正確使用時可彌補網(wǎng)絡中的漏洞。SSH客戶端適用于多種平臺。幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH。
圖解 -- > 加密和解密使用的是一樣的密鑰。

加密方式
對稱加密
非對稱加密
圖解 -- > 為什么要加密

-
圖解 -- > 對稱加密
原理:就是在用戶的密碼后面再添加一個串,然后把串加密成一堆亂碼.但是發(fā)送給服務器,服務器要想解密,必須拿到對應的那個串,但是在傳輸串的過程中,又有可能被攔截,只要有了這個串,就可以破解,所以對稱加密并不是很安全

-
圖解 -- > 非對稱加密
原理:每臺電腦中,公鑰和私鑰是不同的,但是一臺電腦只有一對互相對應的公鑰和私鑰,只有自己電腦對應的那個公鑰和私鑰,才能解開.我們把自己的公鑰發(fā)送給服務器,然后服務器再把自己的公鑰發(fā)給我們,這樣就可以免密登錄了


版本控制
版本控制(Version Control Systems)版本控制(Revision control)是一種軟體工程技巧,在開發(fā)的過程中,確保由不同人所編輯的同一檔案都得到更新。
舉例:我們通常都是手動的重命名一個文件進行備份的,index.html改成index1.html或者index.html.bak等形式,然后這種方式對于單個文件我們還能夠管理,但是對于整個項目而言,就會成為噩夢了?。?!
版本控制分為兩種:
**集中式管理 **
**分布式管理 **
集中式管理
- 集中式版本控制系統(tǒng),版本庫是集中存放在中央服務器的,而干活的時候,用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然后開始干活,干完活了,再把自己的活推送給中央服務器。中央服務器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然后回到家自己改,改完了,再放回圖書館。
圖解

弊端
- 集中式版本控制系統(tǒng)最大的毛病就是必須聯(lián)網(wǎng)才能工作。所有的版本都在一個服務器上面。 如果服務掛了, 所有記錄的版本都了。
分布式管理
- 分布式版本控制系統(tǒng),則不需要中央服務器,每個協(xié)同開發(fā)者都擁有一個完整的版本庫,這么一來,任何協(xié)同開發(fā)者用的服務器發(fā)生故障,事后都可以用其它協(xié)同開發(fā)者本地倉庫恢復。
** 圖解 **

- 在實際使用分布式版本控制系統(tǒng)的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在一個局域網(wǎng)內,兩臺電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統(tǒng)通常也有一臺充當“中央服務器”的電腦,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已。
- 分布式版本控制系統(tǒng)彌補了前面兩種版本控制系統(tǒng)的缺陷,成為了版本控制的首選方案,其代表就是Git.
Git工作原理
- 為了更好的學習git,我們必須了解Git管理我們文件的三種狀態(tài)
三種狀態(tài)
- 已提交(committed)
- 已修改(modified)
- 已暫存(staged)
Git項目的三個工作區(qū)域
Git 的工作目錄
暫存區(qū)域
以及本地倉庫。
Git倉庫: 目錄是Git用來保護項目的原數(shù)據(jù)和對象數(shù)據(jù)庫的地方,這是Git中最重要的部分,從其他計算機拷貝倉庫時,拷貝的就是這里的數(shù)據(jù)
工作目錄: 是對項目的某個版本獨立提取出來的內容,這些從Git倉庫的壓縮數(shù)據(jù)庫中提取出來的文件信息,放在本地供你使用和修改
暫存區(qū)域 : 是一個文件,保存了下次提交的文件列表信息,一般在Git倉庫目錄中,有時候也被稱作'索引',不過一般還是叫做"暫存區(qū)域"
Git的工作流程
- 在工作目錄中修改文件。
- 暫存文件,將文件的快照放入暫存區(qū)域。
- 提交更新,找到暫存區(qū)域的文件,將快照永久性存儲到Git倉庫目錄。
圖解

Git新用戶配置
-
1.配置用戶名,郵箱
git config --global user.name/user.email
圖解

-
2.初始化倉庫
git init
圖解

-
3.查看文件狀態(tài)
git status
圖解

-
4.添加文件到暫存區(qū)
git add */-A
圖解

-
5.提交文件到倉庫當中
git commit -m"備注信息"
圖解

-
6.查看所有版本信息
git log
圖解

-
7.對文件進行修改時,再去查看狀態(tài)會出現(xiàn)modified狀態(tài),此時需要再次把它提交到暫存區(qū)
git log
圖解

- 8.修改完畢之后再次添加到暫存區(qū),當再次提交到倉庫時會生成一個新的sha值
圖解

- 9.恢復歷史
圖解


10.每一次提交都會對應一個sha值
sha:589738e18edf818142854a50c3efe82c5cf34a1b 該版本是誰提交,提交日期。到這里先把自己的Git帳號注冊好,電腦上把基本配置設置好!下次更新的時候教大家怎么使用Git.Git是全世界最大的開源社區(qū),這種東西是一定,必須要會的