[親測,Success]Linux,VMware 安裝+常用 命 令+網 絡+進 程 管 理以及軟體安裝
安裝Linux—Armyman
1、環 境 安 裝
1 安裝VMware,課程中使用的是VMware10的版本
2 檢測系統是否支援虛擬化
如果是win10系統,直接開啟工作管理員檢視
3 如果支援,檢視虛擬化是否開啟
4.VMware 安裝
https://blog.csdn.net/qq_43652509/article/details/83900942
5 安裝完成之後,需要安裝xshell
6 xshell連線centos7作業系統
Centos提供IP地址,如何提供呢?
A.設定Wmware的IP地址
B、設定作業系統的地址
2、Linux概 述
2.1、了 解 Unix系 統
l Unix是一個強大的多使用者、多工作業系統。
l 於1969年在AT&T的貝爾實驗室開發。
l UNIX的商標權由國際開放標準組織(The Open Group)所擁有。
l UNIX作業系統是商業版,需要收費,價格比Microsoft Windows正版要貴一些。
2.2、了 解 Linux發 展 歷 史
l Linux是基於Unix的。
l 誕生於1991 年10 月5 日。
l Linux基於GPL協議,是一個自由的,免費的,原始碼開放的作業系統。
l Linux存在著許多不同的Linux版本,但它們都使用了Linux核心。
2.3、Linux的 應 用 領 域
l 伺服器系統
• Web應用伺服器、資料庫伺服器、遊戲伺服器、介面伺服器、DNS、FTP等等;
l 嵌入式系統
• 路由器、防火牆、手機、PDA、IP 分享器、交換器、家電用品的微電腦控制器等等
l 高效能運算、計算密集型應用
• Linux有強大的運算能力。IBM的Watson超級計算機就是使用Linux系統
l 桌面應用系統
• 很多桌面作業系統的底層也是Linux
l 移動手持系統
• 安卓系統就是基於Linux
2.4、Linux版 本
redhat:目前,全球最大的linux發行廠商,功能全面、穩定,但是,是收費的。
ubuntu:目前,是linux桌面作業系統做的最好的。
centos:免費版的redhat,centos基於redhat發行版基礎之上,再重新編譯釋出的版本。
目前centos已經被Redhat公司收購,但是依然免費
3、安 裝 Linux
3.1、安 裝 虛 擬 機 軟 件
常用的虛擬機器軟體 主要包括:VirtualBox、VMware Workstation、Virtual PC
VirtualBox: VirtualBox 是一款開源虛擬機器軟體。VirtualBox 是由德國 Innotek 公司開發,由Sun Microsystems公司出品的軟體,使用Qt編寫,在 Sun 被 Oracle 收購後正式更名成 Oracle VM VirtualBox
VMware Workstation: 是VMware公司銷售的商業軟體產品之一。該工作站軟體包含一個用於英特爾x86相容電腦的虛擬機器套裝,其允許使用者同時建立和執行多個x86虛擬機器
Virtual PC:是Microsoft 最新的虛擬化技術。主要適合做微軟自己產品的服務
3.2、安 裝 Centos7系 統
https://blog.csdn.net/qq_43652509/article/details/83903205
3.3、網 絡 三 種 連 接 方 式 講 解
3.3.1、Bridged橋接模式
這種方式下,虛擬機器就像一臺真正的計算機一樣,直接連線到實際的網路上,與宿主機沒有任何聯絡。
3.3.2、Host-only僅主機模式
這種方式下,虛擬機器的網絡卡連線到宿主的 VMnet1 上,但系統並不為虛擬機器提供任何路由/上網服務,因此虛擬機器只能和宿主機進行通訊,而不能連線到實際網路上。
3.3.3、NAT模式
這種方式下,虛擬機器的網絡卡連線到宿主的 VMnet8 上。此時系統的 VMWare NAT Service 服務就充當了路由器的作用,負責將虛擬機發到 VMnet8 的包進行地址轉換之後發到實際的網路上,再將實際網路上返回的包進行地址轉換後通過 VMnet8 傳送給虛擬機器。VMWare DHCP Service 負責為虛擬機器提供 DHCP 服務。
總結:
虛擬機器的三種網路連線方式:
1 橋接模式:虛擬機器是一臺獨立的電腦
2 僅主機模式(host-only):虛擬機器可以訪問宿主機,虛擬機器無法上網,宿主機無法訪問虛擬機器
3 NAT模式:虛擬機器可以訪問宿主機,宿主機可以訪問虛擬機器
此時宿主機相當於路由器,虛擬機器可以通過宿主機上網
宿主機可以配置254個虛擬機器
3.4、配 置 動 態 IP
什麼是動態IP?每次IP地址都可發生改變?
第一步:使用root使用者登入(即root/123456),修改IP地址(vi /etc/sysconfig/network-scripts/ifcfg-ens33):
按字元鍵“i”進入編輯模式,修改/etc/sysconfig/network-scripts/ifcfg-ens33檔案內容如下:
按“esc”鍵後,輸入:wq回車,完成配置檔案編輯。
輸入:service network restart命令重啟網絡卡,生效剛剛修改ip地址,ping www.baidu.com測試網路連通性。
好了,至此,CentOS7作業系統安裝成功了。
3.5、設 置 靜 態 ip 地 址 ( 推 薦 )
配置網路的目的主要是為了固定虛擬機器的內網IP,方便我們在真實的作業系統中使用Linux連線工具軟體進行遠端連線
修改IP地址(vi /etc/sysconfig/network-scripts/ifcfg-ens33)
按“esc”鍵後,輸入:wq回車,完成配置檔案編輯。
輸入:service network restart命令重啟網絡卡,生效剛剛修改ip地址,ping www.baidu.com測試網路連通性。
注意:Linux系統中是嚴格區分大小寫的,寫明令時不要寫錯
3.6、給 虛 擬 機 進 行 快 照
快照其實就是還原點,我們設定了快照。以後如果被我們玩壞了,也可以快速的還原到以前狀態!
3.7、安 裝 遠 程 連 接 工 具
直接操作Linux系統所在機器的問題:
A:虛擬機器有滑鼠獨佔問題,不好操作
B:真實開發中,虛擬機器與我們不在一起。
使用遠端連線工具:
A:操作方便快捷
B:隨時隨地都可以連線Linux系統,方便管理
3.7.1、遠端終端命令工具
主要功能是向Linux系統遠端傳送命令
Xshell:目前最好用
Secure Shell Client:老牌的連線工具,對中文支援較差
SecureCRT:收費
Putty:早就停止維護了,很多東西支援的很差。但因為習慣依舊很多人支援
我們使用XShell5,安裝時安裝免費版
使用步驟:
3.7.2、遠端FTP工具
FTP工具的目的是:便捷的與Linux系統之間進行檔案傳輸
有以下途徑:
Xftp:配合XShell使用,支援簡單線上編輯
Secure Shell Client:自帶FTP工具
SecureFX:配合SecureCRT使用
Lrzsz:可以安裝在Linux系統中,通過在遠端終端中使用命令來實現FTP功能
我們使用Xftp。
如果要向Linux進行檔案傳輸,可以在Xshell介面中,點選檔案傳輸按鈕,自動就會開啟我們安裝的Xftp了:
通過XFTP工具,我們可以讓本機作業系統和linux系統之間進行檔案的上傳和下載。
4、Centos7的 使 用 ( 無 界 面 )
4.1、幾 個 基 本 的 Linux指 令
我們先來學習一套最基本的指令。
4.1.1、ls指令
ls,列出目錄中所有可見的檔案和目錄。
ls -a,列出目錄中所有的檔案和目錄。(以.開頭的檔案是隱藏的)
ls -l,列出檔案和目錄的詳細資訊。
drwxr-xr-x 第一個字元有3種情況:“-”表示普通檔案,“d”代表目錄,“l”代表連線檔案,“b”代表裝置檔案。
緊接著的數字2代表 “aa”這個目錄下的目錄檔案數目
ls -al,列出所有檔案和目錄的詳細資訊。
總結:
ls命令
ls 列出所有非隱藏的檔案
ls -a:列出所有隱藏和非隱藏的檔案
ls -l:縮寫ll,列出所有非隱藏檔案的詳細資訊
ls -al:列出所有隱藏和非隱藏的檔案的詳細資訊
4.1.2、clear指令
clear,清除螢幕上的內容。
4.1.3、exit指令
exit,退出登入狀態。
4.1.4、reboot指令
reboot,重啟。
4.1.5、shutdown指令
shutdown主要用來關機。
shutdown -h now // 馬上關機
4.2、指 令 快 捷 輸 入
因為Linux中需要輸入很多指令來操作,為了提高指令輸入速度,Linux提供了以下方法。
4.2.1、歷史指令
使用上、下箭頭可以找出上一條指令和下一條指令。
4.2.2、程式碼補全
使用tab鍵可以快速輸入指令。
比如:我要輸入shutdown指令,這時,我們可以只輸入shut然後按下tab鍵,即可自動把shutdown補全。
思考:為什麼只輸入s無法實現程式碼補全?
因為以s開頭的指令,很多不只一個,所以不知道應該補哪個。但是我們可以按兩個tab鍵,這時會把所有以s開頭的指令都列出來:
按了兩個tab,提示共有129個以s開頭的指令真的要都顯示出來嗎?這時如果按y就會列出,如果按n就不會列出來。
按y之後會列出所有以s開頭的指令,但因為129個比較多,而在電腦中無法一次全顯示出來,所以先顯示一部分:(More代表還有更多,這時按回車就可以向下滾動)
總結:
Clear:清屏
Reboot:重啟
Exit:斷開連線
Shutdown -h now:立即關機
Tab:補全
Pwd:獲取當前位置的全路徑
5、Linux的 結構
5.1.1、windows系統的目錄結構
在windows中目錄結構是從C、D、E等碟符開始的:
C、D、E這些碟符的關係是平等的,屬於同一級。
5.1.2、Linux目錄結構
在Linux中並沒有C、D、E等碟符,直接就是一個樹形結構的目錄(Linux中只有一棵樹):
目錄結構總結:
1:Linux中的根目錄就是/,沒有windows中的碟符
2:Linux中如果有新的使用者建立,預設會在/home/下建立一個與使用者名稱一樣的資料夾,作為該使用者的home資料夾
3:root使用者的HOME在/root資料夾下。比較特殊
4:一般我們安裝檔案都放在 /usr/software這個資料夾下
5:/etc下有很多系統的配置檔案
6、Linux基 本 命 令
6.1、Linux命 令 的 格 式
Linux命令,其實就是Shell命令,是我們學好Linux的關鍵。
注意:
A:通過上下方向鍵來調取過往執行過的命令。
B:命令或引數僅需輸入前幾位就可以用tab鍵補全。
格式:
**命令名稱** **[****命令引數****] [****命令物件****]**
命令名稱:有很多,我們會學習其中重要的一些
命令引數:可選,有兩種格式:
長格式:--help
短格式:-h
命令物件:可選,就是命令作用的目標,可以是檔案、目錄、URL等等
例如:
rm –f 1.txt
注意:Linux中的命令嚴格區分大小寫的!
6.2、目 錄 操 作 命 令
Linux中並沒有資料夾的概念,應該叫目錄。
6.2.1、檢視當前目錄
使用 pwd 指令可以檢視當前所在的目錄。
~代表當前是家目錄,使用pwd可以查當前家(當前使用者所在的目錄)目錄的絕對路徑:
/home/使用者名稱 — 家目錄
6.2.2、切換目錄
使用cd可以切換到其它目錄。
Linux中有很多目錄可以使用cd切換到任何一個目錄中:
例1、切換到根目錄:
例2、切換到/home目錄:
總結:可以切換到任何一個現有的和我們自己建立的目錄中。
面試題:在linux中~和/ 的區別:
6.2.3、建立目錄
可以使用mkdir 指令建立目錄。
建立目錄時可以使用 相對路徑 也可以使用 絕對路徑。
例1、使用絕對路徑建立目錄。
因為已經有/root目錄了,所以在root中建立abcde可以直接建立,但是如果要一次建立多級目錄就可以新增 -p 引數了。
例2、建立 /root/a/b/c/d/目錄。
注意:因為root下沒有a,也沒有b,c,d,e,目錄,所以要一次性同時建立多級目錄需要加 -p 引數:
例3、使用相對路徑在當前目錄下建立abc目錄。
回顧:./ 代表當前目錄, …/ 代表上一級目錄。
例4、建立的時候顯示建立資訊
注意:建立的時候顯示建立資訊,需要加上引數v
6.2.4、複製目錄
可以使用 cp -r 指令複製目錄及目錄中的子目錄。
-r : 遞迴
說明:cp是複製的意思,但對於目錄來說還要加上 -r 這個引數代表連同目錄中的子目錄和檔案一起復制。
例1:複製當前目錄下的abc目錄,新複製出來的目錄叫做abc2:
Copy
6.2.5、移動目錄
可以使用 mv 指令移動目錄。
Move
例1:把當前目錄下的abc目錄移動到當前目錄下的abc2目錄中。
6.2.6、刪除目錄
可以使用 rm -rf 指令刪除目錄及目錄中的子目錄和檔案。
Remove
引數說明:
-r :遞迴的刪除(刪除子目錄和檔案)。
-f :強制刪除(沒有任何提示直接刪除)。
例:刪除當前目錄中的abc2目錄。
注意:該指令在使用時,一定要小心!定要小心!要小心!小心!心!! –刪了就找不回來了。
6.2.7、重新命名
可以使用mv 指令對目錄重新命名。
例:把當前目錄下的a目錄改名為b目錄。
總結:
mkdir:建立目錄,當有多級目錄的時候,使用-p
cp:複製目錄,當有多級目錄的時候,使用-r 遞迴
mv:移動目錄+重新命名目錄
rm:刪除目錄,當有多級目錄的時候,使用-rf
6.3、打 包 和 解 壓 命 令
壓縮也是一種打包,壓縮的原理是將檔案中相同的資訊用一個字元代替,致使檔案體積變小達到壓縮的目的,壓縮對於文字類或資料類檔案有較明顯的作用。
打包就是將一些檔案放在一起變成一個包,便於儲存和傳輸,圖片和視訊資料因為不象文字一樣,因此多個檔案在壓縮的時候沒有明顯效果,因此只能做打包,進行儲存。
Windows系統下常見的壓縮檔案:
*.zip
*.rar
*.7z
Linux系統下常見的壓縮檔案:
*.Z compress程式壓縮的檔案
*.gz gzip程式壓縮的檔案
*.bz2 bzip2程式壓縮的檔案
*.tar tar程式打包的資料,並沒有壓縮過
*.tar.gz tar程式打包並經過gzip壓縮
*.tar.bz2 tar程式打包並經過bzip2壓縮
6.3.1、.tar命令
打包:tar -zcvf FileName.tar DirName
解包:tar -zxvf FileName.tar
tar命令引數介紹:
-c: 建立壓縮檔案 create
-x:解壓
-t:檢視內容
-r:向壓縮歸檔檔案末尾追加檔案
-u:更新原壓縮包中的檔案
這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。
下面的引數是根據需要在壓縮或解壓檔案時可選的。
-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將檔案解開到標準輸出
-f: 使用檔案名字,切記,這個引數是最後一個引數,後面只能接檔案名。
案例一:將a目錄打包為 a.tar
案例二:解包
總結:
tar命令僅僅實現對資料打包。不進行壓縮。我們一般處理檔案,都是同時進行打包和壓縮。因此要加上引數。
因為要壓縮,所以加上引數-z
因為要顯示執行過程,因此加上-v
因為要指定檔名稱,因此加上-f
最後,如果是打包,則用-c;如果是解壓,則用--x
因此,最終命令為:
tar -zcvf 壓縮後文件名.tar.gz 目標檔案 :打包並壓縮目標檔案
tar -zxvf 要解壓的檔名 :解壓縮到當前目錄
tar -zxvf 要解壓的檔名 -C 目標目錄 :解壓到目標目錄
注意,一般Linux中的壓縮檔案都是 .tar.gz
6.4、文 件 操 作 命 令
Linux中的哲學:“所有東西都是一個檔案”。
Linux中所有的東西(硬碟、目錄、網路連線、U盤、光碟機等等)都會當作一個檔案來處理。
6.4.1、介紹
windows中的檔案由 檔名.副檔名 兩部分組成。副檔名直接決定了這個檔案的型別,以及將會使用哪種軟體來開啟執行。
-
Xx.doc word檔案
-
Xxx.java 檔案
-
Xxx.js js檔案
-
Xxx.xls
-
Xx.ppt
Linux中並沒有副檔名的要求,不過為了便於區分檔案,我們一般也會給檔案加上一個副檔名。
6.4.2、隱藏檔案
Linux系統中以 . 開頭的檔案是隱藏的檔案,使用 ls 命令是檢視不到這些檔案的,必須要加上 -a 引數才可以檢視到隱藏的檔案。
我們在平時開發時會看到很多以 . 開頭的檔案,比如 .htaccess 。這些檔案都是考慮到在Linux用來隱藏用的。
6.4.3、目錄與檔案的區分
當我們使用ls命令列出目錄中的所有子目錄和檔案時,如何區分哪些是檔案哪些是目錄?
可以通過詳細資訊中第一列的資訊來區分:以d開頭的是目錄,以-開頭的是檔案。
6.4.4、檔案相關的指令
6.4.4.1、建立檔案
可以使用 touch 指令建立檔案。
touch 絕對路徑/相對路徑
例:當前目錄下建立一個hello檔案。
6.4.4.2、複製檔案
可以使用 cp 複製檔案。
cp 舊檔案 新檔案
例:複製當前目錄下的hello檔案,新複製出來一個hello2檔案:
6.4.4.3、移動檔案
可以使用 mv 移動檔案。
mv 原檔案 移動後的檔案
例:把當前目錄下的hello移動到當前目錄下的abcd目錄下(先有這個目錄):
6.4.4.4、刪除檔案
可以使用 rm 刪除檔案。
語法1:刪除前先提示
rm 要刪除的檔案
提示時按y刪除,n不刪除。
語法2:直接刪除,沒有任何提示
rm -f 要刪除的檔案
例:刪除hello2檔案
6.4.4.5、重新命名檔案
可以使用 mv 重新命名檔案。(移動時改名)
mv 原檔案 新檔案
例:把當前目錄下的hello改名為helloworld。
6.4.4.6、查詢檔案
接下來學習如何在系統中查詢檔案。Linux中提供了很多好用的指令來查詢檔案。
find指令
find是功能最多的查詢指令,可以根據各種條件查詢檔案。
語法
find 查詢的目錄 選項 值
例1、在/etc目錄下查詢所有*.conf.d結尾的檔案
find /etc -name “*.conf.d”
擴充套件:程式的中斷
在Linux系統中可以使用 ctrl+c 快捷鍵來中斷當前程式的執行。
6.4.5、檔案命令總結
命令 | 目錄 | 檔案 |
---|---|---|
mkdir | 建立目錄,多級目錄使用,-p | 無 |
touch | 無 | 建立檔案 |
cp | 複製目錄,多級目錄使用-r | 複製檔案 |
mv | 移動+重新命名 | 移動+重新命名 |
rm | 刪除,多級目錄-rf | 刪除,-f不詢問 |
find | 無 | 查詢檔案 |
tar -zcvf 打包 -zxvf 解包 | 打包+解包 | 打包+解包 |
6.5、查 看 文 件 內 容 命 令
注意:tail和grep命令非常重要,一定要掌握
6.5.1、cat命令
cat filename 輸出檔案所有內容
6.5.2、more和less命令
more 檢視更多內容
退出:按q鍵
空格:查詢下一屏內容
less 用法和more類似,不同的是less可以通過PgUp、PgOn鍵來控制。
6.5.3、tail命令(重要)
tail 用於顯示檔案後幾行的內容
tail -10 /etc/password 檢視後10行資料
tail -f catalina.log 動態檢視日誌,可以實時的得到新追加到檔案中的資訊,常用來跟蹤日誌檔案。
tail -200f catalina.log 動態顯示日誌最後200行
Ctrl + C 結束檢視
6.5.4、grep命令
l 查詢符合條件的字串。
l 用法: grep [選項]… PATTERN [FILE]…
l 示例:
• grep lang anaconda-ks.cfg 在檔案中查詢lang
• grep lang anaconda-ks.cfg --color 高亮顯示
grep location nginx.conf 查詢字串location並且高亮顯示、顯示查詢到的元素的前、後5行內容。
檢視程序:
ps -ef | grep java
ps -ef | grep tomcat
6.6、編 輯 文 件 內 容 :vi編 輯 器
l 在Linux下一般使用vi編輯器來編輯檔案。
l vi既可以檢視檔案也可以編輯檔案。
l 而vim是vi的升級版本,具備更多的功能
l vi如果目標檔案不存在,會建立新的檔案。但是如果新檔案沒做編輯,退出後還會消失。
6.6.1、vi的三種模式介紹
編輯模式:對文字進行輸入和修改
底行模式:退出vim或者查詢、替換功能
命令模式:通過快捷命令操作資料,開啟vi預設就是命令模式
6.6.2、編輯模式
命令模式按下:i、o、a進入編輯模式:
i:游標不動
o:另起一行
a:游標到下一個字元
按ESC退出編輯模式,進入命令模式
6.6.3、底行模式
命令模式下,按‘:’或者‘/’進入底行模式,可以輸入命令
1)退出vim:
:q 未編輯時退出vim
:q! 編輯後,退出並且不儲存
:wq 編輯後,退出且儲存
2)查詢
/文字 搜尋指定文字,高亮顯示,按n顯示下一個,按N顯示前一個
:整數 快捷跳轉到指定行
6.6.4、命令模式(瞭解)
dd 剪切當前行
5dd 剪下游標及下面共5行
yy 複製游標所在行
5yy 複製游標及下面共5行
p 將之前dd或yy的資料貼上到游標位置
R 進入替換模式,輸入的任何資料都直接替換游標所在位置資料
6.7、組 合 命 令 ( 掌 握 )
Linux中的命令組合後,可以產生神奇的效果!
6.7.1、重定向輸出>和>>
例1:a.txt中內容為Hello,b.txt中內容為world,將內容合併到c.txt中
例2:a.txt中內容為Hello,b.txt中內容為world,c.txt中內容為Hello World,將內容合併並追加到c.txt中
6.7.2、管道 “|”
6.7.3、邏輯控制&&
7、網 絡
7.1、虛 擬 機 的 三 種 網 絡 連 接 方 式
7.1.1、Bridged橋接模式
這種方式下,虛擬機器就像一臺真正的計算機一樣,直接連線到實際的網路上,與宿主機沒有任何聯絡。
7.1.2、Host-only僅主機模式
這種方式下,虛擬機器的網絡卡連線到宿主的 VMnet1 上,但系統並不為虛擬機器提供任何路由服務,因此虛擬機器只能和宿主機進行通訊,而不能連線到實際網路上。
7.1.3、NAT模式
這種方式下,虛擬機器的網絡卡連線到宿主的 VMnet8 上。此時系統的 VMWare NAT Service 服務就充當了路由器的作用,負責將虛擬機發到 VMnet8 的包進行地址轉換之後發到實際的網路上,再將實際網路上返回的包進行地址轉換後通過 VMnet8 傳送給虛擬機器。VMWare DHCP Service 負責為虛擬機器提供 DHCP 服務。
7.2、配 置 文 件
配置網路時的幾個重要引數:IP、Netmask、Gateway、DNS IP。
網絡卡配置檔案
名稱 | 配置檔案 | 重要引數 |
---|---|---|
網絡卡配置 | /etc/sysconfig/network-scripts/ifcfg-ens33 | DEVICE=物理裝置名 IPADDR=IP地址 NETMASK=掩碼值 NETWORK=網路地址 BROADCAST=廣播地址 GATEWAY=閘道器地址 ONBOOT=[yes|no](引導時是否啟用裝置) USERCTL=[yes|no](非root使用者是否可以控制該裝置) BOOTPROTO=[none|static|bootp|dhcp](引導時不使用協議|靜態分配|BOOTP協議|DHCP協議) HWADDR = 你的MAC地址NM_CONTROLLED=額外網管軟體,建設設定為no |
私有DNS | /etc/hosts | IP 主機名 別名 |
DNS伺服器 | /etc/resolv.conf | NAMESERVER ip地址 |
主機名 | /etc/hostname /etc/hosts | 修改主機名需要重新啟動電腦:reboot |
7.3、網 絡 管 理 指 令
重啟網路服務
Service network restart
7.4、常 用 指 令
7.4.1、ip指令(掌握)
ip是一個功能強大的綜合性網路指令,可以檢視網絡卡介面、路由、IP等功能。
檢視網絡卡IP資訊 ------------------- centos6.x ifconfig
ip addr
檢視網絡卡資料資料統計資訊
ip -s link
7.4.2、ping指令
ping,可以用來檢測兩臺連線的連線情況。
語法:
ping -c 數字 IP/主機名
-c:連線的次數。
-W:最長等待的秒數。
7.4.3、ss(掌握)
ss,指令,可以用來檢視網路介面。在centos7之前的版本中常用的是netstat這個指令。
ss -引數列表
常用引數:
a:瀏覽所有介面。
n:解析服務名為埠號數字
t:tcp
l:監聽的
p:顯示使用socket的程序資訊
u:udp
例1:檢視當前執行的所有tcp伺服器,顯示服務名。
例2:檢視當前執行的所有tcp伺服器,顯示埠號。
8、軟 件 的 安 裝
Linux上的軟體安裝只有root賬號才可以完成。
8.1、三 種 安 裝 方 法
Linux系統下的軟體安裝有三種方法。
8.1.1、tarball:原始碼安裝。
優點:軟體根據實際的機器硬體進行配置和編譯,效能最好、最穩定。
缺點:需要使用原始碼編譯、安裝,比較麻煩。
tarball就相當於我們自己做饅頭一樣,自己買面,合面,自己蒸,雖然比較麻煩,但是自己做的很香,還可以根據自己的口味調整。
大部分的tarball安裝的命令執行方式如下:
l ./configure 這個步驟是建立makefile這個檔案
l makeclean 消除下上次編譯過的目標檔案之類的,不是必須要有,但保險起見還是做一下
l make 會依據makefile當中預設工作(也就是第一個)進行編譯行為,主要是進行gcc將原始碼編譯成為可執行的目標檔案,而這個可執行檔案放置在目前所在的目錄之下
l make install 一般是最後的安裝步驟,make會依據makefile關於install的選項,將上個步驟所編譯完成的資料安裝到預設的目錄中
參考學習:https://blog.csdn.net/wangzengdi/article/details/32988275
8.1.2、rpm:二進位制安裝包安裝。
優點:安裝包直接執行安裝,相對tarball簡單些。
缺點:存在包依賴的問題,安裝時需要手動下載很多安裝包。
包依賴:安裝A包時,報錯提示需要B包,下載安裝B包時,報錯提示需要C包。。。。一直要把所有用的包都下載安裝才可以。rpm解決了這個問題。
rpm相當於成品饅頭,買回來直接吃。
1、找到相應的軟體包,比如soft.version.rpm,下載到本機某個目錄;
2、開啟一個終端,su -成root使用者;
3、cd soft.version.rpm所在的目錄;
4、輸入rpm -ivh soft.version.rpm
8.1.3、yum:自動下載二進位制包安裝。
rpm方式在安裝軟體時需要自己下載軟體,還要解決包依賴,而yum解決了這個問題,yum只需要執行幾個命令就可以自動下載並安裝軟體。
優點:最簡單方便的安裝方式,只要一條指令,系統就可以自動下載並安裝所有的包。
缺點:1. 必須要有軟體源(連網或者搭建軟體源) 2. 有些軟體沒有yum包,不能使用yum安裝,比如nginx等。
yum,就像外賣一樣,一個電話,香噴噴的餅頭和菜就送到家了,非常方便。
總結:如果能夠連網使用yum安裝軟體是最方便的,如果yum安裝不了,可以考慮rpm和tarball。
8.2、rpm安 裝 ( 掌 握 )
使用rpm非常的簡單隻需要幾個指令。
8.2.1、查詢軟體
指令1、列出所有已安裝的軟體
rpm -qa
指令2、檢視是否安裝了某個軟體
rpm -q 軟體名
例、檢視是否安裝了vim。
指令3、檢視某個已安裝的軟體的資訊
rpm -q[licdR] 已安裝的軟體名
-l:列出該軟體所有的檔案和目錄
-i:列出該軟體的詳細資訊,如開發商、版本、說明等
-c:列出該軟體所有的配置檔案(一般在/etc目錄下)
-d:列出該軟體所有的幫助檔案
R:列出該軟體依賴軟體所包含的檔案
例、檢視python軟體安裝之後所有檔案的路徑。
指令3、查詢某個檔案屬於哪個軟體
rpm -qf 檔名
8.2.2、安裝rpm軟體包
指令
rpm -ivh 軟體包
-i:安裝
-v:檢視更詳細的安裝資訊介面
-h:以安裝資訊欄顯示安裝進度
–prefix=安裝路徑:安裝的目錄,如果不設定會安裝到預設目錄中
–test:測試一下是否可以安裝
注意:在一其它的Linux版本中,比如ubuntu。用的是dpkg機制。
安裝目錄:使用–prefix可以指定安裝的目錄,如果沒有指定,預設會安裝到以下幾個目錄中:
安裝的軟體主要包含以下幾部分:可執行的程式、配置檔案、手冊、說明文件。
目錄 | 說明 |
---|---|
/usr/bin | 可執行的程式 |
/etc | 配置檔案 |
/usr/share/doc | 說明文件 |
/usr/man/man1 | 手冊 |
8.2.3、更新軟體
指令
rpm -Uvh 軟體包
8.2.4、解除安裝軟體
指令
rpm -e 已安裝的軟體名
8.2.5、重建rpm資料庫
由RPM檔案會經常 安裝/刪除/升級 等,某些操作或許會導致RPM資料庫/var/lib/rpm/內的檔案損壞。這時我們就需要重建一下RPM的資料庫:
rpm --rebuilddb
8.2.6、RPM的包依賴問題
RPM可以很方便實現軟體包的管理,但是卻有一個最最麻煩的問題:“包依賴”。
包依賴,當我們安裝A軟體時,會報錯提示需要先安裝B,這時我們安裝了B軟體之後,又報錯會提示我們需要先安裝C。。。。。最終我們為了安裝好一個軟體,需要把所有相關的依賴包都下載來先安裝,這就會花費我們大量的時間。
同時在解除安裝軟體時也要非常的小心,因為如果解除安裝的軟體包被其它軟體所依賴,那麼這個軟體解除安裝之後還會導致其它依賴它的軟體也無法使用。
如何解決呢?
使用YUM。
8.3、yum安裝
yum安裝的好處是無須手動下載軟體,只能簡單幾個指令,yum就會自動幫我們下載並完成安裝。
8.3.1、yum指令:
指令 | 描述 |
---|---|
yum search 軟體名 | 查詢軟體 |
yum info 軟體名 | 檢視軟體資訊 |
yum list | 列出yum伺服器上所有的軟體包 |
yum list updates | 列出可供升級的軟體有哪些 |
yum install 軟體名 | 安裝軟體 |
yum update 軟體名 | 更新軟體 |
yum remove 軟體名 | 刪除軟體 |
yum repolist all | 列出所有軟體源 |
注意:在一其它的Linux版本中,比如ubuntu。不叫yum,叫做apt-get,雖然軟體不同,但原理相同。
例、安裝vim軟體。(前提:需要聯網。)
先查詢有沒有這個軟體
搜尋到了幾個vim,選擇一個合適的安裝:
安裝時會詢問你是否下載安裝相關的依賴包,按y同意即可:
可以看到需要30多個依賴包,這些包yum會自動幫我們下載安裝,非常的方便,如果我們自己使用rpm來安裝,那簡直是惡夢!
8.3.2、yum的配置檔案
yum下載軟體時,必須要先有一個軟體源,否則yum不知道從哪裡才可以下載,軟體源是通過yum的配置檔案來配置的:/etc/yum.repos.d/CentOS-Base.repo。
這個檔案中有多個軟體源,以上圖中有三個(每個[xx]開始的就代表一個軟體源)
[xxx]:軟體源名字,xxx就是名字。
name:顯示軟體源時的名字,不太重要。
mirrorlist=:列出可以使用的站點。
baseurl=:這個最重要,資源實際的地址
enable=1:是否啟動,0代表不使用
因為yum有快取的功能,如果我們修改了軟體源需要清除一個現有資料
yum clean all
8.4、安 裝 gcc-c++的 編 譯 環 境
很多程式是C語言開發,安裝這些程式前需要安裝編譯環境,gcc-c++。兩種方式安裝gcc-c++
方式一:rpm方式安裝
方式二:yum安裝
8.4.1、rpm 和yum的區別
rpm是由紅帽公司開發的軟體包管理方式,使用rpm可以方便的進行軟體的安裝、解除安裝、升級、查詢等工作。但是rpm軟體包之間可能有依賴關係,處理這些依賴性問題往往會很繁瑣。例如使用rpm安裝gcc環境時,首先要有gcc的rpm包,如果沒則需要下載gcc的軟體包並上傳到Linux伺服器,但是在安裝gcc-c++時,會出現如下錯誤提示
8.4.2、rpm安裝gcc-c++
安裝步驟:1 提供gcc-c++需要的軟體包
2 rpm安裝
意思是gcc-c++環境需要依賴gcc、libmpfr、libstdc這3個包,費了九牛二虎之力從網上找到這3個包並上傳到服務進行安裝,但是!在安裝這3個包時,又會出現新的類似的錯誤提示,然後接下來:下載、安裝、看到錯誤提示、下載、安裝、看到錯誤提示、下載、安裝……最後終於搞定了!
整個過程安裝了N個軟體包,而且需要按照一定的順序安裝,顯然你的內心是崩潰的!
最終完成的安裝方式:
1、上傳gcc-c++環境所需的所有軟體包
2、執行安裝,直接使用如下命令32****位:
rpm -ivh --nodeps cloog-ppl-0.15.7-1.2.el6.i686.rpm
rpm -ivh --nodeps cpp-4.4.7-18.el6.i686.rpm
rpm -ivh --nodeps gcc-4.4.7-18.el6.i686.rpm
rpm -ivh --nodeps gcc-c+±4.4.7-18.el6.i686.rpm
rpm -ivh --nodeps libstdc+±devel-4.4.7-18.el6.i686.rpm
rpm -ivh --nodeps mpfr-2.4.1-6.el6.i686.rpm
rpm -ivh --nodeps ppl-0.10.2-11.el6.i686.rpm
64****位:
rpm -ivh --nodeps cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh --nodeps cpp-4.4.7-18.el6.x86_64.rpm
rpm -ivh --nodeps gcc-4.4.7-18.el6.x86_64.rpm
rpm -ivh --nodeps gcc-c+±4.4.7-18.el6.x86_64.rpm
rpm -ivh --nodeps libstdc+±devel-4.4.7-18.el6.x86_64.rpm
rpm -ivh --nodeps mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh --nodeps ppl-0.10.2-11.el6.x86_64.rpm
8.4.3、yum安裝gcc-c++
安裝命令:yum install gcc-c++
OK
9、系 統 服 務
服務,是指常期執行,常駐記憶體中的程序,比如,apache、mysql、ssh等。
9.1、服務與埠
每個服務軟體一般在執行時都會對應一個埠。
檢視監聽的埠
ss –lntp
9.2、防 火 牆 及 防 火 牆 設 置
CentOS 7.0預設使用的是firewall作為防火牆
檢視防火牆狀態
firewall-cmd --state
9.2.1、直接關閉firewalld防火牆
關閉防火牆:systemctl stop firewalld
防火牆狀態:systemctl status firewalld
9.2.2、iptables 防火牆失效的問題
解除安裝Firewall並安裝iptables後重新安裝回Firewall。安裝Firewall啟動時,提示
Failed to start firewalld.service: Unit firewalld.service is masked.
systemctl unmask firewalld.service
此時可以正常啟動Firewall了。
接下來順便講述一下Firewall的安裝,及一些簡單配置。
檢視狀態,看電腦上是否已經安裝 firewalld
#systemctl status firewalld
#yum install firewalld //安裝firewalld 防火牆
#systemctl start firewalld.service //開啟防火牆
# systemctl stop firewalld.service //關閉防火牆
# systemctl enable firewalld.service //設定開機自動啟動
# systemctl disable firewalld.service //設定關閉開機制動啟動
#firewall-cmd --reload //在不改變狀態的條件下重新載入防火牆
啟用某個服務
# firewall-cmd --zone=public --add-service=https //臨時
# firewall-cmd --permanent --zone=public --add-service=https //永久
開啟某個埠
#firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp //永久
#firewall-cmd --zone=public --add-port=8080-8081/tcp //臨時
檢視開啟的埠和服務
#firewall-cmd --permanent --zone=public --list-services //服務空格隔開 例如 dhcpv6-client https ss
#firewall-cmd --permanent --zone=public --list-ports //埠空格隔開 例如 8080-8081/tcp 8388/tcp 80/tcp
#systemctl restart firewalld.service //修改配置後需要重啟服務使其生效
#firewall-cmd --zone=public --query-port=8080/tcp //檢視服務是否生效(例:新增的埠為8080
10、進 程 管 理
如何檢視當前正在執行的程式呢?
10.1、ps 指 令(掌 握)
檢視當前系統中正在執行的所有的程式
ps 正在執行的某個程序的狀態
ps –ef 檢視所有程序
ps –ef | grep ssh 查詢某一程序
ps -aux命令可以檢視更詳細的程序資訊!
kill 殺掉某一程序
kill 2868 殺掉2868編號的程序
kill -9 2868 強制殺死程序