對於Windows操做系統而言,你們應該不陌生,但Windows操做系統也存在一些不足的地方:html
1) Windows是須要花錢去購買java
2) 系統長時間運行,安裝多了,系統愈來愈慢,愈來愈不穩定。linux
3) 病毒和流氓軟件不少程序員
相反,上述Windows的不足,剛好是另外一款操做系統Linux的優點所在:shell
1) Linux系統是免費,不少仍是開源的。ubuntu
2) 長時間運行,很穩定的vim
3) 幾乎沒有病毒和流氓軟件windows
學會對Linux的基本操做是後端JavaEE程序員的必修課。作爲一個後端JavaEE程序員,一般在Windows中開發完程序後,須要部署到一個相對比較安全,穩定的服務器中運行,這臺服務器上安裝的每每不是Windows操做系統,而是Linux操做系統。後端
Linux是基於Unix的開源、免費、多用戶、多任務的操做系統,因爲系統的穩定性和安全性。幾乎成爲程序代碼運行的最佳系統環境。centos
根據市場需求不一樣,分爲兩個方向:
1. 圖形界面版:注重用戶體驗,但目前沒有成爲主流,主流的普通用戶仍是習慣在Windows下使用。
2. 服務器版:沒有好看的界面,在控制檯窗口中輸入命令來操做系統的,是咱們架設服務器的最佳選擇,相似於DOS界面。
內核版本:在託瓦茲(Linux之父)領導下的內核小組開發維護的系統內核的版本號。
發行版本:一些我的/組織/公司在內核版基礎上進行二次開發而從新發行的版本號。
內核版是惟一的,發行版能夠不少,它封裝了內核版,底層仍是使用內核版操做機器的硬件設備。
如:ubuntu、redhat、centos、lubuntu、freeBSD等等
CentOS是一個Linux的發行版本,是目前企業中用來作應用服務器的主要版本。
1) 使用雙系統,在電腦開啓的時候選擇進入哪一個操做系統,但不建議安裝多個系統,一是浪費空間,二是可能形成系統不穩定。
2) 使用虛擬機,虛擬機就是Windows系統上的軟件,經過軟件來模擬一臺電腦。咱們能夠在虛擬機中安裝Linux系統。
虛擬機是一個軟件,它可使你在一臺真實PC機器上同時運行兩個或更多的操做系統,如:Windows或Linux。
它能夠模擬一個標準的PC環境,這個環境和真實的計算機同樣,有芯片組、CPU、內存、顯卡、聲卡、網卡、軟驅、硬盤、光驅、串口、並口、USB控制器。
請參考《資料\01_虛擬機VMware安裝\虛擬機VMware安裝步驟.docx》
請參考《資料\02_centOS7系統安裝\使用VMware虛擬機安裝centOS7步驟.doc》
l root用戶登陸進入Linux:
l root用戶退出Linux:
保存退出,重啓linux系統,網卡就啓動了。
使用客戶端Xshell在鏈接CentOS服務器以前要先要查看CentOS的局域網ip地址。
1) 使用命令查看Linux在局域網中的IP地址
命令 |
功能說明 |
ip addr |
查看網卡的ip,與ifconfig功能是同樣 |
ping 網絡地址 |
查看是否能夠連通指定的ip地址 |
注意: 在Linux中,按ctrl+c 強行終止程序執行
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系統能夠正常通訊鏈接
在實際開發中,Linux服務器都在網絡其餘的電腦上,咱們要經過Windows客戶端工具去鏈接Linux並操做它。鏈接Linux的Windows客戶端工具備不少,企業中經常使用的有SecureCRT、Xshell等。
SecureCRT和xshell都是企業中應用較多的.
目錄特色:不一樣於windows,一個硬盤分了幾個區,有C盤。在Linux中沒有盤符,全部的文件和目錄都在根目錄下面。
經常使用的目錄 |
說明 |
root |
管理員的主目錄,root用戶登陸之後自動進入目錄 |
home |
普通用戶的目錄,每一個普通用戶都有一個本身的主目錄,在這個目錄下。 |
bin |
可執行文件所在的目錄,今天學習的命令都在這個目錄下 |
etc |
系統配置和管理目錄 |
usr |
經常使用的資源和安裝文件放在這個目錄,是一個資源共享的目錄 Unix Shared Resources |
這是Linux下文件不一樣顏色表示的含義
顏色 |
說明 |
白色 |
普通文件 |
深藍色 |
目錄(文件夾) |
綠色 |
可執行文件 |
紅色 |
壓縮包 |
青色 |
連接,至關於Windows下快捷方式 |
橙色 |
設備文件 |
在修改客戶端的配色方案,以下操做
選中options-「session options」,按照以下圖進行勾選
下面效果
cd 目錄名 |
|
做用 |
改變目錄Change Directory,cd與目錄名之間必須有空格 |
. |
當前目錄 |
.. |
上一級目錄 |
1) 切換到系統根目錄
2) 切換到該目錄下usr目錄
3) 切換到上一層目錄
4) 切換到用戶主目錄,若是是root管理員,則是到root目錄
5) 切換到上一個所在的目錄
cd回車 ,去到root目錄下
mkdir 目錄名 |
|
做用 |
make directory 建立一個目錄 |
1) 進入root目錄
2) 在root目錄下建立aaa目錄
3) 使用.方式的相對路徑,在當前目錄下建立bbb目錄
4) 在root目錄下,在bbb目錄下建立ccc目錄
5) 使用..在上一級目錄下建立ddd目錄
6) 使用絕對路徑在root下建立目錄eee目錄
語法:ls [參數] |
|
無 |
顯示當前目錄下的文件和目錄 |
-l |
以詳細的方式顯示當前目錄下的文件和目錄 縮寫ll |
-a |
顯示當前目錄下全部的文件和目錄,包含隱藏的文件和目錄。只要是.開頭的文件和目錄都是隱藏的 |
1) 進入root目錄,以精簡形式查詢當前目錄下的內容
2) 以詳細形式查詢當前目錄下的內容,能夠縮寫成ll
3) 在當前目錄下建立一個隱藏的目錄.ccc
4) 以精簡形式查詢當前目錄下的全部的內容,包含隱藏文件
5) 以詳細形式查詢當前目錄下的隱藏內容,-la和-al均可,也可使用ll -a
字母 |
說明 |
d |
directory 目錄 |
- |
文件 |
l |
link 連接 |
l 演示案例:
1) /lib是一個指向/usr/lib的連接
2) 進入/lib,顯示全部的文件與進入/usr/lib顯示的文件是同一個目錄
find [目錄名] [-name '查詢字符串'] |
|
||
無參名 |
搜索當前目錄和它的子目錄全部的文件和目錄 |
|
|
目錄名 |
搜索指定目錄下和它的子目錄全部的文件和目錄 |
|
|
-name '查詢字符串' |
指定具體查詢字符串 |
|
|
|
* |
匹配多個字符 |
|
|
? |
匹配1個字符 |
|
1) 在/root目錄下,查詢當前目錄下全部的文件和目錄
2) 查詢/根目錄下(包括子目錄),名以abc開頭的目錄和文件
3) 查詢根目錄即其子目錄下以cc開頭的三個字符的目錄或文件
mv 舊名 新名 |
|
做用 |
move 將一箇舊名字修改爲一個新的名字,既能夠改文件名又能夠改目錄名 |
² 在Xshell中複製字符串:ctrl + insert,粘貼使用shift+insert
1) 將root文件夾下的aaa目錄改爲abc
2) 使用touch建立一個空文件爲aaa,再使用mv將aaa文件更名爲xyz
mv 源目錄 目標目錄 |
|
做用 |
move 將源目錄移動到目標目錄下 |
² 疑問:mv命令何時是更名,何時是移動?
若是目標目錄存在,則是移動,若是不存在則是更名。
語法 |
cp [參數] 源文件或目錄 目標目錄 |
做用 |
將源文件或整個目錄複製到目標目錄下 |
-r |
recursion 連同子目錄下全部的文件所有複製 |
1) 當前是root目錄,複製/proc/dma文件到root目錄下的bbb目錄中
2) 將/etc目錄下全部c開頭的文件複製到root目錄下的bbb目錄下
3) 將/etc目錄下全部h開頭的文件和目錄複製到root目錄下的eee目錄,連同子目錄下的內容一塊兒複製
語法:rm [參數] 文件或目錄1 文件或目錄2 |
|
做用 |
remove 刪除文件或目錄,能夠同時指定多個 |
-r |
recursion 連同子目錄一塊兒刪除,只用於刪除目錄 |
-f |
強制刪除,由於刪除以前會有提問:yes或no,回答yes |
1) 同時刪除eee目錄下的hostname和hosts文件
2) 進入root下的bbb目錄,刪除全部文件名csh,任意擴展名的文件
3) 進入root目錄下的eee目錄,遞歸刪除httpd目錄和全部子目錄的文件,不進行確認,強制刪除。
命令 |
功能 |
cd |
切換目錄 |
mkdir |
建立目錄 |
ls |
查看文件和目錄 |
find |
查找目錄和子目錄下全部文件 |
mv |
移動和更名 |
cp |
複製文件和目錄 |
rm |
刪除文件和目錄 |
查看文件的內容的命令:cat/more/head/tail/less |
|
cat 文件名 |
查看文件全部的內容 |
more 文件名 |
查看文件全部的內容,能夠分屏顯示 回車鍵:一行一行顯示 空格鍵: 一頁一頁顯示 q: 退出 |
head 文件名 |
查看文件前8行 |
head -n 行數 文件名 |
查看前面指定的行數 |
tail 文件名 |
查看文件後8行 |
tail -n 行數 文件名 |
查看文件後指定的行數 |
less 文件名 |
查看文件全部的內容 -N 顯示行數 PageUp: 向前翻頁 PageDown: 向後翻頁 q: 退出 若是使用crt客戶端翻頁很差使,若是使用xshell是沒有問題 |
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文件,顯示行號
touch 文件1 文件2 |
|
做用 |
建立一個或多個文件,0個字節大小 |
1) 在當前目錄中建立Hello.java文件
2) 在當前目錄中同時建立Hello.txt文件和Hello.xml
編輯已存在文件的內容,咱們在Linux中,一般使用vi/vim工具來修改文件內容。
vi(vim)是上Linux經常使用的編輯器,不少Linux發行版都默認安裝了vi(vim)。vi是「Visual Interface」的縮寫,vim是 (加強版的vi)。在通常的系統管理維護中vi就夠用,若是想使用代碼加亮的話可使用vim。
vim 文件名稱 |
|
做用 |
編輯文本文件 |
l vim編輯器的三種模式
三種操做模式 |
說明 |
命令模式 |
能夠移動光標、刪除字符等操做,打開文件時即進入這個模式 |
編輯模式 |
在此模式下能夠輸入字符,進行編輯等操做 |
底行模式 |
能夠輸入命令對編輯的文件進行查找,保存,退出等操做 |
l 命令模式下按鍵:
命令 |
描述 |
i |
在當前光標的前面插入字符 |
a |
在當前光標的後面插入字符 |
o |
在當前光標的下一行插入字符 |
l 底行模式下經常使用的編輯命令
命令 |
描述 |
yy |
複製當前行 |
p |
若是前面已經複製了,在當前下面粘貼 |
dd |
刪除當前行 |
u |
撤銷 |
/字符串 |
搜索文本內容 n:向後搜索 N:向前搜索 |
wq |
保存並退出 |
q! |
不保存強制退出 |
wq! |
強制保存退出(只讀文件) |
1) vim Hello.java 用vim編輯器建立/打開Hello.java文件,這時進入命令模式。
2) 按i鍵,進入編輯模式,輸入如下內容:
3) 按Esc鍵,進入命令模式,按冒號進入底行模式
4) 輸入:wq回車,表示存盤退出
5) 使用cat Hello.java查看文件的內容
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沒有變化
擴展名 |
分類 |
.zip或.rar |
在windows下的壓縮包 |
.tar |
在Linux下的打包文件 |
.gz |
在Linux下的壓縮文件 |
.tar.gz |
在Linux下的打包壓縮文件 |
語法:tar [參數] 壓縮包名 一個或多個文件 |
|
做用 |
對一個或多個文件進行打包並壓縮 |
-c |
建立一個打包的文件(必選) |
-v |
顯示打包的詳細過程(可選) |
-z |
壓縮文件(可選) |
-f <壓縮文件名> |
指定壓縮包的文件名(必選),f要求後面緊跟着壓縮的文件名,通常放在參數最後面 |
1) 定位於root目錄,將當前目錄下的Hello.java和Hello.txt文件打包成hello.tar文件,並顯示詳細信息。
2) 將當前目錄下的Demo.* 打包並壓縮成demo.tar.gz文件,顯示詳細信息。
語法1:tar [參數] 壓縮文件 |
解壓文件到當前目錄 |
語法2:tar [參數] 壓縮文件 -C 目錄 |
|
解壓文件到指定的目錄 |
|
-x |
解壓指定的文件【必選】 |
-v |
顯示解壓詳細過程【可選】 |
-f<壓縮文件> |
指定要解壓的文件【必選】
|
-C |
解壓到指定的目錄下【可選】 |
1) 定位於root目錄下,刪除全部大寫的Hello開頭的文件
2) 解壓hello.tar到當前目錄
3) 釋放demo.tar.gz文件到abc目錄下
pwd |
Print Working Directory 打印當前的工做目錄 |
1) 進入根目錄,顯示當前的目錄
2) 進入/bin,顯示當前的目錄
3) 進入/usr/bin目錄,顯示當前的目錄
1) 一種是用戶經過終端輸入命令啓動的進程
2) 一種是Linux系統開機之後自動啓動進程
1) 每一個用戶登陸之後都會分配一個終端操做的進程
2) 這個進程是全部終端命令的父進程bash,不要隨意終止這個進程。
ps [參數] |
|
無參 |
顯示當前用戶經過終端啓動的進程 |
-a |
顯示全部用戶經過終端啓動的進程 |
-u |
顯示全部用戶經過終端啓動的進程的詳細信息 |
-x |
顯示全部用戶的全部進程 |
1) 在客戶端中顯示當前用戶經過終端啓動的全部進程
2) 在Linux命令行窗口運行vim Hello.txt編輯文件,在Xshell軟件中顯示全部用戶經過終端啓動的全部進程。
3) 顯示全部用戶經過終端啓動的全部進程詳細信息
4) 顯示全部用戶全部進程詳細信息
列標題 |
說明 |
%CPU |
CPU(處理器)使用百分比 |
%MEM |
真實內存使用百分比 |
CMD |
正被執行的命令的名稱 |
COMMAND |
正被執行的命令的完整名稱 |
PID |
進程ID |
PPID |
父進程的進程ID |
RSS |
內存駐留空間大小(內存管理) |
START |
定時啓動的時間 |
STAT |
狀態代碼(O,R,S,T,Z) |
TIME |
積累CPU時間 |
TTY |
控制終端的完整名稱(?表示沒有控制終端,該進程爲守護進程) |
USER |
用戶名 |
VSZ |
虛擬大小(單位爲KB) |
Top命令:查看系統總體內存、cpu耗用狀況
kill [參數] 進程號 |
|
進程號 |
經過ps能夠查到進程號 |
-7 |
強制停止進程 |
1) 在Linux命令行上使用vim 編輯Hello.txt文件
在Xshell客戶端軟件顯示全部用戶經過終端啓動的全部進程,並殺死vim這個進程。
在Linux命令行能夠看到進程被終止
2) 在Linux命令行使用ping www.itcast.cn
在Xshells客戶端軟件顯示全部用戶經過終端啓動的全部進程,並強行殺死ping這個進程
在Linux命令行能夠看到進程被殺掉
grep是一種強大的文本搜索工具,它能使用字符串搜索文本,並把匹配的行和行號打印出來。
grep [參數] 字符串 文件名 |
|
做用 |
搜索指定文件中字符串內容 |
-n |
搜索結果中顯示行號 |
-v |
顯示不匹配的行 |
-i |
忽略大小寫搜索 |
1) 在Demo.java中搜索close字符串
2) 在Demo.java中搜索close字符串,而且顯示行號
3) 在Demo.java中搜索沒有close的行和行號
4) 在Demo.java中忽略大小寫搜索insert字符串而且顯示行號
語法 |
命令1 | 命令2 |
解釋 |
管道命令符 | ,必需要有兩條以上的命令參與操做。將第1個命令的執行結果,作爲第2個命令的參數,繼續進行下一個操做。 |
1) 分屏顯示/etc目錄全部文件的詳細信息,將ll的輸出作爲more的輸入,即分屏顯示。
2) 在root目錄下使用ll顯示全部文件的詳細信息,再在顯示結果中使用grep查詢Demo字符串
3) 顯示Linux中全部進程的詳細信息,查詢ssh的字符串
語法 |
shutdown now |
解釋 |
關閉服務器 |
Windows系統關機
shutdown -s 馬上關機
shutdown -s -t 秒數 ,指定多少秒後馬上關機
shutdown -a 清除定時計劃
語法 |
reboot |
解釋 |
重啓Linux |
命令 |
功能 |
pwd |
顯示當前絕對路徑 |
ps |
顯示進程信息 |
kill |
殺死進程 |
grep |
查詢字符串 |
| |
管道命令 |
shutdown now |
關機 |
reboot |
重啓 |
Linux中對每一個目錄和文件都作了規定,只能由知足條件的用戶才能操做這個目錄或文件,這個規定叫權限。
概念 |
解釋 |
屬主 |
目錄或文件的擁有者 |
屬組 |
擁有者所在的組 |
其餘用戶 |
除了屬主和屬組以外的用戶 |
-,普通文件
d, 目錄
l, 連接文件
權限範圍 |
說明 |
u |
User 屬主,文件和目錄的擁有者 |
g |
Group 屬組,擁有者所在的組 |
o |
Other 其餘用戶 |
a |
All 全部的用戶 |
權限符號 |
說明 |
+ |
添加權限 |
= |
修改權限 |
- |
刪除權限 |
權限字母 |
權限數字 |
說明 |
r |
4 |
Read 讀取權限 |
w |
2 |
Write 寫權限 |
x |
1 |
eXecute 執行權限 |
- |
0 |
沒有權限 |
chmod 用戶或組+權限 目錄或文件 |
對指定的文件或目錄,給用戶或組賦予權限。多種類型的用戶之間使用逗號分隔 |
1) 給Demo.java文件的擁有者添加執行權限
2) 給Demo.java擁有者所在的組添加寫和執行的權限
3) 給Hello.java全部的用戶添加全部的權限
4) 給Demo.html擁有者添加執行權限,其它用戶添加寫權限
chmod 用戶或組=權限 目錄或文件 |
對指定的文件或目錄,針對不一樣的用戶修改權限。多種類型的用戶之間使用逗號分隔 |
1) 給Hello.txt擁有者改成讀寫執行權限,所在的組有寫的權限,其它用戶有執行的權限
2) 修改Hello.txt的權限,使用數字的方式給擁有者,所在組,其它組都是讀寫權限
chmod 用戶或組-權限 目錄或文件 |
對指定的文件或目錄刪除權限,多種類型的用戶之間使用逗號分隔 |
1) 刪除Hello.txt擁有者寫入的權限,用戶組寫入權限
2) 使用數字的方式刪除Demo.java全部的權限
若有更好需求,請聯繫小Bin。我會爲你更好地服務