
2.4 命令行下“存活”下來(lái)的基本技能
- 通過(guò)前面的操作我們已經(jīng)有了自己的云服務(wù)器,并能上下傳文件,那么接下來(lái)我們需要通過(guò)各種命令來(lái)操作和管理這個(gè)云服務(wù)器。
- 下面會(huì)對(duì)命令行有一個(gè)初步介紹,并提供最實(shí)用的操作和管理命令,讓你從枯燥的命令行交互中找到成就感并堅(jiān)持下來(lái)。
- 不得不承認(rèn)學(xué)習(xí)后端開(kāi)發(fā)不像B端或者C端口的開(kāi)發(fā)那樣很快有反饋并有成就感,希望大家能堅(jiān)持下來(lái)。
2.4.1 初識(shí)命令行
- Linux下最方便的操作就是命令行而且功能強(qiáng)大,剛開(kāi)始接觸可能會(huì)不習(xí)慣,但是只要堅(jiān)持下來(lái)多操作幾天也就習(xí)慣了
- Linux下的很多命令都有help選項(xiàng)用于輸出命令使用方法,假設(shè)有一個(gè)命令是“cmdtest”,但你不知道這個(gè)命令有那些功能的時(shí)候可以試著執(zhí)行"cmdtest -h"或者"cmdtest --help",其中"-h"是短選項(xiàng),"--help"是對(duì)應(yīng)的長(zhǎng)選項(xiàng),如果這里不是很理解不用著急,后續(xù)的文章會(huì)有代碼實(shí)例教大家如何編碼實(shí)現(xiàn)支持命令選項(xiàng)的程序
- 正常一個(gè)命令是由三個(gè)部分組成
command [-options] param1 param2 ...
|部分 |必選 |含義 |
|--------------------|--------------------|
|命令|是|你要執(zhí)行的命令名或者可執(zhí)行程序的名稱|
|選項(xiàng)|否|設(shè)置命令執(zhí)行指定功能,視不同的命令而不同|
|參數(shù)|否|執(zhí)行命令需要的輸入?yún)?shù)|
2.4.2 基本的命令操作
- 手冊(cè)命令
當(dāng)遇到不熟悉的命令時(shí)可以使用man命令來(lái)查看對(duì)應(yīng)命令的使用手冊(cè)man即“Manual”的縮寫(xiě),如執(zhí)行
man clear
注意執(zhí)行man命令后會(huì)進(jìn)入man命令的命令行模式,這個(gè)時(shí)候只有按q就可以退出man命令
- 清屏操作
當(dāng)當(dāng)前的命令終端輸出已經(jīng)快滿一屏?xí)r可以使用clear命令還清空當(dāng)前命令終端的輸出,如執(zhí)行
clear
- 回顯操作
echo "acb0y"
- 目錄文件操作
- 查看當(dāng)前當(dāng)前工作目錄,pwd命令即“print work directory”,如執(zhí)行
pwd
- 查看當(dāng)前目錄下的內(nèi)容,ls命令即“l(fā)ist directory contents”,如執(zhí)行
ls -lrt
- 切換目錄,cd命令即“change directory”,如執(zhí)行
cd dst
- 拷貝文件或者目錄,cp命令即“copy”,如執(zhí)行
cp -f src det
- 刪除文件或者目錄,rm命令即“remove”,如執(zhí)行
rm filename
- 創(chuàng)建一個(gè)空文件,touch命令,如執(zhí)行
touch file
- 創(chuàng)建目錄,mkdir命令即“make directories”,如執(zhí)行
mkdir test test1 test2
- 查看文件內(nèi)容,cat命令即“concatenate files and print on the standard output”,如執(zhí)行
cat file1
- 輸出文件的頭行,head命令即“output the first part of files”,如輸出文件filename的頭10行執(zhí)行
head -10 filename
- 輸出文件的尾行,tail命令即“output the last part of files”,如輸出文件filename的尾10行執(zhí)行
tail -10 flename
- 進(jìn)程操作
- 查看當(dāng)前所有運(yùn)行的進(jìn)程
ps -ef
- 查看某個(gè)運(yùn)行進(jìn)程的pid
pidof program
- 殺某個(gè)程序的所有進(jìn)程
killall program
- 網(wǎng)絡(luò)操作
- 查看網(wǎng)絡(luò)配置
ifconfig
- 查看當(dāng)前服務(wù)器開(kāi)啟了那些網(wǎng)絡(luò)監(jiān)聽(tīng)
netstat -anpt | grep LISTEN
- 查看內(nèi)存概括
free -h
- 查看磁盤(pán)使用情況
df -h
- 查看系統(tǒng)運(yùn)行進(jìn)程的動(dòng)態(tài)列表,進(jìn)入之后按q退出
top
2.4.3 組合命令操作
命令行的強(qiáng)大在于它提供了管道功能把多個(gè)命令組合起來(lái),把前面一個(gè)命令的輸出作為后一個(gè)命令的輸入,從而實(shí)現(xiàn)強(qiáng)大的功能,管道命令通過(guò)"|"來(lái)實(shí)現(xiàn),下面舉幾個(gè)栗子
- 統(tǒng)計(jì)指定文件的行數(shù)
cat install.log | wc -l
- 在當(dāng)前運(yùn)行的進(jìn)程名中過(guò)濾包含指定字符的進(jìn)程
ps -ef | grep keyword | grep -v grep
- 查看當(dāng)前服務(wù)器上建立好的TCP連接
netstat -anpt | grep ESTABLISHED
2.4.4 輸入輸出重定向
我們可以把命令的輸出進(jìn)行重定向,而不只是輸出到命令行終端
- 覆蓋寫(xiě)重定向到文件
echo "test" > test.txt
- 追加寫(xiě)重定向到文件
echo "test" >> test.txt
- 忽略輸出,即重定向到/dev/null,這里的/dev/null相當(dāng)于window的垃圾站
ls > /dev/null
- 即輸出到終端又輸出到文件
cat 1.txt | tee 3.txt
2.4.5 vi編輯器
這里不介紹vim,因?yàn)閷W(xué)習(xí)曲線太過(guò)陡了,不準(zhǔn)備把vim當(dāng)作IDE來(lái)使用的沒(méi)必要花精力去學(xué)習(xí),如果大家有精力或者有極客追求的可以去網(wǎng)絡(luò)上搜索相關(guān)教程,coolshell上的教程就有很好,大家可以去看看。這里只會(huì)介紹vi編輯器最實(shí)用的功能,vi是Linux下最常見(jiàn)使用廣泛的命令行編輯器,剛開(kāi)始使用vi可能會(huì)不習(xí)慣,需要堅(jiān)持多操作幾次。
- vi的兩種模式
vi編輯器在命令行下有兩種模式:命令模式和編輯模式,默認(rèn)情況下執(zhí)行vi命令后進(jìn)入的是命令模式。 - 最實(shí)用操作
- vi后面帶一個(gè)文件名,這個(gè)文件名可以是存在的文件這時(shí)是修改文件,如果不存在則是創(chuàng)建新的文件
- 按"esc"強(qiáng)制進(jìn)入命令模式,可以按多次效果一樣
- 在命令模式下按"i"進(jìn)入插入模式,這時(shí)候可以輸入你要寫(xiě)入的內(nèi)容
- 在命令模式下按"shift + a"進(jìn)入插入模式,這時(shí)候在當(dāng)前行尾輸入內(nèi)容
- 在命令模式下按"x",刪當(dāng)前光標(biāo)所在的一個(gè)字符
- 在命令模式下按"0",當(dāng)前輸入光標(biāo)跳到行首
- 在命令模式下按"$",當(dāng)前輸入光標(biāo)跳到行尾
- 在命令模式下使用h(up),l(down),k(left),j(right)來(lái)移動(dòng)輸入點(diǎn)光標(biāo)
- 在命令模式下輸入":"和一個(gè)數(shù)字,輸入光標(biāo)會(huì)快速定位到指定數(shù)字所在的行數(shù)
- 在命令模式下輸入"gg",輸入光標(biāo)會(huì)快速定位到第一行
- 在命令模式下輸入"G",輸入光標(biāo)會(huì)快速定位到第最后一行
- 在命令模式下輸入"uu",則撤銷(xiāo)上一次在插入模式的做的所有修改
- 在命令模式下輸入"dd",則刪除當(dāng)前光標(biāo)所在的行
- 在命令模式下輸入":w",則保存當(dāng)前的修改寫(xiě)入文件中
- 在命令模式下輸入":q!",則退出vi并撤銷(xiāo)所有的修改
- 在命令模式下輸入":wq",則保存你的修改并退出vi
- 在命令模式下輸入":help <command>",顯示相關(guān)命令的幫助
上一節(jié) : 后端研發(fā)菜鳥(niǎo)成長(zhǎng)記 第一章 入門(mén) 之 云服務(wù)器
未完待續(xù)...
后續(xù)內(nèi)容預(yù)告: 小試牛刀,編寫(xiě)性能測(cè)試工具