溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

蘑菇街工程師常用的Linux命令有哪些

發(fā)布時(shí)間:2021-10-21 09:18:26 來(lái)源:億速云 閱讀:118 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)蘑菇街工程師常用的Linux命令有哪些,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、查看日志 線上出現(xiàn)了問(wèn)題,登上線上的機(jī)器查日志是非常常見(jiàn)的操作了。我第一次登上線上機(jī)器查日志的時(shí)候,我還只記得以下的幾個(gè)命令(假設(shè)現(xiàn)在我們的日志文件叫做service.log):

cat service.log

tail -f service.log

vim serivice.log

(明顯是不夠用的)

現(xiàn)在日志每天產(chǎn)出的大小大概1GB:

每天產(chǎn)出1GB大小的日志 每天產(chǎn)出1GB大小的日志 如果是小文件的話,單純的cat命令還是可以應(yīng)付的,但如果你直接用cat命令打開(kāi)一個(gè)1GB的日志文件,保證卡死你(ctrl + c退出cat命令需要很久才能將cat命令停下來(lái))。

一般我只用cat來(lái)查看這個(gè)小文件的文本內(nèi)容是什么

同樣地,如果是小文件,單純的vim命令去打開(kāi)文件也是可以應(yīng)付的,但如果你用vim命令去打開(kāi)一個(gè)1GB甚至更大的文件,也能明顯感受到緩慢和卡頓。

平時(shí)我還是很喜歡用vim去查找對(duì)應(yīng)的記錄的,我一般的操作:

vim service

按G跳轉(zhuǎn)到文件的末尾

按? +關(guān)鍵字搜索對(duì)應(yīng)的記錄

按n往上查詢(xún),按N往下查詢(xún)

tail -f service.log 這個(gè)命令我一般用于查看流量是否進(jìn)來(lái)了(或者調(diào)試的時(shí)候可以直接看到日志,再迅速ctrl +c關(guān)掉)

面對(duì)比較大的日志文件,這我們就得配合grep來(lái)玩了,比如我們現(xiàn)在得知某個(gè)手機(jī)號(hào)收不到短信驗(yàn)證碼,想要看一下這個(gè)手機(jī)號(hào)的日志是怎么樣的。于是我們就可以這樣搞:

cat service.log | grep 13888888888

這么一搞,就能將service.log中所有含有13888888888的記錄給搜出來(lái),搜索的速度還是賊快的。

檢索日志 檢索日志 現(xiàn)在我們已經(jīng)能根據(jù)關(guān)鍵字搜到對(duì)應(yīng)的記錄了,接著我想看一下那條記錄的日志上下文【這樣就能知道這條數(shù)據(jù)大概的執(zhí)行狀態(tài)了】

首先,我們先要查出對(duì)應(yīng)記錄的行號(hào),在cat 命令后面加上一個(gè) -n 參數(shù)就好了。所以命令是:cat -n service.log | grep 13888888888 ,如下圖我們就可以查到對(duì)應(yīng)的行號(hào)了

查看行數(shù) 查看行數(shù) 現(xiàn)在行數(shù)是29506,我們一般只要看一下29506的前10行和后10行就差不多知道問(wèn)題出現(xiàn)在哪了,于是我們可以這樣做:

sed -n "29496,29516p" service.log:從29496行開(kāi)始檢索,到29516行結(jié)束

cat -n service.log | tail -n +29496 | head -n 20:從29496行開(kāi)始檢索,往前推20條

如果關(guān)鍵字不太準(zhǔn)確(日志輸出的記錄太多了),我們可以使用more命令來(lái)瀏覽或者輸出到文件上再分析:

cat service.log | grep 13 |more :將查詢(xún)后的結(jié)果交由more輸出

cat service.log | grep 13 > /home/sanwai/aa.txt 將查詢(xún)后的結(jié)果寫(xiě)到/home/sanwai/aa.txt文件上

有的時(shí)候,我們想統(tǒng)計(jì)這個(gè)日志輸出了多少行,我們可以使用這條命令:

cat service.log | wc -l

查看行數(shù) 查看行數(shù) 參考資料:

https://www.cnblogs.com/xiashan17/p/7059978.html

二、查進(jìn)程和端口 查進(jìn)程有兩個(gè)命令:

ps -ef

ps aux

上面兩個(gè)命令都是列出所有的進(jìn)程,我們還是通過(guò) |管道和grep 來(lái)過(guò)濾掉想要查的進(jìn)程,比如說(shuō):ps -ef |grep java

把進(jìn)程查出來(lái)干嘛?知道它的進(jìn)程ID了,我們可以把他給殺掉。

kill -9 processId:殺掉某個(gè)進(jìn)程

查端口也是一個(gè)很常見(jiàn)的操作,常見(jiàn)命令:netstat -lntup:

l:listening n:num t:tcp u:udp p:display PID/Program name for sockets

查看當(dāng)前所有tcp/udp端口的信息 查看某個(gè)端口詳細(xì)的信息:lsof -i:4000

查看某個(gè)端口的詳細(xì)信息 查看某個(gè)端口的詳細(xì)信息 三、查看系統(tǒng)的狀態(tài) 3.1 TOP實(shí)時(shí)查看進(jìn)程的狀態(tài) TOP命令查看進(jìn)程的狀態(tài),其中有個(gè)load average可能不是那么好理解,下面來(lái)解釋一下:

load average:在特定時(shí)間間隔內(nèi)運(yùn)行隊(duì)列中(在CPU上運(yùn)行或者等待運(yùn)行多少進(jìn)程)的平均進(jìn)程數(shù)。

load average 有三個(gè)值,分別代表:1分鐘、5分鐘、15分鐘內(nèi)運(yùn)行進(jìn)程隊(duì)列中的平均進(jìn)程數(shù)量。

正在運(yùn)行的進(jìn)程 + 準(zhǔn)備好等待運(yùn)行的進(jìn)程 在特定時(shí)間內(nèi)(1分鐘,5分鐘,10分鐘)的平均進(jìn)程數(shù)

Linux進(jìn)程可以分為三個(gè)狀態(tài):

阻塞進(jìn)程

可運(yùn)行的進(jìn)程

正在運(yùn)行的進(jìn)程

比如現(xiàn)在系統(tǒng)有2個(gè)正在運(yùn)行的進(jìn)程,3個(gè)可運(yùn)行進(jìn)程,那么系統(tǒng)的load就是5,load average就是一定時(shí)間內(nèi)的load數(shù)量均值。

3.2free查看內(nèi)存使用狀況 linux的內(nèi)存管理機(jī)制的思想包括(不敢說(shuō)就是)內(nèi)存利用率最大化,內(nèi)核會(huì)把剩余的內(nèi)存申請(qǐng)為cached,而cached不屬于free范疇。

如果free的內(nèi)存不夠,內(nèi)核會(huì)把部分cached的內(nèi)存回收,回收的內(nèi)存再分配給應(yīng)用程序。所以對(duì)于linux系統(tǒng),可用于分配的內(nèi)存不只是free的內(nèi)存,還包括cached的內(nèi)存(其實(shí)還包括buffers)。

可用內(nèi)存=free的內(nèi)存+cached的內(nèi)存+buffers

Buffer Cache和Page Cache。前者針對(duì)磁盤(pán)塊的讀寫(xiě),后者針對(duì)文件inode的讀寫(xiě)。這些Cache有效縮短了 I/O系統(tǒng)調(diào)用(比如read,write,getdents)的時(shí)間。磁盤(pán)的操作有邏輯級(jí)(文件系統(tǒng))和物理級(jí)(磁盤(pán)塊)

上述就是小編為大家分享的蘑菇街工程師常用的Linux命令有哪些了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI