1、Linux的簡介
1.Linux的概述
Linux是基於Unix的開源免費的操做系統,因爲系統的穩定性和安全性幾乎成爲程序代碼運行的最佳系統環境。Linux是由Linus Torvalds(林納斯·託瓦茲)起初開發的,因爲源代碼的開放性,如今已經衍生出了千上百種不一樣的Linux系統。
Linux系統的應用很是普遍,不只能夠長時間的運行咱們編寫的程序代碼,還能夠安裝在各類計算機硬件設備中,好比手機、平板電腦、路由器等。尤爲在這裏說起一下,咱們熟知是Android程序最底層就是運行在linux系統上的。java
圖1 林納斯·託瓦茲 圖2 linux的logo
2.Linux的分類
(1)Linux根據市場需求不一樣,基本分爲兩個方向:
1)圖形化界面版:注重用戶體驗,相似window操做系統,但目前成熟度不夠
2)服務器版:沒有好看的界面,是以在控制檯窗口中輸入命令操做系統的,相似 於DOS,是咱們假設服務器的最佳選擇node
(2)Linux根據原生程度,又分爲兩種:
1)內核版本:在Linus領導下的內核小組開發維護的系統內核的版本號
2)發行版本:一些組織或公司在內核版基礎上進行二次開發而從新發行的版本mysql
(3)Linux發行版本不一樣,又能夠分爲n多種:linux
2、Linux的安裝
1.虛擬機的安裝
由於Linux也是一個系統,本質上跟咱們電腦的Window沒有區別,因此咱們要學習Linux就首先將咱們電腦的Window系統換成Linux系統,或者在咱們電腦上安裝雙系統,聽上去是否是很可怕。其實咱們能夠在咱們電腦上安裝一個軟件,這個軟甲能夠模擬一臺或多臺虛擬的電腦機器,這就是虛擬機
虛擬器經常使用的有兩種:c++
VMware(威睿)公司的虛擬機軟件,功能強大,收費產品程序員
VitrualBox 虛擬機軟件 Oracle公司的虛擬機軟件,免費商品sql
因爲市場上VMware使用率很高,因此咱們安裝VMware 《VMware安裝手冊》vim
2.CentOS的安裝
CentOS是一個Linux的發行版本,是目前企業中用來作應用服務器系統的主要版本,CentOS的安裝,實際上是將該系統安裝到VMware虛擬機軟件中,讓VMware虛擬機軟件模擬出一臺Linux系統的電腦。CentOS6.5安裝請見《CentOS安裝手冊》tomcat
3、Linux的基本命令
服務器版的Linux安裝完畢了,但沒有圖形化界面,咱們只能經過控制檯去操做系統,咱們就要使用相似DOS命令的Linux命令去操做系統,那麼下面咱們就進行Linux的命令的學習。Linux命令成百上千,課程不能一一涉及,也沒有必要一一涉及,根據咱們程序員在平常工做中的需求,總結出以下幾種供學習。
1.目錄切換命令
window中經過圖形化界面和鼠標能夠任意切換須要進入的目錄,但Linux必須經過cd命令切換目錄。但在學習cd命令以前,咱們有必要分清Linux的目錄結構(linux目錄結構詳細說明)安全
cd usr 切換到該目錄下usr目錄
cd ../ 切換到上一層目錄 cd / 切換到系統根目錄 cd ~ 切換到用戶主目錄 cd - 切換到上一個所在目錄
2.目錄的操做命令(增刪改查)
(1)增長目錄操做(增)
命令:mkdir 目錄名稱
示例:在根目錄 / 下 mkdir test,就會在根目錄 / 下產生一個test問目錄
(2)查看目錄(查)
命令:ls [-al] 父目錄
示例:在根目錄 / 下使用ls,能夠看到該目錄下的全部的目錄和文件
示例:在根目錄 / 下使用ls -a,能夠看到該目錄下的全部文件和目錄,包括隱藏的
示例:在根目錄 / 下使用ls -l,能夠看到該目錄下的全部目錄和文件的詳細信息
注意:ls -l 能夠縮寫成ll
(3)尋找目錄(查)
命令:find 目錄 參數
示例:查找/root下的與test相關的目錄(文件) find /root -name ‘test*’
(4)修改目錄的名稱(改)
命令:mv 目錄名稱 新目錄名稱
示例:test目錄下有一個oldTest目錄,使用mv oldTest newTest命令修改
注意:mv的語法不只能夠對目錄進行重命名並且也能夠對各類文件,壓縮包等進行 重命名的操做
(5)移動目錄的位置---剪切(改)
命令:mv 目錄名稱 目錄的新位置
示例:在test下將newTest目錄剪切到 /usr下面,使用mv newTest /usr
注意:mv語法不只能夠對目錄進行剪切操做,對文件和壓縮包等均可執行剪切操做
(6)拷貝目錄(改)
命令:cp -r 目錄名稱 目錄拷貝的目標位置 -----r表明遞歸拷貝
示例:將/usr下的newTest拷貝到根目錄下的test中,使用cp -r /usr/newTest /test
注意:cp命令不只能夠拷貝目錄還能夠拷貝文件,壓縮包等,拷貝文件和壓縮包時不 用寫-r遞歸
(7)刪除目錄(刪)
命令:rm [-rf] 目錄
示例:刪除/usr下的newTest,進入/usr下使用rm -r newTest
示例:刪除/test下的newTest而不須要詢問強制刪除,在/test下使用rm -rf newTest
注意:rm不只能夠刪除目錄,也能夠刪除其餘文件或壓縮包,爲了加強你們的記憶, 不管刪除任何目錄或文件,都直接使用rm -rf 目錄/文件/壓縮包
3.文件的操做命令(增刪改查)
(1)文件的建立(增)
命令:touch 文件名稱 ----- 空文件
示例:在test目錄下建立一個空文件 touch aaa.txt
(2)文件的查看(查)
命令: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 監控 文 件的變化
(3)修改文件的內容(改)
命令: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 文件 便可
4.壓縮文件的操做命令
(1)打包並壓縮文件
Linux中的打包文件通常是以.tar結尾的,壓縮的命令通常是以.gz結尾的。
而通常狀況下打包和壓縮是一塊兒進行的,打包並壓縮後的文件的後綴名通常.tar.gz。
命令:tar -zcvf 打包壓縮後的文件名 要打包壓縮的文件
其中:z:調用gzip壓縮命令進行壓縮
c:打包文件
v:顯示運行過程
f:指定文件名
示例:打包並壓縮/test下的全部文件 壓縮後的壓縮包指定名稱爲xxx.tar.gz
tar -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表明指定解壓的位置
5.其餘命令
(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
6.Linux的權限命令
權限是Linux中的重要概念,每一個文件/目錄等都具備權限,經過ls -l命令咱們能夠 查看某個目錄下的文件或目錄的權限
示例:在隨意某個目錄下ls -l
第一列的內容的信息解釋以下:
文件的類型:
d:表明目錄
-:表明文件
l:表明連接(能夠認爲是window中的快捷方式)
後面的9位分爲3組,每3位置一組,分別表明屬主的權限,與當前用戶同組的 用戶的權限,其餘用戶的權限
r:表明權限是可讀,r也能夠用數字4表示
w:表明權限是可寫,w也能夠用數字2表示
x:表明權限是可執行,x也能夠用數字1表示
屬主(user) 屬組(group) 其餘用戶
r w x r w x r w x
4 2 1 4 2 1 4 2 1
修改文件/目錄的權限的命令:chmod
示例:修改/test下的aaa.txt的權限爲屬主有所有權限,屬主所在的組有讀寫權限,
其餘用戶只有讀的權限
chmod u=rwx,g=rw,o=r aaa.txt
上述示例還可使用數字表示:
chmod 764 aaa.txt
4、遠程鏈接工具的使用
實際開發中,Linux服務器都在其餘的地方,咱們要經過遠程的方式去鏈接Linux並操做它,Linux遠程的操做工具備不少,企業中經常使用的有Puttty、secureCRT、SSH Secure等。課程中咱們使用SSH Secure工具進行遠程鏈接,該工具是免費的圖形化界面及命令行窗口集一身的遠程工具。安裝包以下:
安裝後,會出現兩個圖標:
點擊圖形化界面圖標:
進入界面:
關於遠程工具亂碼的解決:
使用遠程工具進行鏈接時,若是linux有中文文件或目錄,顯示時會出現亂碼,緣由是linux編碼是UTF-8,而遠程工具默認是當前系統本地編碼即GBK。因此解決方案是統一二者編碼就OK了,可是該SSH Secure工具不能設置編碼,因此經過修改linux的系統編碼的方式進行統一編碼。
在linux的/etc/sysconfig目錄下有一個i18n的文件表明linux的系統編碼
將其從UTF-8修改爲GBK重現鏈接linux便可:
5、Linux的軟件安裝
1.JDK安裝
注意:rpm與軟件相關命令 至關於window下的軟件助手 管理軟件
步驟:
1)查看當前Linux系統是否已經安裝java
輸入 rpm -qa | grep java
2)卸載兩個openJDK
輸入rpm -e --nodeps 要卸載的軟件
3)上傳jdk到linux
4)安裝jdk運行須要的插件yum install glibc.i686(選作)
5)解壓jdk到/usr/local下 tar –xvf jdk-7u71-linux-i586.tar.gz –C /usr/local
6)配置jdk環境變量,打開/etc/profile配置文件,將下面配置拷貝進去
#set java environment JAVA_HOME=/usr/local/jdk1.7.0_71 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH
7)從新加載/etc/profile配置文件 source /etc/profile
2.Mysql安裝
步驟:
1)查看CentOS自帶的mysql
輸入 rpm -qa | grep mysql
2)將自帶的mysql卸載
3)上傳Mysql到linux
4)安裝mysql的依賴(選作)
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
yum update libstdc++-4.4.7-4.el6.x86_64
5)解壓Mysql到/usr/local/下的mysql目錄(mysql目錄須要手動建立)內
cd /usr/local
mkdir mysql
tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql
6)在/usr/local/mysql下安裝mysql
安裝服務器端:rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
安裝客戶端:rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
7)啓動mysql
service mysql start
8)將mysql加到系統服務中並設置開機啓動
加入到系統服務:chkconfig --add mysql
自動啓動:chkconfig mysql on
9)登陸mysql
mysql安裝好後會生成一個臨時隨機密碼,存儲位置在/root/.mysql_secret
msyql –u root -p
10)修改mysql的密碼
set password = password('root');
11)開啓mysql的遠程登陸
默認狀況下mysql爲安全起見,不支持遠程登陸mysql,因此須要設置開啓 遠程登陸mysql的權限
登陸mysql後輸入以下命令:
grant all privileges on . to 'root' @'%' identified by 'root';
flush privileges;
12)開放Linux的對外訪問的端口3306
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save ---將修改永久保存到防火牆中
3.Tomcat安裝步驟:1)上傳Tomcat到linux上2)解壓Tomcat到/usr/local下3)開放Linux的對外訪問的端口8080/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT/etc/rc.d/init.d/iptables save4)啓動關閉Tomcat進入tomcat的bin下啓動:./startup.sh進入tomcat的bin下關閉:./shutdown.sh