一、Linux的簡(jiǎn)介
1.Linux的概述
Linux是基于Unix的開(kāi)源免費(fèi)的操作系統(tǒng),由于系統(tǒng)的穩(wěn)定性和安全性幾乎成為程序代碼運(yùn)行的最佳系
統(tǒng)環(huán)境。Linux是由Linus (林納斯·托瓦茲)起初開(kāi)發(fā)的,由于源代碼的開(kāi)放性,現(xiàn)在已經(jīng)衍
生出了千上百種不同的Linux系統(tǒng)。
Linux系統(tǒng)的應(yīng)用非常廣泛,不僅可以長(zhǎng)時(shí)間的運(yùn)行我們編寫(xiě)的程序代碼,還可以安裝在各種計(jì)算機(jī)硬
件設(shè)備中,比如手機(jī)、平板電腦、路由器等。尤其在這里提及一下,我們熟知是程序最底層就
是運(yùn)行在linux系統(tǒng)上的。
2.Linux的分類
(1)Linux根據(jù)市場(chǎng)需求不同,基本分為兩個(gè)方向:
1)圖形化界面版:注重用戶體驗(yàn),類似操作系統(tǒng),但目前成熟度不夠
2)服務(wù)器版:沒(méi)有好看的界面,是以在控制臺(tái)窗口中輸入命令操作系統(tǒng)的,類似于DOS,是我們假設(shè)
服務(wù)器的最佳選擇
(2)Linux根據(jù)原生程度,又分為兩種:
1)內(nèi)核版本:在Linus領(lǐng)導(dǎo)下的內(nèi)核小組開(kāi)發(fā)維護(hù)的系統(tǒng)內(nèi)核的版本號(hào)
2)發(fā)行版本:一些組織或公司在內(nèi)核版基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)而重新發(fā)行的版本
(3)Linux發(fā)行版本不同,又可以分為n多種:
二、Linux的安裝
1.虛擬機(jī)的安裝
因?yàn)長(zhǎng)inux也是一個(gè)系統(tǒng),本質(zhì)上跟我們電腦的沒(méi)有區(qū)別,所以我們要學(xué)習(xí)Linux就首先將我們
電腦的系統(tǒng)換成Linux系統(tǒng),或者在我們電腦上安裝雙系統(tǒng),聽(tīng)上去是不是很可怕。其實(shí)我們
可以在我們電腦上安裝一個(gè)軟件,這個(gè)軟甲可以模擬一臺(tái)或多臺(tái)虛擬的電腦機(jī)器,這就是虛擬機(jī)
虛擬器常用的有兩種:
(威睿)公司的虛擬機(jī)軟件,功能強(qiáng)大
虛擬機(jī)軟件 公司的虛擬機(jī)軟件,免費(fèi)商品
由于市場(chǎng)上使用率很高,所以我們安裝
2.的安裝
是一個(gè)Linux的發(fā)行版本手機(jī)文件里的壓縮包可以刪除嗎,是目前企業(yè)中用來(lái)做應(yīng)用服務(wù)器系統(tǒng)的主要版本,的安裝,
其實(shí)是將該系統(tǒng)安裝到虛擬機(jī)軟件中,讓虛擬機(jī)軟件模擬出一臺(tái)Linux系統(tǒng)的電腦。
三、Linux的基本命令
服務(wù)器版的Linux安裝完畢了,但沒(méi)有圖形化界面,我們只能通過(guò)控制臺(tái)去操作系統(tǒng),我們就要使用類
似DOS命令的Linux命令去操作系統(tǒng),那么下面我們就進(jìn)行Linux的命令的學(xué)習(xí)。Linux命令成百上千,
課程不能一一涉及,也沒(méi)有必要一一涉及,根據(jù)我們程序員在日常工作中的需求,總結(jié)出如下幾種供學(xué)
習(xí)。
1.目錄切換命令
中通過(guò)圖形化界面和鼠標(biāo)可以任意切換需要進(jìn)入的目錄,但Linux必須通過(guò)cd命令切換目錄。但
在學(xué)習(xí)cd命令之前,我們有必要分清Linux的目錄結(jié)構(gòu)
cd usr/ 切換到該目錄下usr目錄
cd ../ 切換到上一層目錄
cd / 切換到系統(tǒng)根目錄
cd ~ 切換到用戶主目錄
2.目錄的操作命令(增刪改查)
(1)增加目錄操作(增)
示例:在根目錄 / 下 mkdir bbb手機(jī)文件里的壓縮包可以刪除嗎,就會(huì)在根目錄 / 下產(chǎn)生一個(gè)bbb目錄
(2)查看目錄(查)
命令:ls [-al] 父目錄
示例:在根目錄 / 下使用ls,可以看到該目錄下的所有的目錄和文件
示例:在根目錄 / 下使用ls -a,可以看到該目錄下的所有文件和目錄,包括隱藏的
示例:在根目錄 / 下使用ls -l,可以看到該目錄下的所有目錄和文件的詳細(xì)信息,注意:ls -l 可以縮寫(xiě)成ll
(3)尋找目錄(查)
命令:find 目錄 參數(shù)(重點(diǎn))
示例:查找/下的與bbb相關(guān)的目錄(文件) find / -name ‘bbb*
(4)修改目錄的名稱(改)
命令:mv 目錄名稱 新目錄名稱
注意:mv的語(yǔ)法不僅可以對(duì)目錄進(jìn)行重命名而且也可以對(duì)各種文件,壓縮包等進(jìn)行 重命名的操作
(5)移動(dòng)目錄的位置---剪切(改)
命令:mv 目錄名稱 目錄的新位置
示例:在下將bbc目錄剪切到 /aaa下面,使用mv bbc/aaa
注意:mv語(yǔ)法不僅可以對(duì)目錄進(jìn)行剪切操作,對(duì)文件和壓縮包等都可執(zhí)行剪切操作
(6)拷貝目錄(改)
命令:cp -r 目錄名稱 目錄拷貝的目標(biāo)位置 -----r代表遞歸拷貝
示例:將/下的aaa拷貝到根目錄下的home中,使用cp -r //aaa /home
注意:cp命令不僅可以拷貝目錄還可以拷貝文件,壓縮包等,拷貝文件和壓縮包時(shí)不 用寫(xiě)-r遞歸
(7)刪除目錄(刪)
命令:rm [-rf] 目錄
示例:刪除/下的aaa,進(jìn)入/下使用rm -r aaa
示例:刪除/ccc下的aaa而不需要詢問(wèn)強(qiáng)制刪除,在/ccc下使用rm -rf aaa
3.文件的操作命令(增刪改查)
(1)文件的創(chuàng)建(增)
命令:touch 文件名稱 ----- 空文件
示例:在test目錄下創(chuàng)建一個(gè)空文件 touch aaa.txt
(2)文件的查看(查)
命令:cat/more/less/tail 文件
示例:使用cat查看/etc/文件,只能顯示最后一屏內(nèi)容
示例:使用more查看/etc/文件,可以顯示百分比,回車(chē)可以向下一行, 空格可以向下一頁(yè),q
可以退出查看
示例:使用less查看/etc/文件,可以使用鍵盤(pán)上的PgUp和PgDn向上 和向下翻頁(yè),q結(jié)束查看
示例:使用tail -10 查看/etc/文件的后10行,Ctrl+C結(jié)束
注意:命令 tail -f 文件 可以對(duì)某個(gè)文件進(jìn)行動(dòng)態(tài)監(jiān)控,例如的日志文件, 會(huì)隨著程序的運(yùn)
行,日志會(huì)變化,可以使用tail -f -2016-11-11.log 監(jiān)控 文 件的變化
補(bǔ)充:公司的日志的格式
(3)修改文件的內(nèi)容(改)
三種模式:命令模式,編輯模式,底行模式
命令:vim 文件
示例:編輯/test下的aaa.txt文件,使用vim aaa.txt
但此時(shí)并不能編輯,因?yàn)榇藭r(shí)處于命令模式,點(diǎn)擊鍵盤(pán)i/a/o進(jìn)入編輯模式,可以 編輯文件
編輯完成后,按下Esc,退回命令模式
此時(shí)文件雖然已經(jīng)編輯完成,但是沒(méi)有保存,需輸入冒號(hào):進(jìn)入底行模式,在底行模 式下輸入wq代表
寫(xiě)入內(nèi)容并退出,即保存;輸入q!代表強(qiáng)制退出不保存
總結(jié):
vim編輯器是Linux中的強(qiáng)大組件,是vi編輯器的加強(qiáng)版,vim編輯器的命令和快捷方式有很多,但此處
不一一闡述,大家也無(wú)需研究的很透徹,使用vim編輯修改文件的方式基本會(huì)使用就可以了
關(guān)于vim使用過(guò)程:
在實(shí)際開(kāi)發(fā)中,使用vim編輯器主要作用就是修改配置文件
vim 文件------>進(jìn)入文件----->命令模式------>按i進(jìn)入編輯模式----->編輯文件 ------->按Esc進(jìn)入底行模式-
---->輸入:wq/q!
(4)刪除文件(刪)
同目錄刪除:熟記 rm -rf 文件 即可
4.壓縮文件的操作命令(1)打包并壓縮文件
Linux中的打包文件一般是以.tar結(jié)尾的,壓縮的命令一般是以.gz結(jié)尾的。
而一般情況下打包和壓縮是一起進(jìn)行的,打包并壓縮后的文件的后綴名一般.tar.gz。
命令:tar -zcvf 打包壓縮后的文件名 要打包壓縮的文件
其中:z:調(diào)用gzip壓縮命令進(jìn)行壓縮
c:打包文件
v:顯示運(yùn)行過(guò)程
f:指定文件名
示例:打包并壓縮/test下的所有文件 壓縮后的壓縮包指定名稱為xxx.tar.gz
tar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt
或:tar -zcvf xxx.tar.gz /test/*
(2)解壓壓縮包(重點(diǎn))
命令:tar [-xvf] 壓縮文件
其中:x:代表解壓
示例:將/test下的xxx.tar.gz解壓到當(dāng)前目錄下
tar -xvf xxx.tar.gz
示例:將/test下的xxx.tar.gz解壓到根目錄/usr下
tar -xvf xxx.tar.gz -C /usr------C代表指定解壓的位置
5.其他命令
(1)顯示當(dāng)前所在位置
pwd
(2)搜索命令
命令:grep 要搜索的字符串 要搜索的文件
示例:搜索/usr/sudu.conf文件中包含字符串to的行
示例:搜索/usr/sudu.conf文件中包含字符串to的行 to要高亮顯示
(3)管道命令
命令:| 將前一個(gè)命令的輸出作為本次目錄的輸入
示例:查看當(dāng)前系統(tǒng)中所有的進(jìn)程中包括字符串的進(jìn)程
(4)查看進(jìn)程
命令:ps -ef
示例:查看當(dāng)前系統(tǒng)中運(yùn)行的進(jìn)程
(5)殺死進(jìn)程
命令:kill -9 進(jìn)程的pid
(6)網(wǎng)絡(luò)通信命令
查看當(dāng)前系統(tǒng)的網(wǎng)卡信息:
查看與某臺(tái)機(jī)器的連接情況:ping
7)查看當(dāng)前系統(tǒng)的端口使用
–an,通常和 | grep一起使用
6.Linux的權(quán)限命令
權(quán)限是Linux中的重要概念,每個(gè)文件/目錄等都具有權(quán)限,通過(guò)ls -l命令我們可以 查看某個(gè)目錄下的文
件或目錄的權(quán)限
示例:在隨意某個(gè)目錄下ls -l
第一列的內(nèi)容的信息解釋如下:
文件的類型:
d:代表目錄
-:代表文件
l:代表鏈接(可以認(rèn)為是中的快捷方式)
后面的9位分為3組,每3位置一組,分別代表屬主的權(quán)限,與當(dāng)前用戶同組的 用戶的權(quán)限,其他用戶
的權(quán)限
r:代表權(quán)限是可讀,r也可以用數(shù)字4表示
w:代表權(quán)限是可寫(xiě),w也可以用數(shù)字2表示
x:代表權(quán)限是可執(zhí)行,x也可以用數(shù)字1表示
修改文件/目錄的權(quán)限的命令:chmod
示例:修改/test下的aaa.txt的權(quán)限為屬主有全部權(quán)限,屬主所在的組有讀寫(xiě)權(quán)限,
其他用戶只有讀的權(quán)限
chmod u=rwx,g=rw,o=r aaa.txt
上述示例還可以使用數(shù)字表示:
chmod 764 aaa.txt
7.free 查看內(nèi)存信息
free指令會(huì)顯示內(nèi)存的使用情況,包括實(shí)體內(nèi)存,虛擬的交換文件內(nèi)存,共享內(nèi)存區(qū)段,以及系統(tǒng)核
心使用的緩沖區(qū)等
df df -h 命令用于顯示目前在 Linux 系統(tǒng)上的文件系統(tǒng)磁盤(pán)使用情況統(tǒng)計(jì)
查看資源信息(cpu)
補(bǔ)充:
關(guān)機(jī)命令
重新啟動(dòng)操作系統(tǒng)
-h now 立刻關(guān)機(jī),其中now相當(dāng)于時(shí)間為0的狀態(tài)
-h 10:23
-h +10 系統(tǒng)再過(guò)十分鐘后自動(dòng)關(guān)機(jī)
總結(jié)
Linux命令
? 目錄操作
? cd usr/ 切換到該目錄下usr目錄
? cd .. 切換到上一層目錄? cd / 切換到系統(tǒng)根目錄
? mkdir 目錄名稱 創(chuàng)建目錄
? ls 目錄名稱 查詢?cè)撃夸浵滤械哪夸浐臀募?/p>
? ls [-a] 目錄名稱 查詢?cè)撃夸浵滤械哪夸浐臀募?包含隱藏文件
? ls [-l] 目錄名稱 查詢?cè)撃夸浵滤械哪夸浐臀募脑敿?xì)信息
? find / -name 目錄名稱 查找/root下的目錄(文件)
? mv 目錄名稱 新目錄名稱 修改目錄名稱
? mv 目錄名稱 目錄的新位置 剪切
? cp -r 目錄名稱 目錄的目標(biāo)位置 拷貝
? rm -rf 目錄 強(qiáng)制刪除目錄
? 文件操作
? touch 文件名稱 創(chuàng)建空文件
? cat/more/less/tail 文件 查看文件內(nèi)容
? tail -f 文件 動(dòng)態(tài)查看/實(shí)時(shí)查看文件(日志)
? grep 要搜索的字符串 要搜索的文件 關(guān)鍵字搜索
? vi/vim 文件 修改文件內(nèi)容
? rm -rf 文件 強(qiáng)制刪除文件
? 文件的打包
? tar -zcvf 文件名.tar 要打包的文件
? 文件的解壓
? tar -xvf 文件名.tar
? 擴(kuò)充:將文件解壓到固定位置
? tar -xvf 文件名.tar -C 指定解壓的位置
? 查詢當(dāng)前所在位置
? pwd
? 查看進(jìn)程
? ps -ef | grep 進(jìn)程名稱(/mysql)
? 殺死進(jìn)程
? kill -9 進(jìn)程pid? 查看端口號(hào)
? -an | grep 端口號(hào)(3306)
? 查看服務(wù)器ip
?
? 查看網(wǎng)絡(luò)是否能正常使用
? ping 外網(wǎng)地址 查看是否能訪問(wèn)外網(wǎng)
? ping 內(nèi)網(wǎng)ip 查看是否能訪問(wèn)內(nèi)網(wǎng)
? 權(quán)限命令
? chmod 777 文件 賦權(quán)
? 查看cpu
? top
? 查看磁盤(pán)信息
? df -h
? 查看內(nèi)存信息
? free
? 關(guān)機(jī)命令
? -h now 立刻關(guān)機(jī),其中now相當(dāng)于時(shí)間為0的狀態(tài)
? -h 10:23
? -h +10 系統(tǒng)再過(guò)十分鐘后自動(dòng)關(guān)機(jī)
? 重新啟動(dòng)
? 重新啟動(dòng)操作系統(tǒng)