linux常用命令簡單介紹(netstat,awklinux常用命令,toplinux常用命令,tail,head,less,more,cat,nl)
1.netstat
netstat -tnl | grep 443 (查看443端口是否被占用)
root用戶,用netstat -pnl | grep 443 (還可顯示出占用本機443端口的進程PID)。 -a (all)顯示所有選項,默認不顯示LISTEN相關(guān) -t (tcp)僅顯示tcp相關(guān)選項 -u (udp)僅顯示udp相關(guān)選項 -n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。直接使用IP地址,而不通過域名服務(wù)器。 -l 僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài) -p 顯示建立相關(guān)鏈接的程序名 -r 顯示路由信息,路由表 -e 顯示擴展信息,例如uid等 -s 按各個協(xié)議進行統(tǒng)計 -c 每隔一個固定時間,執(zhí)行該netstat命令。
2. awk
awk '{pattern + action}' {filenames} 其中 pattern 表示 AWK 在數(shù)據(jù)中查找的內(nèi)容,而 action 是在找到匹配內(nèi)容時所執(zhí)行的一系列命令。花括號({})不需要在程序中始終出現(xiàn),但它們用于根據(jù)特定的模式對一系列指令進行分組。 pattern就是要表示的正則表達式,用斜杠括起來。 awk語言的最基本功能是在文件或者字符串中基于指定規(guī)則瀏覽和抽取信息,awk抽取信息后,才能進行其他文本操作。完整的awk腳本通常用來格式化文本文件中的信息。通常,awk是以文件的一行為處理單位的。awk每接收文件的一行,然后執(zhí)行相應(yīng)的命令,來處理文本。以空格為默認分隔符將每行切片,切開的部分再進行各種分析處理。 1).命令行方式 awk [-F field-separator] 'commands' input-file(s) 其中,commands 是真正awk命令,[-F域分隔符]是可選的。 input-file(s) 是待處理的文件。 在awk中,文件的每一行中,由域分隔符分開的每一項稱為一個域。通常,在不指名-F域分隔符的情況下,默認的域分隔符是空格。 2).shell腳本方式 將所有的awk命令插入一個文件,并使awk程序可執(zhí)行,然后awk命令解釋器作為腳本的首行,以便通過鍵入腳本名稱來調(diào)用。 相當于shell腳本首行的:#!/bin/sh 可以換成:#!/bin/awk 3).將所有的awk命令插入一個單獨文件,然后調(diào)用: awk -f awk-script-file input-file(s) 其中,-f選項加載awk-script-file中的awk腳本,input-file(s)跟上面的是一樣的。 常用命令: 以“:”分割,打印第一列內(nèi)容 cat /etc/passwd |awk -F ':' '{print $1}' cat /etc/passwd |awk -F ':' '{print $1"\t"$7}' 查找以”root”開頭的內(nèi)容 awk -F: '/^root/' /etc/passwd 搜索/etc/passwd有root關(guān)鍵字的所有行,并顯示對應(yīng)的shell awk -F: '/root/{print $7}' /etc/passwd 內(nèi)容引用于:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html
3. top
top命令是Linux下常用的性能分析工具,能夠?qū)崟r顯示系統(tǒng)中各個進程的資源占用狀況。 前五行是當前系統(tǒng)情況整體的統(tǒng)計信息區(qū)。下面我們看每一行信息的具體意義。 第一行,任務(wù)隊列信息,同 uptime 命令的執(zhí)行結(jié)果,具體參數(shù)說明情況如下: 14:06:23 — 當前系統(tǒng)時間 up 70 days, 16:44 — 系統(tǒng)已經(jīng)運行了70天16小時44分鐘(在這期間系統(tǒng)沒有重啟過的吆。 2 users — 當前有2個用戶登錄系統(tǒng) load average: 1.15, 1.42, 1.44 — load average后面的三個數(shù)分別是1分鐘、5分鐘、15分鐘的負載情況。 load average數(shù)據(jù)是每隔5秒鐘檢查一次活躍的進程數(shù),然后按特定算法計算出的數(shù)值。如果這個數(shù)除以邏輯CPU的數(shù)量,結(jié)果高于5的時候就表明系統(tǒng)在超負荷運轉(zhuǎn)了。 第二行,Tasks — 任務(wù)(進程),具體信息說明如下: 系統(tǒng)現(xiàn)在共有206個進程,其中處于運行中的有1個,205個在休眠(sleep),stoped狀態(tài)的有0個,zombie狀態(tài)(僵尸)的有0個。 第三行,cpu狀態(tài)信息,具體屬性說明如下: 5.9%us — 用戶空間占用CPU的百分比。 3.4% sy — 內(nèi)核空間占用CPU的百分比。 0.0% ni — 改變過優(yōu)先級的進程占用CPU的百分比 90.4% id — 空閑CPU百分比 0.0% wa — IO等待占用CPU的百分比 0.0% hi — 硬中斷(Hardware IRQ)占用CPU的百分比 0.2% si — 軟中斷(Software Interrupts)占用CPU的百分比 備注:在這里CPU的使用比率和windows概念不同,需要理解linux系統(tǒng)用戶空間和內(nèi)核空間的相關(guān)知識! 第四行,內(nèi)存狀態(tài),具體信息如下: 32949016k total — 物理內(nèi)存總量(32GB) 14411180k used — 使用中的內(nèi)存總量(14GB) 18537836k free — 空閑內(nèi)存總量(18GB) 169884k buffers — 緩存的內(nèi)存量 (169M) 第五行,swap交換分區(qū)信息,具體信息說明如下: 32764556k total — 交換區(qū)總量(32GB) 0k used — 使用的交換區(qū)總量(0K) 32764556k free — 空閑交換區(qū)總量(32GB) 3612636k cached — 緩沖的交換區(qū)總量(3.6GB) 備注: 第四行中使用中的內(nèi)存總量(used)指的是現(xiàn)在系統(tǒng)內(nèi)核控制的內(nèi)存數(shù),空閑內(nèi)存總量(free)是內(nèi)核還未納入其管控范圍的數(shù)量。納入內(nèi)核管理的內(nèi)存不見得都在使用中,還包括過去使用過的現(xiàn)在可以被重復(fù)利用的內(nèi)存,內(nèi)核并不把這些可被重新使用的內(nèi)存交還到free中去,因此在linux上free內(nèi)存會越來越少,但不用為此擔(dān)心。 如果出于習(xí)慣去計算可用內(nèi)存數(shù),這里有個近似的計算公式:第四行的free + 第四行的buffers + 第五行的cached,按這個公式此臺服務(wù)器的可用內(nèi)存:18537836k +169884k +3612636k = 22GB左右。 對于內(nèi)存監(jiān)控,在top里我們要時刻監(jiān)控第五行swap交換分區(qū)的used,如果這個數(shù)值在不斷的變化,說明內(nèi)核在不斷進行內(nèi)存和swap的數(shù)據(jù)交換,這是真正的內(nèi)存不夠用了。 第六行,空行。 第七行以下:各進程(任務(wù))的狀態(tài)監(jiān)控,項目列信息說明如下: PID — 進程id USER — 進程所有者 PR — 進程優(yōu)先級 NI — nice值。負值表示高優(yōu)先級,正值表示低優(yōu)先級 VIRT — 進程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RES RES — 進程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA SHR — 共享內(nèi)存大小,單位kb S — 進程狀態(tài)。D=不可中斷的睡眠狀態(tài) R=運行 S=睡眠 T=跟蹤/停止 Z=僵尸進程 %CPU — 上次更新到現(xiàn)在的CPU時間占用百分比 %MEM — 進程使用的物理內(nèi)存百分比 TIME+ — 進程使用的CPU時間總計,單位1/100秒 COMMAND — 進程名稱(命令名/命令行) 常用操作: top //每隔5秒顯式所有進程的資源占用情況 top -d 2 //每隔2秒顯式所有進程的資源占用情況 top -c //每隔5秒顯式進程的資源占用情況,并顯示進程的命令行參數(shù)(默認只有進程名) top -p 12345 -p 6789//每隔5秒顯示pid是12345和pid是6789的兩個進程的資源占用情況 top -d 2 -c -p 123456 //每隔2秒顯示pid是12345的進程的資源使用情況,并顯式該進程啟動的命令行參數(shù) 該內(nèi)容轉(zhuǎn)自:http://www.cnblogs.com/peida/archive/2012/12/24/2831353.html http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316399.html
上一個教程:Linux的使用及常規(guī)命令
下一個教程:Linux httpd命令