【JAVAWEB學習筆記】26_Linux基礎:簡介安裝、常用命令和JDK、Mysql、Tomcat的安裝

来源:http://www.cnblogs.com/xieyupeng/archive/2017/05/21/6884238.html
-Advertisement-
Play Games

Linux基礎 學習目標 1、瞭解Linux的簡介與安裝 2、掌握Linux常用的命令 3、掌握Linux系統上JDK、Mysql、Tomcat的安裝 學習目標 1、瞭解Linux的簡介與安裝 2、掌握Linux常用的命令 3、掌握Linux系統上JDK、Mysql、Tomcat的安裝 一、Linu ...


Linux基礎

學習目標

1、瞭解Linux的簡介與安裝

2、掌握Linux常用的命令

3、掌握Linux系統上JDK、Mysql、Tomcat的安裝

 

 

一、Linux的簡介

1.Linux的概述

Linux是基於Unix的開源免費的操作系統,由於系統的穩定性和安全性幾乎成為程式代碼運行的最佳系統環境。Linux是由Linus Torvalds(林納斯·托瓦茲)起初開發的,由於源代碼的開放性,現在已經衍生出了千上百種不同的Linux系統。

Linux系統的應用非常廣泛,不僅可以長時間的運行我們編寫的程式代碼,還可以安裝在各種電腦硬體設備中,比如手機、平板電腦、路由器等。尤其在這裡提及一下,我們熟知是Android程式最底層就是運行在linux系統上的。

  

             圖1 林納斯·托瓦茲                                          圖2 linux的logo

2.Linux的分類

(1)Linux根據市場需求不同,基本分為兩個方向:

1)圖形化界面版:註重用戶體驗,類似window操作系統,但目前成熟度不夠

2)伺服器版:沒有好看的界面,是以在控制台視窗中輸入命令操作系統的,類似         於DOS,是我們假設伺服器的最佳選擇

 

(2)Linux根據原生程度,又分為兩種:

1)內核版本:在Linus領導下的內核小組開發維護的系統內核的版本號

2)發行版本:一些組織或公司在內核版基礎上進行二次開發而重新發行的版本

 

(3)Linux發行版本不同,又可以分為n多種:

 

 

比較好的有ubuntu、centos(在redhat的基礎上開發的)和redhat(收費)

今天我們使用centos。

想學習linux下麵推薦幾本書:(主攻服務端,又會前端和運維是很受歡迎滴!!)

 

二、Linux的安裝

1.虛擬機的安裝

因為Linux也是一個系統,本質上跟我們電腦的Window沒有區別,所以我們要學習Linux就首先將我們電腦的Window系統換成Linux系統,或者在我們電腦上安裝雙系統,聽上去是不是很可怕。其實我們可以在我們電腦上安裝一個軟體,這個軟體可以模擬一臺或多台虛擬的電腦機器,這就是虛擬機

虛擬器常用的有兩種:

 


VMware(威睿)公司的虛擬機軟體,功能強大,收費產品

 VitrualBox 虛擬機軟體  Oracle公司的虛擬機軟體,免費商品

由於市場上VMware使用率很高,所以我們安裝VMware 《VMware安裝手冊》

 

2.CentOS的安裝

CentOS是一個Linux的發行版本,是目前企業中用來做應用伺服器系統的主要版本,CentOS的安裝,其實是將該系統安裝到VMware虛擬機軟體中,讓VMware虛擬機軟體模擬出一臺Linux系統的電腦。CentOS6.5安裝請見《CentOS安裝手冊》

 

三、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

 

 

四、遠程連接工具的使用 

實際開發中,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即可:

 


五、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 save

4)啟動關閉Tomcat

進入tomcat的bin下啟動:./startup.sh

進入tomcat的bin下關閉:./shutdown.sh

 

 

六、網路配置

1.VIM命令配置

2.setup設置

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 編譯安裝httpd 1 去官網下載源碼包 為避免非法軟體,一定要去官網下載http://www.apache.org httpd-2.4.25.tar.gz2 2 安裝開發包組 yum groupinstall "Development tools" 3 解壓httpd-2.4.25.tar.gz2 ...
  • bash shell中測試命令 test命令提供了if-than語句中測試不同條件的途徑。如果test命令中列出的條件成立,test命令就會退出並返回退出狀態嗎0 。這樣if-than語句就與其他編程語言中的if-than語句類似的方式工作了。如果條件不成立,test命令就會退出並返回非零的退出狀態 ...
  • 一、Squashfs文件系統簡介 squashfs是以linux 內核源碼補丁的形式發佈,附帶mksquashfs工具,用於創建squash文件系統。squashfs可以將整個文件系統或者某個單一的目錄壓縮在一起, 存放在某個設備, 某個分區或者普通的文件中. 如果你將其壓縮到一個設備中, 那麼你可 ...
  • 一般在使用VMware Workstation Pro linux 系統 預設可能都是自動分配的ip地址,如果改為靜態ip地址 改怎麼設置呢。 本次方法為NAT模式 非橋接 首先先查看運行虛擬機環境當前的主機ip配置 ipv4 的ip地址:192.168.254.1 鏈接linux 系統執行 vim ...
  • ———————————————————————————————————————————— LCD1602 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...
  • 安裝編譯環境:yum -y install gcc ...
  • 第一部份:一般指令模式可用的按鈕說明,游標移動、複製粘貼、搜尋取代等 一、移動游標的方法h 或 向左方向鍵(←) 游標向左移動一個位元組j 或 向下方向鍵(↓) 游標向下移動一個位元組k 或 向上方向鍵(↑) 游標向上移動一個位元組l 或 向右方向鍵(→) 游標向右移動一個位元組 [Ctrl] + [f] ...
  • ———————————————————————————————————————————— 設計要求: 在8位8端的數位管上動態顯示76543210,快速顯示時人眼看到的效果為同時亮起 ———————————————————————————————————————————— 實現目標: ——————— ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...