日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux必懂知识大总结(上)

發(fā)布時(shí)間:2023/12/13 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux必懂知识大总结(上) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

CPU

top

top:查看每個(gè)進(jìn)程的情況

?

在top模式下,輸入1:查看每個(gè)CPU的性能數(shù)據(jù),注意觀察是否有CPU100%占用率

?

CPU參數(shù)含義:

?

1)us過高表示Java應(yīng)用程序消耗了大量CPU,需要定位是哪一個(gè)線程,并分析線程堆棧。

?

在top模式下,輸入H:查看每個(gè)線程的性能信息

如果某個(gè)線程CPU利用率一直100%,則說明這個(gè)線程可能有死循環(huán),也有可能是GC的問題。jstat命令可以查看GC情況,是不是產(chǎn)生了FullGC。

?

還可以把線程dump下來,看看是哪個(gè)線程、執(zhí)行什么代碼造成的CPU利用率高。

jstack PID | grep ‘nid=十六進(jìn)制線程id’ > /dir

dump出來的線程ID(nid)是十六進(jìn)制,TOP命令看到的線程ID是十進(jìn)制的

?

2)sy過高表示花費(fèi)了更多時(shí)間進(jìn)行線程切換。同樣需要查看Java線程的狀態(tài)。

文件IO 磁盤

ls

顯示文件夾下的文件詳情,包括大小

ls –al

a表示all,包括隱藏文件

stat(查看文件詳情)

stat filepath

軟硬連接

軟硬連接(inode這塊,ln / ln -s)

硬鏈接 (hard link) 與軟鏈接(又稱符號(hào)鏈接,即 soft link 或 symbolic link)。鏈接為 Linux 系統(tǒng)解決了文件的共享使用,還帶來了隱藏文件路徑、增加權(quán)限安全及節(jié)省存儲(chǔ)等好處。若一個(gè) inode 號(hào)對(duì)應(yīng)多個(gè)文件名,則稱這些文件為硬鏈接。換言之,硬鏈接就是同一個(gè)文件使用了多個(gè)別名。硬鏈接可由命令 link 或 ln 創(chuàng)建。

軟鏈接與硬鏈接不同,若文件用戶數(shù)據(jù)塊中存放的內(nèi)容是另一文件的路徑名的指向,則該文件就是軟連接。軟鏈接就是一個(gè)普通文件,只是數(shù)據(jù)塊內(nèi)容有點(diǎn)特殊。軟鏈接有著自己的 inode 號(hào)以及用戶數(shù)據(jù)塊。

ln -s?? source? target

文本操作命令

cat???? 由第一行開始顯示內(nèi)容,并將所有內(nèi)容輸出

tac???? 從最后一行倒序顯示內(nèi)容,并將所有內(nèi)容輸出

more??? 根據(jù)窗口大小,一頁一頁的顯示文件內(nèi)容

less??? 和more類似,但其優(yōu)點(diǎn)可以往前翻頁,而且進(jìn)行可以搜索字符

head??? 只顯示頭幾行

tail??? 只顯示最后幾行

sort、uniq

sort 進(jìn)行排序。

?

$ sort [-fbMnrtuk] [file or stdin]

-f :忽略大小寫

-b :忽略最前面的空格

-M :以月份的名字來排序,例如 JAN, DEC

-n :使用數(shù)字

-r :反向排序

-u :相當(dāng)于 unique ,重復(fù)內(nèi)容只出現(xiàn)一次

-t :分隔符,默認(rèn)為tab

-k :指定排序的區(qū)間

范例:/etc/passwd 內(nèi)容是以 : 來分隔的,以第三欄來排序。

?

$ cat /etc/passwd | sort -t ':' -k 3

root:x:0:0:root:/root:/bin/bash

dmtsai:x:1000:1000:dmtsai:/home/dmtsai:/bin/bash

alex:x:1001:1002::/home/alex:/bin/bash

arod:x:1002:1003::/home/arod:/bin/bash

uniq 可以將重復(fù)的數(shù)據(jù)只取一個(gè)。

?

$ uniq [-ic]

-i :忽略大小寫

-c :進(jìn)行計(jì)數(shù)

?

使用cat命令可以顯示文本文件內(nèi)容, 把幾個(gè)文件內(nèi)容附加到另一個(gè)文件中。

使用more命令可以分頁顯示文本文件的內(nèi)容。

使用less命令可以回卷顯示文本文件的內(nèi)容。

使用head命令可以顯示指定文件的前若干行文件內(nèi)容。

使用tail命令可以查看文件的末尾數(shù)據(jù)。

使用sort命令可以對(duì)文件中的數(shù)據(jù)進(jìn)行排序,并將結(jié)果顯示在標(biāo)準(zhǔn)輸出上。

使用uniq命令可以將文件內(nèi)的重復(fù)行數(shù)據(jù)從輸出文件中刪除,只留下每條記錄的唯一樣本。

使用cut命令可以從文件的每行中顯示出選定的字節(jié)、字符或字段。

使用comm命令可以比較兩個(gè)已排過序的文件,并將其結(jié)果顯示出來。

使用diff命令可以逐行比較兩個(gè)文本文件,列出其不同之處。它比comm命令完成更復(fù)雜的檢查。它對(duì)給出的文件進(jìn)行系統(tǒng)的檢查,并顯示出兩個(gè)文件中所有不同的行,不要求事先對(duì)文件進(jìn)行排序。

?

vim

?

vi編輯器有3種基本工作模式,分別是命令行模式、插入模式和末行模式。

命令行模式控制屏幕光標(biāo)的移動(dòng),字符、字或行的刪除,移動(dòng)、復(fù)制某區(qū)域及進(jìn)入插入模式,或者到末行模式。

只有在插入模式下,才可以做文字輸入,按“Esc”鍵可回到命令行模式。

末行模式將文件保存或退出vi編輯器,也可以設(shè)置編輯環(huán)境,如尋找字符串、列出行號(hào)等。

?

在指令列模式下,有以下命令用于離開或者存儲(chǔ)文件。

?

命令?????? 作用

:w??? 寫入磁盤

:w!?? 當(dāng)文件為只讀時(shí),強(qiáng)制寫入磁盤。到底能不能寫入,與用戶對(duì)該文件的權(quán)限有關(guān)

:q??? 離開

:q!?? 強(qiáng)制離開不保存

:wq? 寫入磁盤后離開

:wq! 強(qiáng)制寫入磁盤后離開

實(shí)時(shí)查看日志命令

tail -f path

-f 循環(huán)讀取

?

系統(tǒng)日志

/var/log/message 系統(tǒng)啟動(dòng)后的信息和錯(cuò)誤日志,是Red Hat Linux中最常用的日志之一

/var/log/secure 與安全相關(guān)的日志信息

/var/log/maillog 與郵件相關(guān)的日志信息

/var/log/cron 與定時(shí)任務(wù)相關(guān)的日志信息

/var/log/spooler 與UUCP和news設(shè)備相關(guān)的日志信息

/var/log/boot.log 守護(hù)進(jìn)程啟動(dòng)和停止相關(guān)的日志消息

/var/log/wtmp 該日志文件永久記錄每個(gè)用戶登錄、注銷及系統(tǒng)的啟動(dòng)、停機(jī)的事件

find

查找磁盤上最大的文件的命令

find / -type f -size +10G

列出當(dāng)前目錄及子目錄下所有文件和文件夾

?

在/home目錄下查找以.txt結(jié)尾的文件名 find /home -name "*.txt"

?

同上,但忽略大小寫 find /home -iname "*.txt"

當(dāng)前目錄及子目錄下查找所有以.txt和.pdf結(jié)尾的文件 find . \( -name "*.txt" -o -name "*.pdf" \) 或 find . -name "*.txt" -o -name "*.pdf"

匹配文件路徑或者文件 find /usr/ -path "*local*"

基于正則表達(dá)式匹配文件路徑 find . -regex ".*\(\.txt\|\.pdf\)$"

同上,但忽略大小寫 find . -iregex ".*\(\.txt\|\.pdf\)$"

找出/home下不是以.txt結(jié)尾的文件 find /home ! -name "*.txt"

根據(jù)文件類型進(jìn)行搜索find . -type 類型參數(shù)

?

類型參數(shù)列表:

f 普通文件

l 符號(hào)連接

d 目錄

c 字符設(shè)備

b 塊設(shè)備

s 套接字

p Fifo

?

基于目錄深度搜索

向下最大深度限制為3 find . -maxdepth 3 -type f

搜索出深度距離當(dāng)前目錄至少2個(gè)子目錄的所有文件 find . -mindepth 2 -type f

根據(jù)文件時(shí)間戳進(jìn)行搜索 find . -type f 時(shí)間戳

?

UNIX/Linux文件系統(tǒng)每個(gè)文件都有三種時(shí)間戳:

?

訪問時(shí)間(-atime/天,-amin/分鐘):用戶最近一次訪問時(shí)間。

修改時(shí)間(-mtime/天,-mmin/分鐘):文件最后一次修改時(shí)間。

變化時(shí)間(-ctime/天,-cmin/分鐘):文件數(shù)據(jù)元(例如權(quán)限等)最后一次修改時(shí)間。

搜索最近七天內(nèi)被訪問過的所有文件

find . -type f -atime -7 搜索恰好在七天前被訪問過的所有文件

find . -type f -atime 7 搜索超過七天內(nèi)被訪問過的所有文件

find . -type f -atime +7 搜索訪問時(shí)間超過10分鐘的所有文件

find . -type f -amin +10 找出比file.log修改時(shí)間更長的所有文件

find . -type f -newer file.log 根據(jù)文件大小進(jìn)行匹配

find . -type f -size 文件大小單元 文件大小單元:

b —— 塊(512字節(jié))

c —— 字節(jié)

w —— 字(2字節(jié))

k —— 千字節(jié)

M —— 兆字節(jié)

G —— 吉字節(jié)

搜索大于10KB的文件find . -type f -size +10k

搜索小于10KB的文件find . -type f -size -10k

搜索等于10KB的文件find . -type f -size 10k

刪除匹配文件

刪除當(dāng)前目錄下所有.txt文件 find . -type f -name "*.txt" -delete

根據(jù)文件權(quán)限/所有權(quán)進(jìn)行匹配

當(dāng)前目錄下搜索出權(quán)限為777的文件 find . -type f -perm 777

找出當(dāng)前目錄下權(quán)限不是644的php文件 find . -type f -name "*.php" ! -perm 644

找出當(dāng)前目錄用戶tom擁有的所有文件 find . -type f -user tom

將當(dāng)前目錄下所有以“.txt”結(jié)尾的文件打印出來,再追問,除了“.txt”再加上“.abc”結(jié)尾的也打印出來。

find . -name "*.txt"

grep

在文件內(nèi)查找字符串

grep “字符串” filename

文件權(quán)限

r:可讀(4)

w:可寫(2),對(duì)于目錄來說表示可在目錄中新建文件

x:可執(zhí)行(1),對(duì)于目錄來說為可進(jìn)入到該目錄中

-:表示無對(duì)應(yīng)位上的權(quán)限

4代表讀權(quán)限,2代表寫權(quán)限,1代表執(zhí)行權(quán)限

?

7=4+2+1,表示擁有可讀可寫可執(zhí)行權(quán)限

5=4+1,表示擁有可讀可執(zhí)行權(quán)限,但是沒有寫權(quán)限

4 代表擁有可讀權(quán)限

0 代表沒有任何權(quán)限

?

chmod 修改文件屬性

chmod 777 /home/berry

chmod u+x /home/berry

?

u 表示“用戶(user)”,即文件或目錄的所有者。

g 表示“同組(group)用戶”,即與文件屬主有相同組ID的所有用戶。

o 表示“其他(others)用戶”。

a 表示“所有(all)用戶”。它是系統(tǒng)默認(rèn)值。

?

chown 修改文件的屬主與屬組

chown guest:guest a.txt

chown -R guest /home/berry (把berry文件下的所有文件都改成guest這個(gè)組)

chgrp 修改文件的所屬的用戶組

chgrp -R guest /var/tmp/f.txt

chgrp - R root /home/berry/file/a.txt

iostat(查看各個(gè)設(shè)備的IO狀態(tài),查看磁盤讀寫性能)

直接輸入iostat:

tps是每秒的IO請(qǐng)求數(shù),這是IO消耗情況值得關(guān)注的數(shù)字。

Blk_read/s是指每秒讀取的塊數(shù)量,通過塊的大小是512字節(jié)

Blk_read是指總共讀取的塊數(shù)量

?

iostat –x xvda 3 5 定時(shí)采樣查看IO消耗情況

首先要關(guān)注的是CPU中的iowait%所占的百分比,當(dāng)iowait占據(jù)主要的百分比時(shí),就表示要關(guān)注IO方面的消耗狀況了。

pidstat(查看某個(gè)線程的IO狀態(tài))

pidstat –d –t –p [pid] 1 100

KB_rd/s 表示每秒讀取的KB數(shù)

KB_wd/s 表示每秒寫入的KB數(shù)

通過pidstat直接找到文件IO操作多的線程,之后結(jié)合jstack找到對(duì)應(yīng)的Java代碼。

cp/mv的區(qū)別

1、功能上的區(qū)別

mv:用戶可以使用該命令為文件或目錄重命名或?qū)⑽募梢粋€(gè)目錄移入另一個(gè)目錄中。

cp: 該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中。

?

2、從inode角度來區(qū)分

mv:會(huì)將存儲(chǔ)于indoe索引節(jié)點(diǎn)上的文件元信息也移動(dòng)到新文件中。

cp : 只會(huì)復(fù)制文件數(shù)據(jù),不會(huì)復(fù)制inode索引節(jié)點(diǎn)上的文件元信息。

?

cp 的時(shí)候是真正意義上的內(nèi)容copy,對(duì)于 inode 節(jié)點(diǎn)卻是不會(huì)變化的。

mv 的時(shí)候是把源文件直接刪除了(inode 刪除了),新的文件其實(shí)已經(jīng)不是以前的文件了,只是名字一樣而已。

?

網(wǎng)絡(luò)

netstat(端口)

查看tcp連接數(shù)狀態(tài)

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

?

統(tǒng)計(jì)8080端口上有多少個(gè)TCP連接,命令:

netstat –nat | grep 8080 | wc –l

?

TCP連接中有多少個(gè)連接狀態(tài)是ESTABLISHED,命令:

netstat –nat | grep 8080 | grep ESTABLISHED| wc -l

?

TCP連接中有多少個(gè)連接狀態(tài)是CLOSE_WAIT

netstat –nat | grep 8080 | grep CLOSE_WAIT| wc -l

?

TCP連接中有多少個(gè)連接狀態(tài)是TIME_WAIT

netstat –nat | grep 8080 | grep TIME_WAIT| wc -l

?

使用awk來完成統(tǒng)計(jì)信息,命令如下

netstat –nat | grep 8080 | awk ‘{++S[$NF]} END {for (a in S) print a, S[a]}’

sar

sar –n FULL 1 2 執(zhí)行后以1s為頻率,總共輸出兩次網(wǎng)絡(luò)IO的消耗情況。

輸出信息包含三部分:網(wǎng)卡上成功的接包和發(fā)包的信息 網(wǎng)卡上失敗的接包和發(fā)包信息 sockets上的統(tǒng)計(jì)信息(tcpsck、udpsck)

如需詳細(xì)跟蹤tcp/ip通信過程的信息,則可通過tcpdump來進(jìn)行。

tcpdump

tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ]

??????? [ -s snaplen ] [ -w file ] [ expression ]

抓包選項(xiàng):

-c:指定要抓取的包數(shù)量。注意,是最終要獲取這么多個(gè)包。例如,指定"-c 10"將獲取10個(gè)包,但可能已經(jīng)處理了100個(gè)包,只不過只有10個(gè)包是滿足條件的包。

-i interface:指定tcpdump需要監(jiān)聽的端口。若未指定該選項(xiàng),將從系統(tǒng)接口列表中搜尋編號(hào)最小的已配置好的接口(不包括loopback端口,要抓取loopback接口使用tcpdump -i lo),

??????????? :一旦找到第一個(gè)符合條件的端口,搜尋馬上結(jié)束。可以使用'any'關(guān)鍵字表示所有網(wǎng)絡(luò)接口。

-n:對(duì)地址以數(shù)字方式顯式,否則顯式為主機(jī)名,也就是說-n選項(xiàng)不做主機(jī)名解析。

-nn:除了-n的作用外,還把端口顯示為數(shù)值,否則顯示端口服務(wù)名。

-N:不打印出host的域名部分。例如tcpdump將會(huì)打印'nic'而不是'nic.ddn.mil'。

-P:指定要抓取的包是流入還是流出的包。可以給定的值為"in"、"out"和"inout",默認(rèn)為"inout"。

-s len:設(shè)置tcpdump的數(shù)據(jù)包抓取長度為len,如果不設(shè)置默認(rèn)將會(huì)是65535字節(jié)。對(duì)于要抓取的數(shù)據(jù)包較大時(shí),長度設(shè)置不夠可能會(huì)產(chǎn)生包截?cái)?#xff0c;若出現(xiàn)包截?cái)?#xff0c;

????? :輸出行中會(huì)出現(xiàn)"[|proto]"的標(biāo)志(proto實(shí)際會(huì)顯示為協(xié)議名)。但是抓取len越長,包的處理時(shí)間越長,并且會(huì)減少tcpdump可緩存的數(shù)據(jù)包的數(shù)量,

????? :從而會(huì)導(dǎo)致數(shù)據(jù)包的丟失,所以在能抓取我們想要的包的前提下,抓取長度越小越好。

?

輸出選項(xiàng):

-e:輸出的每行中都將包括數(shù)據(jù)鏈路層頭部信息,例如源MAC和目標(biāo)MAC。

-q:快速打印輸出。即打印很少的協(xié)議相關(guān)信息,從而輸出行都比較簡(jiǎn)短。

-X:輸出包的頭部數(shù)據(jù),會(huì)以16進(jìn)制和ASCII兩種方式同時(shí)輸出。

-XX:輸出包的頭部數(shù)據(jù),會(huì)以16進(jìn)制和ASCII兩種方式同時(shí)輸出,更詳細(xì)。

-v:當(dāng)分析和打印的時(shí)候,產(chǎn)生詳細(xì)的輸出。

-vv:產(chǎn)生比-v更詳細(xì)的輸出。

-vvv:產(chǎn)生比-vv更詳細(xì)的輸出。

?

其他功能性選項(xiàng):

-D:列出可用于抓包的接口。將會(huì)列出接口的數(shù)值編號(hào)和接口名,它們都可以用于"-i"后。

-F:從文件中讀取抓包的表達(dá)式。若使用該選項(xiàng),則命令行中給定的其他表達(dá)式都將失效。

-w:將抓包數(shù)據(jù)輸出到文件中而不是標(biāo)準(zhǔn)輸出。可以同時(shí)配合"-G time"選項(xiàng)使得輸出文件每time秒就自動(dòng)切換到另一個(gè)文件。可通過"-r"選項(xiàng)載入這些文件以進(jìn)行分析和打印。

-r:從給定的數(shù)據(jù)包文件中讀取數(shù)據(jù)。使用"-"表示從標(biāo)準(zhǔn)輸入中讀取。

?

(1).默認(rèn)啟動(dòng)

tcpdump

默認(rèn)情況下,直接啟動(dòng)tcpdump將監(jiān)視第一個(gè)網(wǎng)絡(luò)接口(非lo口)上所有流通的數(shù)據(jù)包。這樣抓取的結(jié)果會(huì)非常多,滾動(dòng)非常快。

?

(2).監(jiān)視指定網(wǎng)絡(luò)接口的數(shù)據(jù)包

tcpdump -i eth1

如果不指定網(wǎng)卡,默認(rèn)tcpdump只會(huì)監(jiān)視第一個(gè)網(wǎng)絡(luò)接口,如eth0。

?

(3).監(jiān)視指定主機(jī)的數(shù)據(jù)包,例如所有進(jìn)入或離開longshuai的數(shù)據(jù)包

tcpdump host longshuai

?

(4).打印helios<-->hot或helios<-->ace之間通信的數(shù)據(jù)包

tcpdump host helios and \( hot or ace \)

?

(5).打印ace與任何其他主機(jī)之間通信的IP數(shù)據(jù)包,但不包括與helios之間的數(shù)據(jù)包

tcpdump ip host ace and not helios

?

(6).截獲主機(jī)hostname發(fā)送的所有數(shù)據(jù)

tcpdump src host hostname

(7).監(jiān)視所有發(fā)送到主機(jī)hostname的數(shù)據(jù)包

tcpdump dst host hostname

?

(8).監(jiān)視指定主機(jī)和端口的數(shù)據(jù)包

tcpdump tcp port 22 and host hostname

?

(9).對(duì)本機(jī)的udp 123端口進(jìn)行監(jiān)視(123為ntp的服務(wù)端口)

tcpdump udp port 123

?

(10).監(jiān)視指定網(wǎng)絡(luò)的數(shù)據(jù)包,如本機(jī)與192.168網(wǎng)段通信的數(shù)據(jù)包,"-c 10"表示只抓取10個(gè)包

tcpdump -c 10 net 192.168

?

(11).打印所有通過網(wǎng)關(guān)snup的ftp數(shù)據(jù)包(注意,表達(dá)式被單引號(hào)括起來了,這可以防止shell對(duì)其中的括號(hào)進(jìn)行錯(cuò)誤解析)

shell> tcpdump 'gateway snup and (port ftp or ftp-data)'

?

(12).抓取ping包

[root@server2 ~]# tcpdump -c 5 -nn -i eth0 icmp

內(nèi)存

vmstat、sar、top、pidstat等可以查看swap和物理內(nèi)存的消耗情況。

vmstat和sar共同的弱點(diǎn)是不能分析進(jìn)程所占用的內(nèi)存量。

top可以查看進(jìn)程所消耗的內(nèi)存量,在top中看Java進(jìn)程的內(nèi)存包括了JVM已分配的內(nèi)存加上JVM外的物理內(nèi)存。

pidstat也可以查看進(jìn)程所消耗的內(nèi)存量。

pidstat –r –p [pid] [interval] [times]

進(jìn)程

ps –ef/-aux

ps aux 和ps -ef

兩者的輸出結(jié)果差別不大,但展示風(fēng)格不同。aux是BSD風(fēng)格,-ef是System V風(fēng)格。這是次要的區(qū)別,一個(gè)影響使用的區(qū)別是aux會(huì)截?cái)郼ommand列,而-ef不會(huì)。當(dāng)結(jié)合grep時(shí)這種區(qū)別會(huì)影響到結(jié)果。

?

ps -ef 顯示出的結(jié)果:

??? 1.UID?????? 用戶ID

??? 2.PID??????? 進(jìn)程ID

??? 3.PPID????? 父進(jìn)程ID

??? 4.C?????????? CPU占用率

??? 5.STIME???? 開始時(shí)間

??? 6.TTY???????? 開始此進(jìn)程的TTY----終端設(shè)備

??? 7.TIME?????? 此進(jìn)程運(yùn)行的總時(shí)間

??? 8.CMD?????? 命令名

lsof 進(jìn)程打開的文件、端口

lsof [options] filename

-a:列出打開文件存在的進(jìn)程;

-c<進(jìn)程名>:列出指定進(jìn)程所打開的文件;

-g:列出GID號(hào)進(jìn)程詳情;

-d<文件號(hào)>:列出占用該文件號(hào)的進(jìn)程;

+d<目錄>:列出目錄下被打開的文件;

+D<目錄>:遞歸列出目錄下被打開的文件;

-n<目錄>:列出使用NFS的文件;

-i<條件>:列出符合條件的進(jìn)程。(4、6、協(xié)議、:端口、 @ip )

-p<進(jìn)程號(hào)>:列出指定進(jìn)程號(hào)所打開的文件;

-u:列出UID號(hào)進(jìn)程詳情;

-h:顯示幫助信息;

-v:顯示版本信息。

?

lsof輸出各列信息的意義如下:

COMMAND:進(jìn)程的名稱

PID:進(jìn)程標(biāo)識(shí)符

USER:進(jìn)程所有者

FD:文件描述符,應(yīng)用程序通過文件描述符識(shí)別該文件。如cwd、txt等

TYPE:文件類型,如DIR、REG等

DEVICE:指定磁盤的名稱

SIZE:文件的大小

NODE:索引節(jié)點(diǎn)(文件在磁盤上的標(biāo)識(shí))

NAME:打開文件的確切名稱

?

cwd:表示current work dirctory,即:應(yīng)用程序的當(dāng)前工作目錄,這是該應(yīng)用程序啟動(dòng)的目錄,除非它本身對(duì)這個(gè)目錄進(jìn)行更改

txt:該類型的文件是程序代碼,如應(yīng)用程序二進(jìn)制文件本身或共享庫,如上列表中顯示的 /sbin/init 程序

lnn:library references (AIX);

er:FD information error (see NAME column);

jld:jail directory (FreeBSD);

ltx:shared library text (code and data);

mxx :hex memory-mapped type number xx.

m86:DOS Merge mapped file;

mem:memory-mapped file;

mmap:memory-mapped device;

pd:parent directory;

rtd:root directory;

tr:kernel trace file (OpenBSD);

v86? VP/ix mapped file;

0:表示標(biāo)準(zhǔn)輸出

1:表示標(biāo)準(zhǔn)輸入

2:表示標(biāo)準(zhǔn)錯(cuò)誤

?

kill

殺死進(jìn)程

?

負(fù)載 Load Average

系統(tǒng)的load被定義為特定時(shí)間間隔內(nèi)運(yùn)行隊(duì)列的平均線程數(shù),如果一個(gè)線程滿足以下條件,該線程就會(huì)處于運(yùn)行隊(duì)列中:?

  • 沒有處于I/O等待狀態(tài)。
  • 沒有主動(dòng)進(jìn)入等待狀態(tài),也就是沒有調(diào)用wait操作;
  • 沒有被終止。
  • ?

    每個(gè)CPU的核都維護(hù)了一個(gè)運(yùn)行隊(duì)列,系統(tǒng)的load主要由運(yùn)行隊(duì)列來決定。load的值越大,也就意味著系統(tǒng)的CPU越繁忙,這樣線程運(yùn)行完以后等待操作系統(tǒng)分配下一個(gè)時(shí)間片段的時(shí)間也就越長。一般來說,只要每個(gè)CPU當(dāng)前的活動(dòng)線程數(shù)不大于3,我們認(rèn)為它的負(fù)載是正常的,如果每個(gè)CPU的線程數(shù)大于5,則表示當(dāng)前系統(tǒng)的負(fù)載已經(jīng)非常高了,需要采取措施來減低系統(tǒng)的負(fù)載,以提高響應(yīng)速度。

    ?

    使用top命令查看,該值是三個(gè)浮點(diǎn)數(shù),表示最近1分鐘、5分鐘、15分鐘的運(yùn)行隊(duì)列平均進(jìn)程數(shù)。

    ?

    總結(jié)

    以上是生活随笔為你收集整理的Linux必懂知识大总结(上)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。