linux常用命令大全新手入門_第1頁
linux常用命令大全新手入門_第2頁
linux常用命令大全新手入門_第3頁
linux常用命令大全新手入門_第4頁
linux常用命令大全新手入門_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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

'{print

$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

‘{print

$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/)

print

$0}'

/etc/passwd

#

統(tǒng)計單個文件中某個字符(串)(中文無效)出現(xiàn)的次數(shù)awk

-v

RS='character'

'END

{print

--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

'{print

$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)

print

key," ",state[key]}'#

查找較多time_wait連接netstat

-n|grep

TIME_WAIT|awk

'{print

$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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論