1. 程式人生 > >Linux基礎,命令的使用以及環境的安裝,jdk,mysql,tomcat

Linux基礎,命令的使用以及環境的安裝,jdk,mysql,tomcat

                                                                                          Linux基礎


1. Linux簡介
1.1 Linux的概述

 

 

林納斯·託瓦茲 linux
1.2 Linux的發展史
Linux 作業系統的誕生、發展和成長過程始終依賴著五個重要支柱:UNIX 作業系統、MINIX 作業系統、GNU計劃、POSIX 標準和Internet 網路。
1991年,GNU計劃已經開發出了許多工具軟體,最受期盼的GNU C編譯器已經出現,GNU的作業系統核心HURD一直處於實驗階段,沒有任何可用性,實質上也沒能開發出完整的GNU作業系統,但是GNU奠定了Linux使用者基礎和開發環境。
1991年初,林納斯·託瓦茲開始在一臺386sx相容微機上學習minix作業系統。1991年4月,林納斯·託瓦茲開始醞釀並著手編制自己的作業系統。1991 年4 月13 日釋出說自己已經成功地將bash 移植到了minix 上,而且已經愛不釋手、不能離開這個shell軟體了。
1991年的10月5日,林納斯·託瓦茲在comp.os.minix新聞組上釋出訊息,正式向外宣佈Linux核心的誕生(Freeminix-like kernel sources for 386-AT)。
1993年,大約有100餘名程式設計師參與了Linux核心程式碼編寫/修改工作,其中核心組由5人組成,此時Linux 0.99的程式碼大約有十萬行,使用者大約有10萬左右。
1994年3月,Linux1.0釋出,程式碼量17萬行,當時是按照完全自由免費的協議釋出,隨後正式採用GPL協議。
1995年1月,Bob Young創辦了RedHat(小紅帽),以GNU/Linux為核心,集成了400多個原始碼開放的程式模組,搞出了一種冠以品牌的Linux,即RedHat Linux,稱為Linux"發行版",在市場上出售。這在經營模式上是一種創舉。
1996年6月,Linux 2.0核心釋出,此核心有大約40萬行程式碼,並可以支援多個處理器。此時的Linux 已經進入了實用階段,全球大約有350萬人使用。
1998年2月,以Eric Raymond為首的一批年輕的"老牛羚骨幹分子"終於認識到GNU/Linux體系的產業化道路的本質,並非是什麼自由哲學,而是市場競爭的驅動,創辦了"Open Source Intiative"(開放原始碼促進會)"復興"的大旗,在網際網路世界裡展開了一場歷史性的Linux產業化運動。
2001年1月,Linux 2.4釋出,它進一步地提升了SMP系統的擴充套件性,同時它也集成了很多用於支援桌面系統的特性:USB,PC卡(PCMCIA)的支援,內建的即插即用,等等功能。
2003年12月,Linux 2.6版核心釋出,相對於2.4版核心2.6在對系統的支援都有很大的變化。
1.3 Linux的主要特徵
1.3.1 基本思想
Linux的基本思想有兩點:第一,一切都是檔案;第二,每個軟體都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個檔案,包括命令、硬體和軟體裝置、作業系統、程序等等對於作業系統核心而言,都被視為擁有各自特性或型別的檔案。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。
1.3.2 完全免費
Linux是一款免費的作業系統,使用者可以通過網路或其他途徑免費獲得,並可以任意修改其原始碼。這是其他的作業系統所做不到的。正是由於這一點,來自全世界的無數程式設計師參與了Linux的修改、編寫工作,程式設計師可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程式設計師的精華,不斷壯大。
1.3.3 多使用者、多工
Linux支援多使用者,各個使用者對於自己的檔案裝置有自己特殊的權利,保證了各使用者之間互不影響。多工則是現在電腦最主要的一個特點,Linux可以使多個程式同時並獨立地執行。
1.3.4 支援多種平臺
Linux可以執行在多種硬體平臺上,如具有x86、680x0、SPARC、Alpha等處理器的平臺。此外Linux還是一種嵌入式作業系統,可以執行在掌上電腦、機頂盒或遊戲機上。2001年1月份釋出的Linux 2.4版核心已經能夠完全支援Intel 64位晶片架構。同時Linux也支援多處理器技術。多個處理器同時工作,使系統性能大大提高。
1.4 Linux的分類
1.4.1 根據原生程度來劃分
Linux系統根據其原生程度不同分為,核心版本和發行版本。
1)核心版本:在Linus領導下的核心小組開發維護的系統核心的版本號
2)發行版本:一些組織或公司在核心版基礎上進行二次開發而重新發行的版本
1.4.2 根據發行版本分支來劃分
Linux的發行版本眾多,一些組織或公司為許多不同的目的而製作, 包括對不同計算機結構的支援, 對一個具體區域或語言的本地化,實時應用,和嵌入式系統,甚至許多版本故意地只加入免費軟體。已經有超過三百個發行版被積極的開發,最普遍被使用的發行版有大約十二個。
在這些發行版中主要可以分為兩個系列:Redhat系列和Debian系列。


2. Linux的安裝
2.1 虛擬機器的安裝
Linux是作業系統,它和我們使用的windows系統一樣需要安裝在一臺電腦上進行使用,我們可以在一臺真實的物理主機上安裝Linux並進行使用,但是我們在學習時可以使用一種虛擬機器軟體,在我們現有的電腦上模擬一臺虛擬的計算機,來方便地進行Linux的安裝和學習。
目前市面上比較常見的虛擬機器軟體有兩種:一種是VMware(威睿)公司的虛擬機器軟體(VMware workstation),功能強大,收費產品,另一種是Oracle公司的虛擬機器軟體(VitrualBox),免費商品。


由於市場上VMware使用率很高,所以我們安裝VMware workstation,具體的安裝步驟和流程參照《VMware-workstation安裝手冊》。
2.2 CentOS作業系統的安裝
CentOS是一個Linux的發行版本,是目前企業中用來做應用伺服器系統的主要版本,由社群支援的包,旨在100%地與Red Hat Linux企業版相容。CentOS的安裝,其實是將該系統安裝到VMware虛擬機器軟體中,讓VMware虛擬機器軟體模擬出一臺Linux系統的電腦。我們選擇的CentOS的版本為CentOS6.5,系統的安裝步驟和流程參照《CentOS作業系統的安裝手冊》。
CentOS安裝完成後,我們可以發現CentOS的檔案目錄結構如下,我們需要對CentOS的各個目錄有一些瞭解。


/: 根目錄
/bin: 可執行二進位制檔案的目錄,如常用的命令ls、tar、mv、cat等。
/boot: 放置linux系統啟動時用到的一些檔案。
/dev: 存放linux系統下的裝置檔案
/etc: 系統配置檔案存放的目錄
/home: 系統預設的使用者家目錄,新增使用者賬號時,使用者的家目錄都存放在此目錄下,~表示當前使用者的家目錄
/lib: 系統使用的函式庫的目錄
/opt: 給主機額外安裝軟體所擺放的目錄
/root: 系統管理員root的家目錄
/tmp: 一般使用者或正在執行的程式臨時存放檔案的目錄
/usr: 應用程式存放目錄
/var: 放置系統執行過程中經常變化的檔案
2.3 使用遠端工具連線CentOS
實際開發中,Linux伺服器都在其他的地方,我們要通過遠端的方式去連線Linux並操作它,Linux遠端的操作工具有很多,企業中常用的有Puttty、secureCRT、SSH Secure等。
這裡我們使用secureCRT來連線CentOS,secureCRT工具已經下載好位於資料的軟體包中。具體工具的使用參照《CRT工具連線Linux操作手冊》。


3. Linux的基本命令
Linux系統安裝完成,但是我們沒有安裝圖形介面程式,所以只能通過命令的方式進行操作和使用,在實際生產環境中,也很少會為Linux安裝圖形介面程式。Linux的命令很多,不能一一講解,我們將從以下幾個方面來進行學習。
3.1 目錄的切換命令
在圖形化介面的作業系統中,檔案目錄的切換可以使用滑鼠點選來進行選擇和切換,但是在Linux作業系統中,需要通過cd命令來進行切換。
pwd 檢視當前路徑
cd usr 切換到該目錄下usr目錄
cd ../ 切換到上一層目錄
cd / 切換到系統根目錄
cd ~ 切換到使用者主目錄
cd - 切換到上一個所在目錄
3.2 目錄的操作命令
3.2.1 建立目錄
建立目錄使用mkdir命令,語法:mkdir 檔名稱
例項:在根目錄下建立test目錄。


3.2.2 檢視目錄
檢視目錄使用ls [-a|-l]命令,語法:ls 路徑
例項:檢視根路徑下的檔案


Ls命令能夠檢視指定路徑下的非隱藏檔案,如果要檢視隱藏檔案在內的所有檔案可以新增一個引數-a。
例項:檢視根路徑下的所有檔案。

以上以.開頭的檔案就是Linux系統中的隱藏檔案。
使用ls命令可以看到檔案以及檔案目錄的名稱,但是如果需要檢視檔案以及目錄的詳細資訊,我們就需要加上-l引數。
例項:檢視根路徑下的檔案以及路徑的詳細資訊。


加上-l引數後,我們看到了檔案對應的詳細資訊,ls –l也可以直接使用ll命令。
例項:使用ll檢視根路徑下的所有檔案以及目錄的詳細資訊。


3.2.3 修改目錄名稱
修改目錄使用mv命令,語法:mv 目錄名稱 新目錄名稱。
例項:修改根路徑下的test目錄名稱為newTest。


需要注意的是,mv命令不僅可以修改檔案目錄的名稱,也可以用來修改檔案的名稱。
例項:使用mv修改檔案的名稱。


3.2.4 移動(剪下)目錄
使用mv命令對檔案或者目錄進行重新命名時,如果原始檔和重新命名後的檔案不在同一個目錄下,則實際上是對檔案或者目錄的移動或者剪下操作。
命令:mv目錄名稱 目錄的新位置
例項:講根路徑下的newTest目錄剪下到使用者home目錄下。


需要注意的是,mv不僅可以剪下目錄,也可以剪下檔案。
例項:將根路徑下的123.txt剪下到使用者home目錄下。


3.2.5 拷貝目錄
要拷貝一個目錄需要使用cp命令,語法:cp -r 目錄名稱 拷貝的目標位置。
例項:將使用者目錄下的newTest拷貝到系統根路徑下。


需要注意的是,cp命令不僅可以拷貝目錄還可以拷貝檔案,壓縮包等,拷貝檔案和壓縮包時不用寫-r遞迴。
3.2.6 刪除目錄
刪除目錄使用rm命令,刪除目錄時需要加上-r引數,語法:rm [-rf] 目錄名稱。
例項:刪除使用者目錄下的newTest目錄。


我們發現在進行刪除操作時,需要使用者手動進行確認,如果不希望系統給出提示,可以加上-rf引數。
例項:強制刪除根路徑下的newTest目錄。


rm命令不僅可以刪除目錄,同時也可以刪除檔案,為了方便記憶,我們在進行刪除操作時,預設加上-rf引數即可。
例項:刪除使用者目錄下的123.txt檔案


3.3 檔案的操作命令
3.3.1 檔案的建立
檔案的建立可以使用touch命令,語法:touch 檔名。
例項:在使用者目錄下建立test.txt檔案。


3.3.2 檔案的檢視
在Linux系統中檢視檔案可以使用cat,more,less.tail命令。
例項:使用cat檢視etc下的sudo.conf檔案


通過以上的例項發現cat命令預設是現實檔案的最後一屏的內容。
例項:使用more檢視/etc/sudo.conf檔案,,可以顯示百分比,回車可以向下一行, 空格可以向下一頁,q可以退出檢視。


例項:使用less檢視/etc/sudo.conf檔案,可以使用鍵盤上的PgUp和PgDn向上和向下翻頁,q結束檢視。


示例:使用tail -10 檢視/etc/sudo.conf檔案的後10行。


3.3.3 檔案內容的修改
在Linux作業系統中藥修改檔案的內容,可以使用系統自帶的vi編輯器,也可以安裝其他的文字編輯工具,這裡我們使用最基本的vi編輯器進行檔案內容的編輯。
Vi編輯器的詳細使用參照《vi使用方法手冊》,我們演示其基本的操作。
例項:使用vi開啟使用者目錄下的test.txt檔案


輸入命令後出現文字的內容,因為這是新建的檔案,所以內容為空白。


直接開啟檔案後出於命令模式,是無法對內容進行編輯的,如果要進行內容編輯需要切換到編輯模式下,只需要按一下i鍵即可。


進入編輯模式後就可以編輯檔案的內容了。


編輯內容完成以後,需要將修改後的檔案儲存,此時需要首先切換到命令模式下進行命令操作,需要按下鍵盤的esc鍵,退出編輯模式進入命令模式。


在命令模式下,輸入:wq,w表示儲存,q表示退出,結束對檔案的編輯。


此時檔案內容的修改成功,我們可以檢視一下當前的檔案。


需要注意的是,如果在修改檔案後,不希望儲存,而直接退出的話,可以在命令模式下輸入:q!表示強制退出。
3.4 壓縮和解壓縮檔案的操作
3.4.1 打包並壓縮檔案
Linux中的打包檔案一般是以.tar結尾的,壓縮的命令一般是以.gz結尾的。
而一般情況下打包和壓縮是一起進行的,打包並壓縮後的檔案的字尾名一般.tar.gz。
進行檔案的打包壓縮使用命令tar,該命令可以新增的引數有一下幾個:
z:呼叫gzip壓縮命令進行壓縮
c:打包檔案
v:顯示執行過程
f:指定檔名
例項:將使用者目錄下的tar目錄中的aaa.txt,bbb.txt和ccc.txt進行打包和壓縮。


3.4.2 解壓縮檔案
解壓縮檔案依然使用tar命令,只是不再進行打包,而是進行解壓操作,語法:tar –xvf 壓縮檔名稱
例項:將使用者目錄的tar目錄中的files.tar.gz檔案進行解壓。


3.5 Linux的許可權命令
許可權是Linux中的重要概念,每個檔案/目錄等都具有許可權,通過ls –l(ll)命令我們可以檢視某個目錄下的檔案或目錄的許可權。
例項:檢視使用者目錄下的檔案許可權


第一列的資訊就是檔案對應的許可權,其意義如下。


檔案的型別:
d:代表目錄
-:代表檔案
l:代表連結(類似於window中的快捷方式)
後面的9位分為3組,每3位置一組,分別代表屬主的許可權,與當前使用者同組的使用者的許可權,其他使用者的許可權。
r:代表權限是可讀,r也可以用數字4表示
w:代表權限是可寫,w也可以用數字2表示
x:代表權限是可執行,x也可以用數字1表示
修改檔案/目錄的許可權的命令:chmod命令
例項:修改使用者目錄下的test.txt的許可權為屬主有全部許可權,屬主所在的組
有讀寫許可權,其他使用者只有讀的許可權。


需要注意的是,對於檔案許可權的修改也可以通過對應的數值來完成,以上的操作也可以通過chmod 764 test.txt來實現。
3.6 Linux的其他命令
3.6.1 檢視網路資訊
在Linux中要檢視網路資訊,可以使用ifconfig命令。
例項:檢視Linux網路資訊。


3.6.2 搜尋命令
在Linux中藥進行搜尋操作可以使用grep命令來完成,語法:grep 要搜尋的字串 要搜尋的檔案。
例項:搜尋/usr/sudu.conf檔案中包含字串to的行。


如果需要加上顏色標記,可以新增—color引數。


3.6.3 檢視進行命令
檢視系統程序使用ps –ef命令。


例項:檢視當前系統中執行的程序資訊
3.6.4 管道命令
管道命令可以將前一個命令的輸出作為本次目錄的輸入來使用。
例項:檢視當前系統中所有的程序中包括system字串的程序


3.6.5 殺死程序
在Linux中要殺死程序可以通過程序號來殺死程序,語法:kill -9 程序號
例項:殺死系統程序中的iptable程序
如果要根據程序的名稱殺掉程序,可以使用pkill -9 程序名稱
例項:殺掉程序
4. Linux中軟體的安裝
4.1 JDK的安裝
CentOS中JDK的安裝方式有很多種,這裡我們使用已經下載的jdk來進行安裝。我們安裝的版本為:jdk-7u71-linux-x64.tar.gz。
要進行軟體的安裝首先需要上傳軟體包,我們使用lrzsz工具來進行上傳。需要我們的機器首先已經安裝了該工具,如果沒有安裝,可以使用yum源來進行安裝,命令為yum install lrzsz。


安裝完成之後可以使用rz命令來上傳檔案,我們將檔案上傳到/usr/local目錄下,所以先切換到該目錄下。


接下來我們使用tar命令解壓檔案。


解壓完成後需要配置Java的環境變數,我們需要修改/etc/profile檔案,新增JAVA_HOME變數,同時在path中加上Java的配置。

添加了環境變數之後,還需要使當前的配置檔案生效,重新載入/etc/profile配置檔案。


接下來測試Java是否已經安裝成功,當看到以下資訊表上jdk安裝成功。


4.2 Mysql的安裝
Mysql是實際開發中經常使用的資料庫產品,接下來我們需要安裝Mysql資料庫。在我們安裝的CentOS系統中已經預設安裝了一個Mysql資料庫了,我們需要首先將預設的Mysql解除安裝,然後重新安裝。
檢視當前系統中是否已經安裝了mysql使用命令:rpm -qa | grep mysql。


以上就是系統中預設安裝的Mysql資料庫,我們要先將其解除安裝。使用命令:
rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686。


執行以上命令後系統中的Mysql被刪除,接下來需要安裝我們自己的Mysql,首先上傳我們的Mysql軟體包。


上傳成功後進行解壓到mysql目錄中。


進入mysql目錄中進行安裝操作,我們要安裝Mysql的server和client。


在安裝前需要安裝一些需要的依賴:
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
yum update libstdc++-4.4.7-4.el6.x86_64
接下來我們安裝伺服器,使用命令:rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm


Mysql伺服器安裝完成,接下來安裝mysql客戶端,使用命令:rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm


安裝完成後,就可以啟動Mysql伺服器了,使用命令:service mysql start。


為了方便以後的使用,我們將mysql服務加入到系統服務中,並設定為自動啟動。使用命令如下:
加入到系統服務:chkconfig --add mysql
自動啟動:chkconfig mysql on


安裝Mysql伺服器時,系統自動生成了一個登陸密碼,我們可以從/root/.mysql_secret中獲取。


接下來我們進行登陸操作。


預設生成的密碼不便於記憶,因此我們需要修改預設的密碼,使用命令:set password = password('root');


預設情況下mysql為安全起見,不支援遠端登入mysql,所以需要設定開啟 遠端登入mysql的許可權,使用命令:
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
接下來我們需要開放Linux的對外訪問的埠3306,並讓設定生效。命令如下:
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save


到此Mysql的安裝成功完成。
4.3 Tomcat的安裝
Tomcat伺服器是web專案開發和部署中經常使用的伺服器,它的安裝比較容易,首先還是要上傳軟體壓縮包。
使用rz命令上傳軟體到/usr/local目錄下。


接下來解壓縮tomcat伺服器。


Tomcat預設使用的埠為8080埠,因此我們需要設定防火牆開放8080
埠,防火牆的設定前面已經使用過,這裡直接設定了。


接下來啟動tomcat,我們進入tomcat的bin目錄啟動服務。


接下來我們遠端訪問以下Tomcat伺服器,此時看到了我們熟悉的Tomcat頁面,Tomcat安裝完成。