最近老有讀者跟我商量說,看了你那麼多的體系架構圖,能不能給我xmind格式的架構圖啊,而個人迴應通常是不給,因此當有一個讀者跟我說不給算了這句話的時候,內心挺不舒服的linux
首先,在這裏跟你們說聲抱歉(今天的內容我會給到xmind格式的文件),老規矩,先上架構圖程序員
今天除了講知識以外,也和你們解釋一下,我爲何不給你們xmind文件,最後說,先看知識點編程
不知道你們在看到我上面的那張圖以後,有什麼感受,有沒有很low,很亂的感受,感受什麼都有,這是我第一張思惟導圖,不少年不少年了,後期也沒有在繼續在上面更新內容,看成是一個鞭策或者鼓勵吧,先來看知識點vim
Linux是基於Unix的開源免費的操做系統,因爲系統的穩定性和安全性幾乎成爲程序代碼運行的最佳系統環境。Linux是由Linus Torvalds(林納斯·託瓦茲)起初開發的,因爲源代碼的開放性,如今已經衍生出了千上百種不一樣的Linux系統。Linux系統的應用很是普遍,不只能夠長時間的運行咱們編寫的程序代碼,還能夠安裝在各類計算機硬件設備中,好比手機、平板電腦、路由器等。尤爲在這裏說起一下,咱們熟知是Android程序最底層就是運行在linux系統上的。centos
(1)Linux根據市場需求不一樣,基本分爲兩個方向:1)圖形化界面版:注重用戶體驗,相似window操做系統,但目前成熟度不夠2)服務器版:沒有好看的界面,是以在控制檯窗口中輸入命令操做系統的,相似 於DOS,是咱們假設服務器的最佳選擇tomcat
(2)Linux根據原生程度,又分爲兩種:1)內核版本:在Linus領導下的內核小組開發維護的系統內核的版本號2)發行版本:一些組織或公司在內核版基礎上進行二次開發而從新發行的版本安全
(3)Linux發行版本不一樣,又能夠分爲n多種:服務器
1.虛擬機的安裝由於Linux也是一個系統,本質上跟咱們電腦的Window沒有區別,因此咱們要學習Linux就首先將咱們電腦的Window系統換成Linux系統,或者在咱們電腦上安裝雙系統,聽上去是否是很可怕。其實咱們能夠在咱們電腦上安裝一個軟件,這個軟件能夠模擬一臺或多臺虛擬的電腦機器,這就是虛擬機虛擬器經常使用的有兩種:網絡
VMware(威睿)公司的虛擬機軟件,功能強大,收費產品架構
VitrualBox 虛擬機軟件 Oracle公司的虛擬機軟件,免費商品
因爲市場上VMware使用率很高,因此咱們安裝VMware
2.CentOS的安裝CentOS是一個Linux的發行版本,是目前企業中用來作應用服務器系統的主要版本,CentOS的安裝,實際上是將該系統安裝到VMware虛擬機軟件中,讓VMware虛擬機軟件模擬出一臺Linux系統的電腦。安裝詳細步驟看我以前寫的文章
推薦閱讀:centos安裝以及網絡環境配置
服務器版的Linux安裝完畢了,但沒有圖形化界面,咱們只能經過控制檯去操做系統,咱們就要使用相似DOS命令的Linux命令去操做系統,那麼下面咱們就進行Linux的命令的學習。Linux命令成百上千,課程不能一一涉及,也沒有必要一一涉及,根據咱們程序員在平常工做中的需求,總結出以下幾種供學習。
window中經過圖形化界面和鼠標能夠任意切換須要進入的目錄,但Linux必須經過cd命令切換目錄。但在學習cd命令以前,咱們有必要分清Linux的目錄結構(linux目錄結構詳細說明)
cd usr 切換到該目錄下usr目錄cd …/ 切換到上一層目錄cd / 切換到系統根目錄cd ~ 切換到用戶主目錄cd - 切換到上一個所在目錄
命令:mkdir 目錄名稱示例:在根目錄 / 下 mkdir test,就會在根目錄 / 下產生一個test問目錄
命令:ls [-al] 父目錄示例:在根目錄 / 下使用ls,能夠看到該目錄下的全部的目錄和文件
示例:在根目錄 / 下使用ls -a,能夠看到該目錄下的全部文件和目錄,包括隱藏的
示例:在根目錄 / 下使用ls -l,能夠看到該目錄下的全部目錄和文件的詳細信息
注意:ls -l 能夠縮寫成ll
命令:find 目錄 參數示例:查找/root下的與test相關的目錄(文件) find /root -name ‘test*’
命令:mv 目錄名稱 新目錄名稱示例:test目錄下有一個oldTest目錄,使用mv oldTest newTest命令修改
注意:mv的語法不只能夠對目錄進行重命名並且也能夠對各類文件,壓縮包等進行 重命名的操做
命令:mv 目錄名稱 目錄的新位置示例:在test下將newTest目錄剪切到 /usr下面,使用mv newTest /usr
注意:mv語法不只能夠對目錄進行剪切操做,對文件和壓縮包等均可執行剪切操做
命令:cp -r 目錄名稱 目錄拷貝的目標位置 -----r表明遞歸拷貝示例:將/usr下的newTest拷貝到根目錄下的test中,使用cp -r /usr/newTest /test
注意:cp命令不只能夠拷貝目錄還能夠拷貝文件,壓縮包等,拷貝文件和壓縮包時不 用寫-r遞歸
命令:rm [-rf] 目錄示例:刪除/usr下的newTest,進入/usr下使用rm -r newTest
示例:刪除/test下的newTest而不須要詢問強制刪除,在/test下使用rm -rf newTest
注意:rm不只能夠刪除目錄,也能夠刪除其餘文件或壓縮包,爲了加強你們的記憶, 不管刪除任何目錄或文件,都直接使用rm -rf 目錄/文件/壓縮包
命令:touch 文件名稱 ----- 空文件示例:在test目錄下建立一個空文件 touch aaa.txt
命令:cat/more/less/tail 文件示例:使用cat查看/etc/sudo.conf文件,只能顯示最後一屏內容
示例:使用more查看/etc/sudo.conf文件,能夠顯示百分比,回車能夠向下一行, 空格能夠向下一頁,q能夠退出查看
示例:使用less查看/etc/sudo.conf文件,可使用鍵盤上的PgUp和PgDn向上 和向下翻頁,q結束查看
示例:使用tail -10 查看/etc/sudo.conf文件的後10行,Ctrl+C結束
注意:命令 tail -f 文件 能夠對某個文件進行動態監控,例如tomcat的日誌文件, 會隨着程序的運行,日誌會變化,可使用tail -f catalina-2016-11-11.log 監控 文 件的變化
命令:vim 文件示例:編輯/test下的aaa.txt文件,使用vim aaa.txt
但此時並不能編輯,由於此時處於命令模式,點擊鍵盤i/a/o進入編輯模式,能夠 編輯文件
編輯完成後,按下Esc,退回命令模式
此時文件雖然已經編輯完成,可是沒有保存,需輸入冒號:進入底行模式,在底行模 式下輸入wq表明寫入內容並退出,即保存;輸入q!表明強制退出不保存。
總結:vim編輯器是Linux中的強大組件,是vi編輯器的增強版,vim編輯器的命令和快捷方式有不少,但此處不一一闡述,你們也無需研究的很透徹,使用vim編輯修改文件的方式基本會使用就能夠了。附:《vi使用方法介紹》和《vim命令合集》
關於vim使用過程:在實際開發中,使用vim編輯器主要做用就是修改配置文件vim 文件------>進入文件----->命令模式------>按i進入編輯模式----->編輯文件 ------->按Esc進入底行模式----->輸入:wq/q!
(4)刪除文件(刪)同目錄刪除:熟記 rm -rf 文件 便可
(1)打包並壓縮文件Linux中的打包文件通常是以.tar結尾的,壓縮的命令通常是以.gz結尾的。而通常狀況下打包和壓縮是一塊兒進行的,打包並壓縮後的文件的後綴名通常.tar.gz。命令:tar -zcvf 打包壓縮後的文件名 要打包壓縮的文件其中:z:調用gzip壓縮命令進行壓縮c:打包文件v:顯示運行過程f:指定文件名示例:打包並壓縮/test下的全部文件 壓縮後的壓縮包指定名稱爲xxx.tar.gztar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt或:tar -zcvf xxx.tar.gz /test/*
(2)解壓壓縮包(重點)命令:tar [-xvf] 壓縮文件其中:x:表明解壓示例:將/test下的xxx.tar.gz解壓到當前目錄下tar -xvf xxx.tar.gz
示例:將/test下的xxx.tar.gz解壓到根目錄/usr下tar -xvf xxx.tar.gz -C /usr------C表明指定解壓的位置
(1)顯示當前所在位置pwd
(2)搜索命令命令:grep 要搜索的字符串 要搜索的文件示例:搜索/usr/sudu.conf文件中包含字符串to的行
示例:搜索/usr/sudu.conf文件中包含字符串to的行 to要高亮顯示
(3)管道命令命令:| 將前一個命令的輸出做爲本次目錄的輸入示例:查看當前系統中全部的進程中包括system字符串的進程
(4)查看進程命令:ps -ef示例:查看當前系統中運行的進程
(5)殺死進程命令:kill -9 進程的pid
(6)網絡通訊命令查看當前系統的網卡信息:ifconfig
查看與某臺機器的鏈接狀況:ping
查看當前系統的端口使用:netstat -an
權限是Linux中的重要概念,每一個文件/目錄等都具備權限,經過ls -l命令咱們能夠 查看某個目錄下的文件或目錄的權限示例:在隨意某個目錄下ls -l
第一列的內容的信息解釋以下:
文件的類型:d:表明目錄-:表明文件l:表明連接(能夠認爲是window中的快捷方式)後面的9位分爲3組,每3位置一組,分別表明屬主的權限,與當前用戶同組的 用戶的權限,其餘用戶的權限r:表明權限是可讀,r也能夠用數字4表示w:表明權限是可寫,w也能夠用數字2表示x:表明權限是可執行,x也能夠用數字1表示
修改文件/目錄的權限的命令:chmod示例:修改/test下的aaa.txt的權限爲屬主有所有權限,屬主所在的組有讀寫權限,其餘用戶只有讀的權限chmod u=rwx,g=rw,o=r aaa.txt
上述示例還可使用數字表示:chmod 764 aaa.txt
技術點講完了,結合最開始給出的知識圖譜,不知道你有什麼感慨呢,亂嗎?少東西嗎?好像跟你想的不太同樣?這也是我爲何不分享xmind了,主要有如下幾點
一、這份文檔是根據個人習慣和想法進行整理的,不必定適合全部人,固然最重要的緣由,可能就是我以爲有點low,本身看看就好,哈哈哈哈
二、這也是最重要的一點:我一直堅信,不是本身的實際操做,不僅是印象不夠深入,還會給大家形成眼高手低的問題,由於不少的知識點,其實憑藉經驗或者其餘的什麼方式都好,你是很容易理解的,畢竟全部的編程思想基本大同小異,那這樣,沒有實際操做,很容易進入一個誤區,好像這些玩意我都會,可是你真的都會嗎?不見得,由於這些知識圖譜我在整理的時候,也有不少是從網上百度或者看書記錄下來的,不是全部的的我都會,都用過,怕的就是當某一天我真的用到了,手忙腳亂不知道怎麼處理
三、最後一點,都是程序員,拿到這份導圖以後,甚至是其餘的資料,可能就是在網盤裏面永久封存了,那這樣,有什麼意義的,想學習的人,我不給他xmind我相信他同樣會根據個人圖去搜集資料整理造成他本身的知識體系,不想學習的人,對不起,我真的不太想本身的勞動成果被忽視
爲何要讓你們本身作知識譜圖呢?今天的這張知識圖譜是個人第一張,也是剛工做的時候接觸的
今天的linux是個人第一份圖,後面有一段時間我沒在從事開發工做,在從新迴歸以後,我發現好多技術都忘了,除了cd這樣的命令,而後就一直百度着用,本身也很着急,有一天忽然想起來這張圖,而後就看了一夜,由於有基礎,基本會想起來了經常使用的一些操做,基本沒什麼問題,也正是這一次的幫助,我纔有了整理知識圖譜的習慣。畢竟咱們不是全部的技術能常常用到,總歸會有一些技術用不到容易被遺忘,也但願你們在遺忘的時候也可以快速的回想起來
好了,今天就這樣吧,謝謝你們能耐心的看到這裏
但願個人努力能帶給你們一些幫助,有以爲我有技術點理解有問題的地方,也歡迎你們在下方評論區指出
好了,老規矩,點贊+關注+轉發,素質三聯,而後想要架構圖的
關注公衆號:Java架構師聯盟