Linux

 

第1節     爲何要學習Linux

1.1     Windows的不足:

對於Windows操做系統而言,你們應該不陌生,但Windows操做系統也存在一些不足的地方:html

 

 

1)     Windows是須要花錢去購買java

2)     系統長時間運行,安裝多了,系統愈來愈慢,愈來愈不穩定。linux

3)     病毒和流氓軟件不少程序員

1.2     Linux的優點

相反,上述Windows的不足,剛好是另外一款操做系統Linux的優點所在:shell

 

 

1)       Linux系統是免費,不少仍是開源的。ubuntu

2)       長時間運行,很穩定的vim

3)       幾乎沒有病毒和流氓軟件windows

 

1.3     學習Linux的目的

學會對Linux的基本操做是後端JavaEE程序員的必修課。作爲一個後端JavaEE程序員,一般在Windows中開發完程序後,須要部署到一個相對比較安全,穩定的服務器中運行,這臺服務器上安裝的每每不是Windows操做系統,而是Linux操做系統。後端

 

第2節     Linux的概述

Linux是基於Unix的開源、免費、多用戶、多任務的操做系統,因爲系統的穩定性和安全性。幾乎成爲程序代碼運行的最佳系統環境。centos

2.1     Linux的分類

根據市場需求不一樣,分爲兩個方向:

1.    圖形界面版:注重用戶體驗,但目前沒有成爲主流,主流的普通用戶仍是習慣在Windows下使用。

 

 

 

2.    服務器版:沒有好看的界面,在控制檯窗口中輸入命令來操做系統的,是咱們架設服務器的最佳選擇,相似於DOS界面。

 

2.2     根據原生程度不一樣,分爲兩個方向

內核版本:在託瓦茲(Linux之父)領導下的內核小組開發維護的系統內核的版本號。

發行版本:一些我的/組織/公司在內核版基礎上進行二次開發而從新發行的版本號。

內核版是惟一的,發行版能夠不少,它封裝了內核版,底層仍是使用內核版操做機器的硬件設備。

 

 

2.3     常見的發行版本

如:ubuntu、redhat、centos、lubuntu、freeBSD等等

CentOS是一個Linux的發行版本,是目前企業中用來作應用服務器的主要版本。

 

 

第3節     Linux的安裝

3.1     安裝Linux系統的方式:

1)     使用雙系統,在電腦開啓的時候選擇進入哪一個操做系統,但不建議安裝多個系統,一是浪費空間,二是可能形成系統不穩定。

2)     使用虛擬機,虛擬機就是Windows系統上的軟件,經過軟件來模擬一臺電腦。咱們能夠在虛擬機中安裝Linux系統。

3.1.1   虛擬機簡介

虛擬機是一個軟件,它可使你在一臺真實PC機器上同時運行兩個或更多的操做系統,如:Windows或Linux。

它能夠模擬一個標準的PC環境,這個環境和真實的計算機同樣,有芯片組、CPU、內存、顯卡、聲卡、網卡、軟驅、硬盤、光驅、串口、並口、USB控制器。

3.1.2   目前市場上流行的虛擬機有兩種:

  1. VMware(威睿)公司的虛擬機軟件,功能強大,收費產品,有30天試用期。
  2. VirtualBox (甲骨文)公司的虛擬機軟件,免費的商品。

3.2     安裝虛擬機軟件

請參考《資料\01_虛擬機VMware安裝\虛擬機VMware安裝步驟.docx》

3.3     在軟件中建立虛擬電腦並安裝centos7

請參考《資料\02_centOS7系統安裝\使用VMware虛擬機安裝centOS7步驟.doc》

3.4     root用戶登陸和退出

l root用戶登陸進入Linux:

 

l root用戶退出Linux:

 

 

手動開啓網卡(在安裝centos7系統是忘記了開啓網卡才須要作)

 

 

保存退出,重啓linux系統,網卡就啓動了。

第4節     配置服務器端的網絡

使用客戶端Xshell在鏈接CentOS服務器以前要先要查看CentOS的局域網ip地址。

1)     使用命令查看Linux在局域網中的IP地址

 

 

4.1     網絡相關的操做命令

命令

功能說明

ip addr

查看網卡的ip,與ifconfig功能是同樣

ping 網絡地址

查看是否能夠連通指定的ip地址

 

注意: 在Linux中,按ctrl+c 強行終止程序執行

 

4.2     修改局域網自動生成ip地址

VM虛擬機網卡介紹

打開windows網卡適配器

 

 

只要成功安裝了Vmware虛擬機就會默認生成的2個網卡(VMnet1和Vmnet6)

VMNet1,使用的是host-only的連接模式,即虛擬機只能與主機windows構成內部通訊,沒法對外網進行訪問。

VMNet6

    模式:

      NAT網絡模式

    場景:在宿主機安裝多臺虛擬機,和宿主組成一個小局域網,宿主機,虛擬機之間均可以互相通訊,虛擬機也可訪問外網.ens33就是使用這個VMNet6網卡。

修改VMNet6的ip(注意關閉虛擬機)

以下圖點擊「虛擬網絡編輯器」

                                                                                       

打開的界面中,選中vmnet6,點擊更改設置。

      

 

設置ip段

 

 

設置動態生成ip的起始ip地址

 

 

點擊肯定退出。點擊打開虛擬電腦,查看ip

 

 

打開windows的dos命令窗口ping虛擬機中虛擬電腦ip

 

上圖說明windows主機能夠與虛擬機中linux系統能夠正常通訊鏈接

第5節     客戶端工具使用

5.1     Linux客戶端簡介

在實際開發中,Linux服務器都在網絡其餘的電腦上,咱們要經過Windows客戶端工具去鏈接Linux並操做它。鏈接Linux的Windows客戶端工具備不少,企業中經常使用的有SecureCRT、Xshell等。

SecureCRT和xshell都是企業中應用較多的.

 

第6節     目錄操做命令

6.1     Linux 的目錄結構

目錄特色:不一樣於windows,一個硬盤分了幾個區,有C盤。在Linux中沒有盤符,全部的文件和目錄都在根目錄下面。

6.1.1   文件結構

 

 

經常使用的目錄

說明

root

管理員的主目錄,root用戶登陸之後自動進入目錄

home

普通用戶的目錄,每一個普通用戶都有一個本身的主目錄,在這個目錄下。

bin

可執行文件所在的目錄,今天學習的命令都在這個目錄下

etc

系統配置和管理目錄

usr

經常使用的資源和安裝文件放在這個目錄,是一個資源共享的目錄

Unix Shared Resources

 

6.1.2   文件顏色說明:

這是Linux下文件不一樣顏色表示的含義

顏色

說明

白色

普通文件

深藍色

目錄(文件夾)

綠色

可執行文件

紅色

壓縮包

青色

連接,至關於Windows下快捷方式

橙色

設備文件

在修改客戶端的配色方案,以下操做

選中options-「session options」,按照以下圖進行勾選

 

 

下面效果

 

6.1.3   命令提示符

 

6.2     目錄切換命令

6.2.1   語法格式

cd 目錄名

做用

改變目錄Change Directory,cd與目錄名之間必須有空格

.

當前目錄

..

上一級目錄

6.2.2   操做演示

1)     切換到系統根目錄

2)     切換到該目錄下usr目錄

3)     切換到上一層目錄

4)     切換到用戶主目錄,若是是root管理員,則是到root目錄

5)     切換到上一個所在的目錄

6.2.3   執行結果

 

cd回車 ,去到root目錄下

6.3     建立目錄

6.3.1   語法格式

mkdir 目錄名

做用

make directory 建立一個目錄

6.3.2   操做演示

1)     進入root目錄

2)     在root目錄下建立aaa目錄

3)     使用.方式的相對路徑,在當前目錄下建立bbb目錄

4)     在root目錄下,在bbb目錄下建立ccc目錄

5)     使用..在上一級目錄下建立ddd目錄

6)     使用絕對路徑在root下建立目錄eee目錄

6.3.3   執行結果

 

 

6.4     查看

6.4.1   語法格式

語法:ls [參數]

顯示當前目錄下的文件和目錄

-l

以詳細的方式顯示當前目錄下的文件和目錄

縮寫ll

-a

顯示當前目錄下全部的文件和目錄,包含隱藏的文件和目錄。只要是.開頭的文件和目錄都是隱藏的

 

6.4.2   操做演示

1)       進入root目錄,以精簡形式查詢當前目錄下的內容

2)       以詳細形式查詢當前目錄下的內容,能夠縮寫成ll

3)       在當前目錄下建立一個隱藏的目錄.ccc

4)       以精簡形式查詢當前目錄下的全部的內容,包含隱藏文件

5)       以詳細形式查詢當前目錄下的隱藏內容,-la和-al均可,也可使用ll -a

6.4.3   執行結果

 

 

 

6.4.4   文件列表中第一列字母含義

字母

說明

d

directory 目錄

-

文件

l

link 連接

 

l 演示案例:

1)     /lib是一個指向/usr/lib的連接

2)     進入/lib,顯示全部的文件與進入/usr/lib顯示的文件是同一個目錄

6.4.5   執行結果

 

6.4.6   文件列表的含義

 

6.5     搜索

6.5.1   語法格式

find [目錄名] [-name '查詢字符串']

 

無參名

搜索當前目錄和它的子目錄全部的文件和目錄

 

目錄名

搜索指定目錄下和它的子目錄全部的文件和目錄

 

-name '查詢字符串'

指定具體查詢字符串

 

 

*

匹配多個字符

 

?

匹配1個字符

       

 

6.5.2   操做演示

1)     在/root目錄下,查詢當前目錄下全部的文件和目錄

2)     查詢/根目錄下(包括子目錄),名以abc開頭的目錄和文件

3)     查詢根目錄即其子目錄下以cc開頭的三個字符的目錄或文件

 

6.5.3   執行結果

 

 

 

 

6.6     重命名

6.6.1   重命名

mv  舊名  新名

做用

move 將一箇舊名字修改爲一個新的名字,既能夠改文件名又能夠改目錄名

 

²  在Xshell中複製字符串:ctrl + insert,粘貼使用shift+insert

6.6.2   操做演示

1)     將root文件夾下的aaa目錄改爲abc

2)     使用touch建立一個空文件爲aaa,再使用mv將aaa文件更名爲xyz

6.6.3   執行結果

 

 

6.6.4   移動

mv  源目錄  目標目錄

做用

move 將源目錄移動到目標目錄下

 

²  疑問:mv命令何時是更名,何時是移動?

若是目標目錄存在,則是移動,若是不存在則是更名。

6.1     複製

6.1.1   語法格式

語法

cp [參數] 源文件或目錄 目標目錄

做用

將源文件或整個目錄複製到目標目錄下

-r

recursion 連同子目錄下全部的文件所有複製

 

6.7.2   操做演示:

1)     當前是root目錄,複製/proc/dma文件到root目錄下的bbb目錄中

2)     將/etc目錄下全部c開頭的文件複製到root目錄下的bbb目錄下

3)     將/etc目錄下全部h開頭的文件和目錄複製到root目錄下的eee目錄,連同子目錄下的內容一塊兒複製

 

6.6     刪除文件或目錄

6.6.1   語法格式

語法:rm  [參數]  文件或目錄1 文件或目錄2

做用

remove 刪除文件或目錄,能夠同時指定多個

-r

recursion 連同子目錄一塊兒刪除,只用於刪除目錄

-f

強制刪除,由於刪除以前會有提問:yes或no,回答yes

 

6.6.2   操做演示

1)     同時刪除eee目錄下的hostname和hosts文件

2)     進入root下的bbb目錄,刪除全部文件名csh,任意擴展名的文件

3)     進入root目錄下的eee目錄,遞歸刪除httpd目錄和全部子目錄的文件,不進行確認,強制刪除。

6.6     目錄操做命令小結

命令

功能

cd

切換目錄

mkdir

建立目錄

ls

查看文件和目錄

find

查找目錄和子目錄下全部文件

mv

移動和更名

cp

複製文件和目錄

rm

刪除文件和目錄

 

第7節     文件操做命令

7.1     查看文件內容

7.1.1   語法格式

查看文件的內容的命令:cat/more/head/tail/less

cat 文件名

查看文件全部的內容

more 文件名

查看文件全部的內容,能夠分屏顯示

回車鍵:一行一行顯示

空格鍵: 一頁一頁顯示

q: 退出

head 文件名

查看文件前8行

head -n 行數 文件名

查看前面指定的行數

tail 文件名

查看文件後8行

tail -n 行數 文件名

查看文件後指定的行數

less 文件名

查看文件全部的內容

-N 顯示行數

PageUp: 向前翻頁

PageDown: 向後翻頁

q: 退出

若是使用crt客戶端翻頁很差使,若是使用xshell是沒有問題

 

7.1.2   操做演示:

1)     將素材目錄的Demo.java文件,上傳到root目錄下。

2)     查看當前目錄下Demo.java文件的所有內容

3)     分頁查看當前目錄下Demo.java文件內容,按回車鍵一行一行的看,按空格健一頁一頁的看

4)     查看當前目錄下Demo.java文件的前8行內容

5)     查看當前目錄下Demo.java文件的後8行內容

6)     查看當前目錄下Demo.java文件的前5行內容

7)     查看當前目錄下Demo.java文件的後5行內容

6)     使用less命令顯示Demo.java文件,顯示行號

7.2     建立文件

7.2.1   語法格式

touch 文件1 文件2

做用

建立一個或多個文件,0個字節大小

 

7.2.2   操做演示

1)     在當前目錄中建立Hello.java文件

2)     在當前目錄中同時建立Hello.txt文件和Hello.xml

7.3     編輯文件vim

編輯已存在文件的內容,咱們在Linux中,一般使用vi/vim工具來修改文件內容。

7.3.1   vim介紹

vi(vim)是上Linux經常使用的編輯器,不少Linux發行版都默認安裝了vi(vim)。vi是「Visual Interface」的縮寫,vim是 (加強版的vi)。在通常的系統管理維護中vi就夠用,若是想使用代碼加亮的話可使用vim。

 

vim 文件名稱

做用

編輯文本文件

 

l vim編輯器的三種模式

三種操做模式

說明

命令模式

能夠移動光標、刪除字符等操做,打開文件時即進入這個模式

編輯模式

在此模式下能夠輸入字符,進行編輯等操做

底行模式

能夠輸入命令對編輯的文件進行查找,保存,退出等操做

 

7.3.2   vi或vim三種模式的切換

 

7.3.3   vim操做語法

l 命令模式下按鍵:

命令

描述

i

在當前光標的前面插入字符

a

在當前光標的後面插入字符

o

在當前光標的下一行插入字符

 

l 底行模式下經常使用的編輯命令

命令

描述

yy

複製當前行

p

若是前面已經複製了,在當前下面粘貼

dd

刪除當前行

u

撤銷

/字符串

搜索文本內容

n:向後搜索

N:向前搜索

wq

保存並退出

q!

不保存強制退出

wq!

強制保存退出(只讀文件)

 

7.3.4   操做1:

1)       vim Hello.java  用vim編輯器建立/打開Hello.java文件,這時進入命令模式。

2)       按i鍵,進入編輯模式,輸入如下內容:

 

3)       按Esc鍵,進入命令模式,按冒號進入底行模式

4)       輸入:wq回車,表示存盤退出

5)       使用cat Hello.java查看文件的內容

 

7.3.5   操做2

1)       使用vim打開Hello.java文件,進入命令模式。

2)       將光標移動到System.out這一行,按yy複製

3)       按3次p,粘貼這一行三次

4)       按dd刪除最後一行

5)       按i進入編輯模式

6)       再任意輸入一些內容

7)       在按Esc進入命令,按冒號進入底行模式

6)       輸入q!回車,不存盤強行退出。

7)       做用cat Hello.java發現Hello.java沒有變化

 

第8節  壓縮與解壓命令

8.1   壓縮文件擴展名

擴展名

分類

.zip或.rar

在windows下的壓縮包

.tar

在Linux下的打包文件

.gz

在Linux下的壓縮文件

.tar.gz

在Linux下的打包壓縮文件

 

8.2   打包並壓縮文件

8.2.1     tar的參數

語法:tar [參數] 壓縮包名 一個或多個文件

做用

對一個或多個文件進行打包並壓縮

-c

建立一個打包的文件(必選)

-v

顯示打包的詳細過程(可選)

-z

壓縮文件(可選)

-f <壓縮文件名>

指定壓縮包的文件名(必選),f要求後面緊跟着壓縮的文件名,通常放在參數最後面

 

8.2.2     操做演示:

1)       定位於root目錄,將當前目錄下的Hello.java和Hello.txt文件打包成hello.tar文件,並顯示詳細信息。

2)       將當前目錄下的Demo.* 打包並壓縮成demo.tar.gz文件,顯示詳細信息。

8.3   解壓文件

8.3.1     解壓文件語法

語法1:tar [參數] 壓縮文件

解壓文件到當前目錄

 

語法2:tar [參數] 壓縮文件 -C 目錄

解壓文件到指定的目錄

-x

解壓指定的文件【必選】

-v

顯示解壓詳細過程【可選】

-f<壓縮文件>

指定要解壓的文件【必選】

 

-C

解壓到指定的目錄下【可選】

 

8.3.2     操做演示

1)       定位於root目錄下,刪除全部大寫的Hello開頭的文件

2)       解壓hello.tar到當前目錄

3)       釋放demo.tar.gz文件到abc目錄下

第9節  其餘命令

9.1   查看當前絕對路徑

9.1.1     語法格式

pwd

Print Working Directory 打印當前的工做目錄

9.1.2     操做演示:

1)     進入根目錄,顯示當前的目錄

2)     進入/bin,顯示當前的目錄

3)     進入/usr/bin目錄,顯示當前的目錄

9.2   查看進程

9.2.1     Linux進程啓動的兩種方式

1)     一種是用戶經過終端輸入命令啓動的進程

2)     一種是Linux系統開機之後自動啓動進程

9.2.2     bash進程

1)     每一個用戶登陸之後都會分配一個終端操做的進程

2)     這個進程是全部終端命令的父進程bash,不要隨意終止這個進程。

9.2.3     語法格式

ps  [參數]

無參

顯示當前用戶經過終端啓動的進程

-a

顯示全部用戶經過終端啓動的進程

-u

顯示全部用戶經過終端啓動的進程的詳細信息

-x

顯示全部用戶的全部進程

 

9.2.4     操做演示:

1)     在客戶端中顯示當前用戶經過終端啓動的全部進程

2)     在Linux命令行窗口運行vim Hello.txt編輯文件,在Xshell軟件中顯示全部用戶經過終端啓動的全部進程。

3)     顯示全部用戶經過終端啓動的全部進程詳細信息

4)     顯示全部用戶全部進程詳細信息

9.2.5     各列的說明

列標題

說明

%CPU

CPU(處理器)使用百分比

%MEM

真實內存使用百分比

CMD

正被執行的命令的名稱

COMMAND

正被執行的命令的完整名稱

PID

進程ID

PPID

父進程的進程ID

RSS

內存駐留空間大小(內存管理)

START

定時啓動的時間

STAT

狀態代碼(O,R,S,T,Z

TIME

積累CPU時間

TTY

控制終端的完整名稱(?表示沒有控制終端,該進程爲守護進程)

USER

用戶名

VSZ

虛擬大小(單位爲KB

 

9.3   查看電腦總體內存耗用

Top命令:查看系統總體內存、cpu耗用狀況

9.4   殺死進程

9.4.1     語法格式

kill  [參數]  進程號

進程號

經過ps能夠查到進程號

-7

強制停止進程

 

9.4.2     操做演示

1)     在Linux命令行上使用vim 編輯Hello.txt文件
在Xshell客戶端軟件顯示全部用戶經過終端啓動的全部進程,並殺死vim這個進程。
在Linux命令行能夠看到進程被終止

2)     在Linux命令行使用ping www.itcast.cn
在Xshells客戶端軟件顯示全部用戶經過終端啓動的全部進程,並強行殺死ping這個進程

在Linux命令行能夠看到進程被殺掉

9.5   搜索文件內容

grep是一種強大的文本搜索工具,它能使用字符串搜索文本,並把匹配的行和行號打印出來。

9.5.1     語法格式

grep  [參數] 字符串 文件名

做用

搜索指定文件中字符串內容

-n

搜索結果中顯示行號

-v

顯示不匹配的行

-i

忽略大小寫搜索

 

9.5.2     操做演示

1)     在Demo.java中搜索close字符串

2)     在Demo.java中搜索close字符串,而且顯示行號

3)     在Demo.java中搜索沒有close的行和行號

4)     在Demo.java中忽略大小寫搜索insert字符串而且顯示行號

9.6   管道

9.6.1     語法格式

語法

命令1 | 命令2

解釋

管道命令符 | ,必需要有兩條以上的命令參與操做。將第1個命令的執行結果,作爲第2個命令的參數,繼續進行下一個操做。

 

9.6.2     操做演示:

1)     分屏顯示/etc目錄全部文件的詳細信息,將ll的輸出作爲more的輸入,即分屏顯示。

2)     在root目錄下使用ll顯示全部文件的詳細信息,再在顯示結果中使用grep查詢Demo字符串

3)     顯示Linux中全部進程的詳細信息,查詢ssh的字符串

9.7   關機

9.7.1     語法格式

語法

shutdown now

解釋

關閉服務器

 

Windows系統關機

shutdown -s 馬上關機

shutdown -s -t 秒數 ,指定多少秒後馬上關機

shutdown -a 清除定時計劃

9.6   重啓

9.6.1     語法格式

語法

reboot

解釋

重啓Linux

 

9.7   其它命令小結

命令

功能

pwd

顯示當前絕對路徑

ps

顯示進程信息

kill

殺死進程

grep

查詢字符串

|

管道命令

shutdown now

關機

reboot

重啓

 

第10節  文件權限

10.1   權限的簡介

Linux中對每一個目錄和文件都作了規定,只能由知足條件的用戶才能操做這個目錄或文件,這個規定叫權限。

10.1.1     用戶和組的概念

 

 

概念

解釋

屬主

目錄或文件的擁有者

屬組

擁有者所在的組

其餘用戶

除了屬主和屬組以外的用戶

 

10.1.2     7個字母的含義

-,普通文件

d, 目錄

l,  連接文件

10.1.3     權限的範圍

權限範圍

說明

u

User 屬主,文件和目錄的擁有者

g

Group 屬組,擁有者所在的組

o

Other 其餘用戶

a

All 全部的用戶

 

10.1.4     權限的操做

權限符號

說明

+

添加權限

=

修改權限

-

刪除權限

 

10.1.5     權限的字母和數字

權限字母

權限數字

說明

r

4

Read 讀取權限

w

2

Write 寫權限

x

1

eXecute 執行權限

-

0

沒有權限

 

10.2   添加權限

10.2.1     語法格式

chmod 用戶或組+權限 目錄或文件

對指定的文件或目錄,給用戶或組賦予權限。多種類型的用戶之間使用逗號分隔

 

10.2.2     操做演示

1)     給Demo.java文件的擁有者添加執行權限

2)     給Demo.java擁有者所在的組添加寫和執行的權限

3)     給Hello.java全部的用戶添加全部的權限

4)     給Demo.html擁有者添加執行權限,其它用戶添加寫權限

10.3   修改權限

10.3.1     語法格式

chmod 用戶或組=權限 目錄或文件

對指定的文件或目錄,針對不一樣的用戶修改權限。多種類型的用戶之間使用逗號分隔

 

10.3.2     操做演示

1)     給Hello.txt擁有者改成讀寫執行權限,所在的組有寫的權限,其它用戶有執行的權限

2)     修改Hello.txt的權限,使用數字的方式給擁有者,所在組,其它組都是讀寫權限

10.4   刪除權限

10.4.1     語法格式

chmod 用戶或組-權限 目錄或文件

對指定的文件或目錄刪除權限,多種類型的用戶之間使用逗號分隔

 

10.4.2     操做演示

1)     刪除Hello.txt擁有者寫入的權限,用戶組寫入權限

2)     使用數字的方式刪除Demo.java全部的權限

 

 

 

 

 若有更好需求,請聯繫小Bin。我會爲你更好地服務

相關文章
相關標籤/搜索