




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
linux常用命令大全新手入門基本操作Linux關(guān)機,重啟#
關(guān)機shutdown
-h
now#
重啟shutdown
-r
now查看系統(tǒng),CPU信息#
查看系統(tǒng)內(nèi)核信息uname
-a#
查看系統(tǒng)內(nèi)核版本cat
/proc/version#
查看當(dāng)前用戶環(huán)境變量envcat
/proc/cpuinfo#
查看有幾個邏輯cpu,
包括cpu型號cat
/proc/cpuinfo
|
grep
name
|
cut
-f2
-d:
|
uniq
-c#
查看有幾顆cpu,每顆分別是幾核cat
/proc/cpuinfo
|
grep
physical
|
uniq
-c#
查看當(dāng)前CPU運行在32bit還是64bit模式下,
如果是運行在32bit下也不代表CPU不支持64bitgetconf
LONG_BIT#
結(jié)果大于0,
說明支持64bit計算.
lm指long
mode,
支持lm則是64bitcat
/proc/cpuinfo
|
grep
flags
|
grep
'
lm
'
|
wc
-l建立軟連接ln
-s
/usr/local/jdk1.8/
jdkrpm相關(guān)#
查看是否通過rpm安裝了該軟件rpm
-qa
|
grep
軟件名sshkey#
創(chuàng)建sshkeyssh-keygen
-t
rsa
-C
your_email@example#id_rsa.pub
的內(nèi)容拷貝到要控制的服務(wù)器的
home/username/.ssh/authorized_keys
中,如果沒有則新建(.ssh權(quán)限為700,
authorized_keys權(quán)限為600)命令重命名#
在各個用戶的.bash_profile中添加重命名配置alias
ll='ls
-alF'同步服務(wù)器時間sudo
ntpdate
-u
ntp.api.bz后臺運行命令#
后臺運行,并且有nohup.out輸出nohup
xxx
后臺運行,
不輸出任何日志nohup
xxx
>
/dev/null
后臺運行,
并將錯誤信息做標(biāo)準(zhǔn)輸出到日志中
nohup
xxx
>out.log
2>&1
&強制活動用戶退出#
命令來完成強制活動用戶退出.其中TTY表示終端名稱pkill
-kill
-t
[TTY]查看命令路徑which
<命令>查看進程所有打開最大fd數(shù)ulimit
-n配置dnsvim
/etc/resolv.confnslookup,查看域名路由表nslookup
googlelast,最近登錄信息列表#
最近登錄的5個賬號last
-n
5設(shè)置固定ipifconfig
em1
77
netmask
查看進程內(nèi)加載的環(huán)境變量#
也可以去
cd
/proc
目錄下,
查看進程內(nèi)存中加載的東西ps
eww
-p
XXXXX(進程號)查看進程樹找到服務(wù)器進程ps
auwxf查看進程啟動路徑cd
/proc/xxx(進程號)ls
-all#
cwd對應(yīng)的是啟動路徑添加用戶,配置sudo權(quán)限#
新增用戶useradd
用戶名passwd
用戶名#增加sudo權(quán)限vim
/etc/sudoers#
修改文件里面的#
root
ALL=(ALL)
ALL#
用戶名
ALL=(ALL)
ALL強制關(guān)閉進程名包含xxx的所有進程ps
aux|grep
xxx
|
grep
-v
grep
|
awk
$2}'
|
xargs
kill
-9磁盤,文件,目錄相關(guān)操作vim操作#normal模式下
g表示全局,
x表示查找的內(nèi)容,
y表示替換后的內(nèi)容:%s/x/y/g#normal模式下0
#
光標(biāo)移到行首(數(shù)字0)$
#
光標(biāo)移至行尾shift
+
g
#
跳到文件最后gg
#
跳到文件頭#
顯示行號:set
nu#
去除行號:set
nonu#
檢索/xxx(檢索內(nèi)容)
#
從頭檢索,
按n查找下一個?xxx(檢索內(nèi)容)
#
從尾部檢索打開只讀文件,修改后需要保存時(不用切換用戶即可保存的方式)#
在normal模式下:w
!sudo
tee
%查看磁盤,文件目錄基本信息#
查看磁盤掛載情況mount#
查看磁盤分區(qū)信息df#
查看目錄及子目錄大小du
-H
-h#
查看當(dāng)前目錄下各個文件,
文件夾占了多少空間,
不會遞歸du
-sh
*wc命令#
查看文件里有多少行wc
-l
filename#
看文件里有多少個wordwc
-w
filename#
文件里最長的那一行是多少個字wc
-L
filename#
統(tǒng)計字節(jié)數(shù)wc
-c常用壓縮,解壓縮命令壓縮命令tar
czvf
xxx.tar
壓縮目錄zip
-r
xxx.zip
壓縮目錄解壓縮命令tar
zxvf
xxx.tar#
解壓到指定文件夾tar
zxvf
xxx.tar
-C
/xxx/yyy/unzip
xxx.zip變更文件所屬用戶,用戶組chown
eagleye.eagleye
xxx.logcp,scp,mkdir#復(fù)制cp
xxx.log#
復(fù)制并強制覆蓋同名文件cp
-f
xxx.log#
復(fù)制文件夾cp
-r
xxx(源文件夾)
yyy(目標(biāo)文件夾)#
遠程復(fù)制scp
-P
ssh端口
username@01:/home/username/xxx
/home/xxx#
級聯(lián)創(chuàng)建目錄mkdir
-p
/xxx/yyy/zzz#
批量創(chuàng)建文件夾,
會在test,main下都創(chuàng)建java,
resources文件夾mkdir
-p
src/{test,main}/{java,resources}比較兩個文件diff
-u
1.txt
2.txt日志輸出的字節(jié)數(shù),可以用作性能測試#
如果做性能測試,
可以每執(zhí)行一次,
往日志里面輸出
“.”
,
這樣日志中的字節(jié)數(shù)就是實際的性能測試運行的次數(shù),
還可以看見實時速率.tail
-f
xxx.log
|
pv
-bt查看,去除特殊字符#
查看特殊字符cat
-v
xxx.sh#
去除特殊字符sed
-i
's/^M//g’
env.sh
去除文件的特殊字符,
比如^M:
需要這樣輸入:
ctrl+v+enter處理因系統(tǒng)原因引起的文件中特殊字符的問題#
可以轉(zhuǎn)換為該系統(tǒng)下的文件格式cat
file.sh
>
file.sh_bak#
先將file.sh中文件內(nèi)容復(fù)制下來然后運行,
然后粘貼內(nèi)容,
最后ctrl
+
d
保存退出cat
>
file1.sh#
在vim中通過如下設(shè)置文件編碼和文件格式:set
fileencodings=utf-8,然后w(存盤)一下即可轉(zhuǎn)化為utf8格式,:set
fileformat=unix#
在mac下使用dos2unix進行文件格式化find
.
-name
"*.sh"
|
xargs
dos2unixtee,重定向的同時輸出到屏幕awk
$0}’
xxx.log
|
tee
test.log檢索相關(guān)grep#
反向匹配,
查找不包含xxx的內(nèi)容grep
-v
xxx#
排除所有空行g(shù)rep
-v
'^/pre>#
返回結(jié)果
2,則說明第二行是空行g(shù)rep
-n
“^$”
111.txt
#
查詢以abc開頭的行g(shù)rep
-n
“^abc”
111.txt
#
同時列出該詞語出現(xiàn)在文章的第幾行g(shù)rep
'xxx'
-n
xxx.log#
計算一下該字串出現(xiàn)的次數(shù)grep
'xxx'
-c
xxx.log#
比對的時候,不計較大小寫的不同grep
'xxx'
-i
xxx.logawk#
以':'
為分隔符,如果第五域有user則輸出該行awk
-F
':'
'{if
($5
~
/user/)
$0}'
/etc/passwd
#
統(tǒng)計單個文件中某個字符(串)(中文無效)出現(xiàn)的次數(shù)awk
-v
RS='character'
'END
--NR}'
xxx.txtfind檢索命令#
在目錄下找后綴是.mysql的文件find
/home/eagleye
-name
'*.mysql'
-print#
會從
/usr目錄開始往下找,找最近3天之內(nèi)存取過的文件。find
/usr
-atime
3
–print#
會從
/usr目錄開始往下找,找最近5天之內(nèi)修改過的文件。find
/usr
-ctime
5
–print#
會從
/doc目錄開始往下找,找jacky的、文件名開頭是j的文件。
find
/doc
-user
jacky
-name
'j*'
–print#
會從
/doc目錄開始往下找,找尋文件名是ja開頭或者ma開頭的文件。find
/doc
(
-name
'ja*'
-o-
-name
'ma*'
)
–print#
會從
/doc目錄開始往下找,找到凡是文件名結(jié)尾為bak的文件,把它刪除掉。-exec選項是執(zhí)行的意思,rm是刪除命令,{
}
表示文件名,“;”是規(guī)定的命令結(jié)尾。
find
/doc
-name
'*bak'
-exec
rm
{}
;網(wǎng)絡(luò)相關(guān)查看什么進程使用了該端口lsof
-i:por獲取本機ip地址/sbin/ifconfig
-a|grep
inet|grep
-v
|grep
-v
inet6|awk
$2}'|tr
-d
"addr:"iptables#
查看iptables狀態(tài)service
iptables
status#
要封停一個ipiptables
-I
INPUT
-s
***.***.***.***
-j
DROP#
要解封一個IP,使用下面這條命令:iptables
-D
INPUT
-s
***.***.***.***
-j
DROP備注:
參數(shù)-I是表示Insert(添加),-D表示Delete(刪除)。后面跟的是規(guī)則,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放棄連接。#開啟9090端口的訪問/sbin/iptables
-I
INPUT
-p
tcp
--dport
9090
-j
ACCEPT
#
防火墻開啟、關(guān)閉、重啟/etc/init.d/iptables
status/etc/init.d/iptables
start/etc/init.d/iptables
stop/etc/init.d/iptables
restartnc命令,tcp調(diào)試?yán)?給某一個endpoint發(fā)送TCP請求,就將data的內(nèi)容發(fā)送到對端nc
1
8000
received_data#上邊只監(jiān)聽一次,如果多次可以加上-k參數(shù)nc
-lk
8000tcpdump#
dump出本機12301端口的tcp包tcpdump
-i
em1
tcp
port
12301
-s
1500
-w
abc.pcap跟蹤網(wǎng)絡(luò)路由路徑#
traceroute默認(rèn)使用udp方式,
如果是-I則改成icmp方式traceroute
-I
163#
從ttl第3跳跟蹤traceroute
-M
3
163
#
加上端口跟蹤traceroute
-p
8080
1ss#
顯示本地打開的所有端口ss
-l
#
顯示每個進程具體打開的socketss
-pl
#
顯示所有tcp
socketss
-t
-a
#
顯示所有的UDP
Socektss
-u
-a
#
顯示所有已建立的SMTP連接ss
-o
state
established
'(
dport
=
:smtp
or
sport
=
:smtp
)'
#
顯示所有已建立的HTTP連接
ss
-o
state
established
'(
dport
=
:http
or
sport
=
:http
)'
#找出所有連接X服務(wù)器的進程ss
-x
src
/tmp/.X11-unix/*
#列出當(dāng)前socket統(tǒng)計信息ss
-s
解釋:netstat是遍歷/proc下面每個PID目錄,ss直接讀/proc/net下面的統(tǒng)計信息。所以ss執(zhí)行的時候消耗資源以及消耗的時間都比netstat少很多netstat#
輸出每個ip的連接數(shù),以及總的各個狀態(tài)的連接數(shù)netstat
-n
|
awk
'/^tcp/
{n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N}
END
{for(a
in
S){printf("%-20s
%s",
a,
S[a]);++I}printf("%-20s
%s","TOTAL_IP",I);for(a
in
s)
printf("%-20s
%s",a,
s[a]);printf("%-20s
%s","TOTAL_LINK",N);}'#
統(tǒng)計所有連接狀態(tài),
#CLOSED:無連接是活動的或正在進行#LISTEN:服務(wù)器在等待進入呼叫#SYN_RECV:一個連接請求已經(jīng)到達,等待確認(rèn)#SYN_SENT:應(yīng)用已經(jīng)開始,打開一個連接#ESTABLISHED:正常數(shù)據(jù)傳輸狀態(tài)#FIN_WAIT1:應(yīng)用說它已經(jīng)完成#FIN_WAIT2:另一邊已同意釋放#ITMED_WAIT:等待所有分組死掉#CLOSING:兩邊同時嘗試關(guān)閉#TIME_WAIT:主動關(guān)閉連接一端還沒有等到另一端反饋期間的狀態(tài)#LAST_ACK:等待所有分組死掉netstat
-n
|
awk
'/^tcp/
{++state[$NF]}
END
{for(key
in
state)
key," ",state[key]}'#
查找較多time_wait連接netstat
-n|grep
TIME_WAIT|awk
$5}'|sort|uniq
-c|sort
-rn|head
-n20監(jiān)控linux性能命令top按大寫的F或O鍵,然后按a-z可以將進程按照相應(yīng)的列進行排序,然后回車。而大寫的R鍵可以將當(dāng)前的排序倒轉(zhuǎn)。PID
進程idPPID
父進程idRUSER
Real
user
nameUID
進程所有者的用戶idUSER
進程所有者的用戶名GROUP
進程所有者的組名TTY啟動進程的終端名。不是從終端啟動的進程則顯示為?PR
優(yōu)先級NInice值。負值表示高優(yōu)先級,正值表示低優(yōu)先級P
最后使用的CPU,僅在多CPU環(huán)境下有意義%CPU
上次更新到現(xiàn)在的CPU時間占用百分比TIME
進程使用的CPU時間總計,單位秒TIME+
進程使用的CPU時間總計,單位1/100秒%MEM
進程使用的物理內(nèi)存百分比VIRT進程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RESSWAP進程使用的虛擬內(nèi)存中,被換出的大小,單位kb。RES進程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATACODE
可執(zhí)行代碼占用的物理內(nèi)存大小,單位kbDATA
可執(zhí)行代碼以外的部分(數(shù)據(jù)段+棧)占用的物理內(nèi)存大小,單位kbSHR
共享內(nèi)存大小,單位kbnFLT
頁面錯誤次數(shù)nDRT最后一次寫入到現(xiàn)在,被修改過的頁面數(shù)。S進程狀態(tài)。D=不可中斷的睡眠狀態(tài),R=運行,S=睡眠,T=跟蹤/停止,Z=僵尸進程COMMAND
命令名/命令行WCHAN
若該進程在睡眠,則顯示睡眠中的系統(tǒng)函數(shù)名Flags
任務(wù)標(biāo)志,參考
sched.hdmesg,查看系統(tǒng)日志dmesgiostat,磁盤IO情況監(jiān)控iostat
-xz
1#r/s,w/s,rkB/s,wkB/s:分別表示每秒讀寫次數(shù)和每秒讀寫數(shù)據(jù)量(千字節(jié))。讀寫量過大,可能會引起性能問題。#await:IO操作的平均等待時間,單位是毫秒。這是應(yīng)用程序在和磁盤交互時,需要消耗的時間,包括IO等待和實際操作的耗時。如果這個數(shù)值過大,可能是硬件設(shè)備遇到了瓶頸或者出現(xiàn)故障。#avgqu-sz:向設(shè)備發(fā)出的請求平均數(shù)量。如果這個數(shù)值大于1,可能是硬件設(shè)備已經(jīng)飽和(部分前端硬件設(shè)備支持并行寫入)。#
%util:設(shè)備利用率。這個數(shù)值表示設(shè)備的繁忙程度,經(jīng)驗值是如果超過60,可能會影響IO性能(可以參照IO操作平均等待時間)。如果到達100%,說明硬件設(shè)備已經(jīng)飽和。#
如果顯示的是邏輯設(shè)備的數(shù)據(jù),那么設(shè)備利用率不代表后端實際的硬件設(shè)備已經(jīng)飽和。值得注意的是,即使IO性能不理想,也不一定意味這應(yīng)用程序性能會不好,可以利用諸如預(yù)讀取、寫緩存等策略提升應(yīng)用性能。free,內(nèi)存使用情況free
-meg:
total
used
free
shared
buffers
cachedMem:
1002
769
232
0
62
421-/+
buffers/cache:
286
715Swap:
1153
0
1153第一部分Mem行:total
內(nèi)存總數(shù):
1002Mused
已經(jīng)使用的內(nèi)存數(shù):
769Mfree
空閑的內(nèi)存數(shù):
232Mshared
當(dāng)前已經(jīng)廢棄不用,總是0buffers
Buffer
緩存內(nèi)存數(shù):
62Mcached
Page
緩存內(nèi)存數(shù):421M關(guān)系:total(1002M)=used(769M)+free(232M)第二部分(-/+buffers/cache):(-buffers/cache)used內(nèi)存數(shù):286M(指的第一部分Mem行中的used–buffers–cached)(+buffers/cache)
free內(nèi)存數(shù):
715M
(指的第一部分Mem行中的free
+
buffers
+
cached)可見-buffers/cache反映的是被程序?qū)崒嵲谠诔缘舻膬?nèi)存,而+buffers/cache反映的是可以挪用的內(nèi)存總數(shù).第三部分是指交換分區(qū)sar,查看網(wǎng)絡(luò)吞吐狀態(tài)#sar命令在這里可以查看網(wǎng)絡(luò)設(shè)備的吞吐率。在排查性能問題時,可以通過網(wǎng)絡(luò)設(shè)備的吞吐量,判斷網(wǎng)絡(luò)設(shè)備是否已經(jīng)飽和。sar
-n
DEV
1##sar命令在這里用于查看TCP連接狀態(tài),其中包括:#active/s:每秒本地發(fā)起的TCP連接數(shù),既通過connect調(diào)用創(chuàng)建的TCP連接;#passive/s:每秒遠程發(fā)起的TCP連接數(shù),即通過accept調(diào)用創(chuàng)建的TCP連接;#retrans/s:每秒TCP重傳數(shù)量;#TCP連接數(shù)可以用來判斷性能問題是否由于建立了過多的連接,進一步可以判斷是主動發(fā)起的連接,還是被動接受的連接。TCP重傳可能是因為網(wǎng)絡(luò)環(huán)境惡劣,或者服務(wù)器壓力過大導(dǎo)致丟包sar
-n
TCP,ETCP
1vmstat,給定時間監(jiān)控CPU使用率,內(nèi)存使用,虛擬內(nèi)存交互,IO讀寫#2表示每2秒采集一次狀態(tài)信息,1表示只采集一次(忽略既是一直采集)vmstat
2
1eg:r
b
swpd
free
buff
cache
si
so
bi
bo
in
cs
us
sy
id
wa1
0
0
3499840
315836
3819660
0
0
0
1
2
0
0
0
100
00
0
0
3499584
315836
3819660
0
0
0
0
88
158
0
0
100
00
0
0
3499708
315836
3819660
0
0
0
2
86
162
0
0
100
00
0
0
3499708
315836
3819660
0
0
0
10
81
151
0
0
100
01
0
0
3499732
315836
3819660
0
0
0
2
83
154
0
0
100
0r表示運行隊列(就是說多少個進程真的分配到CPU),我測試的服務(wù)器目前CPU比較空閑,沒什么程序在跑,當(dāng)這個值超過了CPU數(shù)目,就會出現(xiàn)CPU瓶頸了。這個也和top的負載有關(guān)系,一般負載超過了3就比較高,超過了5就高,超過了10就不正常了,服務(wù)器的狀態(tài)很危險。top的負載類似每秒的運行隊列。如果運行隊列過大,表示你的CPU很繁忙,一般會造成CPU使用率很高。b表示阻塞的進程,這個不多說,進程阻塞,大家懂的。swpd虛擬內(nèi)存已使用的大小,如果大于0,表示你的機器物理內(nèi)存不足了,如果不是程序內(nèi)存泄露的原因,那么你該升級內(nèi)存了或者把耗內(nèi)存的任務(wù)遷移到其他機器。free空閑的物理內(nèi)存的大小,我的機器內(nèi)存總共8G,剩余3415M。buffLinux/Unix系統(tǒng)是用來存儲,目錄里面有什么內(nèi)容,權(quán)限等的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北工藝美術(shù)職業(yè)學(xué)院《地下工程項目管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 硅湖職業(yè)技術(shù)學(xué)院《信息系統(tǒng)分析與設(shè)計實訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025河南省安全員A證考試題庫附答案
- 2025山西省建筑安全員知識題庫
- 南京理工大學(xué)泰州科技學(xué)院《機械CAD-CAM》2023-2024學(xué)年第二學(xué)期期末試卷
- 石家莊城市經(jīng)濟職業(yè)學(xué)院《美術(shù)鑒賞》2023-2024學(xué)年第二學(xué)期期末試卷
- 云南現(xiàn)代職業(yè)技術(shù)學(xué)院《汽車標(biāo)準(zhǔn)與法規(guī)》2023-2024學(xué)年第二學(xué)期期末試卷
- 電梯保養(yǎng)合同-文書模板
- 2024年中學(xué)教學(xué)年終工作總結(jié)范本
- 新本月工作計劃
- 【上?!康谝淮卧驴季?1【20~21章】
- 2025年東營科技職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年企業(yè)中高層安全第一課:安全責(zé)任意識強化專題培訓(xùn)
- 2025年上半年中煤科工集團商業(yè)保理限公司招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 英語-九師聯(lián)盟2025屆高三年級上學(xué)期1月質(zhì)量檢測試題和答案
- 流行性感冒診療方案(2025年版)
- 2024CSCO免疫檢查點抑制劑相關(guān)的毒性管理指南
- 《影像增強檢查外周靜脈通路三級評價模式應(yīng)用規(guī)范》編制說明
- 2025年社區(qū)計生工作計劃(三篇)
- 2025江西上饒經(jīng)濟技術(shù)開發(fā)區(qū)招商集團限公司招聘29人高頻重點提升(共500題)附帶答案詳解
- 石油行業(yè)海洋石油勘探與開發(fā)方案
評論
0/150
提交評論