Linux

一、Linux的簡介

1.Linux的概述

Linux是基于Unix的開源免費的操作系統(tǒng),由于系統(tǒng)的穩(wěn)定性和安全性幾乎成為程序代碼運行的最佳系統(tǒng)環(huán)境。Linux是由Linus Torvalds(林納斯·托瓦茲)起初開發(fā)的,由于源代碼的開放性,現(xiàn)在已經(jīng)衍生出了千上百種不同的Linux系統(tǒng)。

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


image.png

1. Linux的分類
(1) Linux根據(jù)市場需求不同,基本分為兩個方向:
圖形化界面版:注重用戶體驗,類似window操作系統(tǒng),但目前成熟度不夠
服務器版:沒有好看的界面,是以在控制臺窗口中輸入命令操作系統(tǒng)的,類似 于DOS,是我們假設服務器的最佳選擇

(2) Linux根據(jù)原生程度,又分為兩種:
1) 內核版本:在Linus領導下的內核小組開發(fā)維護的系統(tǒng)內核的版本號
2) 發(fā)行版本:一些組織或公司在內核版基礎上進行二次開發(fā)而重新發(fā)行的版本

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


image.png

一、 Linux的安裝
1. 虛擬機的安裝
因為Linux也是一個系統(tǒng),本質上跟我們電腦的Window沒有區(qū)別,所以我們要學習Linux就首先將我們電腦的Window系統(tǒng)換成Linux系統(tǒng),或者在我們電腦上安裝雙系統(tǒng),聽上去是不是很可怕。其實我們可以在我們電腦上安裝一個軟件,這個軟甲可以模擬一臺或多臺虛擬的電腦機器,這就是虛擬機
虛擬器常用的有兩種:



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



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

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

2.CentOS的安裝

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

一、Linux的基本命令

服務器版的Linux安裝完畢了,但沒有圖形化界面,我們只能通過控制臺去操作系統(tǒng),我們就要使用類似DOS命令的Linux命令去操作系統(tǒng),那么下面我們就進行Linux的命令的學習。Linux命令成百上千,課程不能一一涉及,也沒有必要一一涉及,根據(jù)我們程序員在日常工作中的需求,總結出如下幾種供學習。

1.目錄切換命令

window中通過圖形化界面和鼠標可以任意切換需要進入的目錄,但Linux必須通過cd命令切換目錄。但在學習cd命令之前,我們有必要分清Linux的目錄結構(linux目錄結構詳細說明


cd usr 切換到該目錄下usr目錄
cd ../ 切換到上一層目錄
cd / 切換到系統(tǒng)根目錄
cd ~ 切換到用戶主目錄
cd - 切換到上一個所在目錄

2. 目錄的操作命令(增刪改查)

(1) 增加目錄操作(增)
命令:mkdir 目錄名稱
示例:在根目錄 / 下 mkdir test,就會在根目錄 / 下產(chǎn)生一個test問目錄


(2)查看目錄(查)

命令:ls [-al] 父目錄

示例:在根目錄/ 下使用ls,可以看到該目錄下的所有的目錄和文件

示例:在根目錄/ 下使用ls -a,可以看到該目錄下的所有文件和目錄,包括隱藏的


示例:在根目錄 / 下使用ls -l,可以看到該目錄下的所有目錄和文件的詳細信息


注意:ls -l 可以縮寫成ll

(3)尋找目錄(查)

命令:find 目錄 參數(shù)

示例:查找/root下的與test相關的目錄(文件) find /root -name ‘test*’

(4)修改目錄的名稱(改)

命令:mv 目錄名稱 新目錄名稱

示例:test目錄下有一個oldTest目錄,使用mv oldTest newTest命令修改


image.png

注意:mv的語法不僅可以對目錄進行重命名而且也可以對各種文件,壓縮包等進行 重命名的操作

(5) 移動目錄的位置---剪切(改)

命令:mv 目錄名稱 目錄的新位置
示例:在test下將newTest目錄剪切到 /usr下面,使用mv newTest /usr


注意:mv語法不僅可以對目錄進行剪切操作,對文件和壓縮包等都可執(zhí)行剪切操作

(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 目錄/文件/壓縮包.

1. 文件的操作命令(增刪改查)

(1) 文件的創(chuàng)建(增)

命令:touch 文件名稱 ----- 空文件



示例:在test目錄下創(chuàng)建一個空文件 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結束


image.png

注意:命令 tail -f 文件 可以對某個文件進行動態(tài)監(jiān)控,例如tomcat的日志文件, 會隨著程序的運行,日志會變化,可以使用tail -f catalina-2016-11-11.log 監(jiān)控 文 件的變化

(3) 修改文件的內容(改)

命令:vim 文件
示例:編輯/test下的aaa.txt文件,使用vim aaa.txt
但此時并不能編輯,因為此時處于命令模式,點擊鍵盤i/a/o進入編輯模式,可以 編輯文件編輯完成后,按下Esc,退回命令模式此時文件雖然已經(jīng)編輯完成,但是沒有保存,需輸入冒號:進入底行模式,在底行模 式下輸入wq代表寫入內容并退出,即保存;輸入q!代表強制退出不保存。
總結:

vim編輯器是Linux中的強大組件,是vi編輯器的加強版,vim編輯器的命令和快捷方式有很多,但此處不一一闡述,大家也無需研究的很透徹,使用vim編輯修改文件的方式基本會使用就可以了。附:《vi使用方法介紹》《vim命令合集》

關于vim使用過程:

在實際開發(fā)中,使用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) 管道命令

命令:| 將前一個命令的輸出作為本次目錄的輸入
示例:查看當前系統(tǒng)中所有的進程中包括system字符串的進程


(4) 查看進程

命令:ps -ef
示例:查看當前系統(tǒng)中運行的進程

(5) 殺死進程

命令:kill -9 進程的pid

(6) 網(wǎng)絡通信命令

查看當前系統(tǒng)的網(wǎng)卡信息:ifconfig
查看與某臺機器的連接情況:ping
查看當前系統(tǒng)的端口使用:netstat -an

6. Linux的權限命令

權限是Linux中的重要概念,每個文件/目錄等都具有權限,通過ls -l命令我們可以 查看某個目錄下的文件或目錄的權限
示例:在隨意某個目錄下ls -l
第一列的內容的信息解釋如下:



文件的類型:
d:代表目錄
-:代表文件
l:代表鏈接(可以認為是window中的快捷方式)
后面的9位分為3組,每3位置一組,分別代表屬主的權限,與當前用戶同組的 用戶的權限,其他用戶的權限
r:代表權限是可讀,r也可以用數(shù)字4表示
w:代表權限是可寫,w也可以用數(shù)字2表示
x:代表權限是可執(zhí)行,x也可以用數(shù)字1表示



修改文件/目錄的權限的命令:chmod
示例:修改/test下的aaa.txt的權限為屬主有全部權限,屬主所在的組有讀寫權限,
其他用戶只有讀的權限
chmod u=rwx,g=rw,o=r aaa.txt

上述示例還可以使用數(shù)字表示:
chmod 764 aaa.txt

四、遠程連接工具的使用

實際開發(fā)中,Linux服務器都在其他的地方,我們要通過遠程的方式去連接Linux并操作它,Linux遠程的操作工具有很多,企業(yè)中常用的有Puttty、secureCRT、SSH Secure等。課程中我們使用SSH Secure工具進行遠程連接,該工具是免費的圖形化界面及命令行窗口集一身的遠程工具。安裝包如下:



安按裝后,會出現(xiàn)兩個圖標:



點擊圖形化界面圖標:


進入界面:




關于遠程工具亂碼的解決:
使用遠程工具進行連接時,如果linux有中文文件或目錄,顯示時會出現(xiàn)亂碼,原因是linux編碼是UTF-8,而遠程工具默認是當前系統(tǒng)本地編碼即GBK。所以解決方案是統(tǒng)一兩者編碼就OK了,但是該SSH Secure工具不能設置編碼,所以通過修改linux的系統(tǒng)編碼的方式進行統(tǒng)一編碼。
在linux的/etc/sysconfig目錄下有一個i18n的文件代表linux的系統(tǒng)編碼

將其從UTF-8修改成GBK重現(xiàn)連接linux即可:

五、Linux的軟件安裝

1.JDK安裝

注意:rpm與軟件相關命令 相當于window下的軟件助手 管理軟件

步驟:

1)查看當前Linux系統(tǒng)是否已經(jīng)安裝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環(huán)境變量,打開/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目錄需要手動創(chuàng)建)內

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加到系統(tǒng)服務中并設置開機啟動

加入到系統(tǒng)服務: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;

1)開放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

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容