一些命令及參數

du -sh:查看某文件大小java

sh -x 腳本名稱:檢測腳本錯誤node

vim +行數:定位到內容的錯誤行數linux

dir 目錄 查看目錄ios

factor 分解因數nginx

exit 直接結束循環體c++

break 結束整個循環體(最近一個循環)跳出當前循環vim

continue 結束當次循環,進入下一次循環windows

reture(函數裏用到)從哪調用函數回哪緩存

 nl 讀取文件內容並顯示行號服務器

cat -n 查看並顯示行號

 

查看cpu相關信息:cat /proc/cpuinfo

at /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l   #物理cpu個數

cat /proc/cpuinfo | grep "processor" | wc -l  #邏輯cpu個數(全部物理cpu全部核數相加)

查看內存 free

buffers:buffer cache針對磁盤塊讀寫的磁盤緩存大小

cached:cached cache針對文件inode讀寫的磁盤緩存大小

-buffers/cache:真正被用於程序佔用的內存數(used-buffers-cached)

+buffers/cache:可用的內存數(free+buffers+cache)

 

查看硬盤使用狀況

分區信息 fdisk -l     文件系統  df

df -m 以m方式顯示 -k kb方式顯示 -h 以kb/mb/gb顯示  -i 以inode數量顯示 -a 顯示全部文件系統 -T顯示文件系統類型 -H以1024=1000方式顯示

查看目錄大小 du    -s顯示總量  -S不包括子目錄 -a顯示全部 -c總計 -h -m -k

查看硬盤的I/O性能  iostat

iostat -x -k 1 3 #每秒一次共三次

%util:一秒中I/O操做時間的百分比,即一秒內有多少時間I/O隊列是非空的,若接近%100表示I/O請求過多,超負荷,磁盤存在瓶頸

await:平均每次設備I/O操做的等待時間,通常應低於5ms,若大於5ms表示磁盤I/O壓力大,應升級硬件或調優

查看系統平均負載 uptime   w   top

主要是load average 1分鐘 5分鐘 15 分鐘的平均進程的數量 

top能夠查看進程優先級,cpu使用率,內存使用率

top -b -n1 >/top.txt 導入一個文件中再查看 cat /top.txt

VIRT #虛擬內存用量

RES #物理內存用量

SHR #共享內存用量

%MEM #內存用量

系統總體性狀態    vmstat

 

jstack

jstack用於打印出給定的java進程ID或core file或遠程調試服務的java堆棧信息,若是是在64位機器上,須要指定選項"-J-d64"

,windows的jstack使用方式只支持一下的這種方式:

jstack [-l] pid

若是java程序崩潰生成core文件,jstack工具能夠用來獲取core文件的java stack和native stack的信息,從而能夠輕鬆知道java程序是如何崩潰和在程序何處發生問題。另外,jstack工具還能夠附屬在正在運行的java程序中,看到當時運行的java程序的java stack和native stack的信息,若是如今運行的java程序呈現hung的狀態,jstack是很是有用的

格式

jstack [option] pid

jstack [option] executable core

jstack [option] [server-id@]remote-hostname-or-IP

參數說明

option:executable java executable from which the core dump was produced(多是產生core dump的java可執行程序)

core將被打印信息的core dump文件

remote-hostname-or-IP遠程debug服務的主機名或ip

server-id惟一id,假如一臺主機上多個遠程debug服務

說明:

-F:當‘jstack[-l]pid’沒有相應的時候強制打印棧信息

-l:長列表,打印關於鎖的附加信息,例如屬於java.util.concurrent的ownable synchronizers列表

-m:打印java和native c/c++框架的全部棧信息

-h | -help:打印幫助信息

pid:須要被打印配置信息的java進程id,能夠用jps查詢

dmesg

dmesg命令被用於檢查和控制內核的環形緩衝區。kernel會將開機信息存儲在ring buffer中。您如果開機時來不及查看信息,可利用dmesg來查看。開機信息保存在/var/log/dmesg文件裏

-c:顯示信息後,清除ring buffer中的內容;

-s<緩衝區大小>:預設置爲8196,恰好等於ring buffer的大小;

-n:設置記錄信息的層級

dmidecode命令可讓你在Linux系統下獲取有關硬件方面的信息

來自: http://man.linuxde.net/dmesg

 查詢某命令來自光盤鏡像源裏的哪一個軟件包 yum provides */scp

校準系統時間 date 12211604 格式讀做 12月21日16點04分

建立用戶免交互輸入密碼方式:echo "密碼" | passwd --stdin 用戶名 & > /dev/null

 

針對系統的一些參數查看方法

查看linux系統有幾顆物理cpu和每顆cpu的核數

cat /proc/cpuinfo | grep -c "physical id" #查看幾顆cpu    grep -c "processor" #查看邏輯cpu核數

cat /proc/cpuinfo | grep "physical id " | sort | uniq | wc -l   #物理cpu個數

cat /proc/cpuinfo | grep "cpu cores" | uniq  #每一個cpu核數

查看系統負載

命令:w/uptime  #load average 就是系統負載 三數值表示 1min 5min 15min內系統的平均負載(平均任務數)

vmstat顯示分別表示什麼意思

r #正在跑的任務數

b #被阻塞的任務數

si #從交換分區讀入內存

so #從內存寫入交換分區

bi #從磁盤讀入內存

bo #從內存寫入磁盤

 查看網卡流量/查看歷史網卡流量

安裝sysstat 使用sar命令查看

sar -n DEV #查看網卡流量,默認以10min更新一次

sar -n DEV 1 10 #1s顯示一次,一共顯示10次

sar -n DEV  -f /var/log/sa/sa22 #查看指定日期的流量日誌

系統進程

ps aux /ps -elf

ps查看系統進程,一列爲STAT 當前進程的stat爲Ss /Z表示:

S #表示休眠 s #表示主進程 Z #表示殭屍進程

查看端口

netstat -lnp

查看網絡鏈接狀態

netstat -an

hostname #查看主機名  hostname 主機名   #修改主機名     永久生效就須要修改配置 /etc/sysconfig/network

設置DNS修改配置文件:/etc/resolv.conf 中設置  或者 /etc/sysconfig/network-scripts/網卡名  裏設置

iptables 一條規則拒絕ip 訪問本機80端口:

iptables -I INPUT -s ip地址 -p tcp --dport 80 -j REJECT

iptables 規則導出保存一個文件中/恢復:

使用iptables-save重定向到文件中:iptables-save > 1.ipt

使用iptables-restore反重定向回來:iptables-restore < 1.ipt

 檢查網卡是否鏈接交換機:mii-tool 網卡名       /mii-tool 網卡名

網卡/硬盤有問題使用命令dmesg

關閉不須要的服務命令ntsysv/chkconfig servicename off

一個腳本運行超過2天,要使其不間斷運行且有 信息輸出 使用screen工具

抓包只過濾訪問http服務的+ip,共1000個包且保存到一個文件中 tcpdump -nn -s0 host ip地址 and port 80    -c 1000 -w 文件名

rsync作同步數據時,能夠過濾一些不須要的文件  --exclude=  "文件名"

rsync同步時,目標 文件比源文件還新,要忽略 使用-u或者--update

要訪問 某個網站沒有作網站域名解析  在/etc/hosts 文件中            作映射   格式爲:ip  域名  或者使用curl -x

查看系統的歷史負載    sar -q -f       /var/log/sa/sa日期

指定DNS服務器來解析某個域名    使用dig命令 :dig @DNSip 域名

rsync同步數據,使用ssh方式 指定目標sshd端口 :rsync "--rsh=ssh -p 端口"或者rsync -e "ssh -p 端口"

ls | grep -Ev 'home' | xargs du -sh #統計除家目錄外的其餘目錄文件大小
du -sh* #統計當前目錄內的文件大小
df -vh #查看磁盤使用狀況

dmesg -H #存放硬件故障信息,「Kernel Ring Buffer 」(內核環狀緩衝區)

 

文件系統:指定調整的文件系統或者其對應的設備文件名

e2label  位置/sbin/e2label  用來設置第二擴展文件系統的卷標

tune2fs 位置/sbin/tune2fs   tune2fs命令容許系統管理員調整「ext2/ext3」文件系統中的可該參數

 

磁盤的uuid位置及查看它們之間的關係

ls -l /dev/disk/by-uuid/

 nohup命令 用戶退出系統進程繼續工做

nohup命令能夠將程序以忽略掛起信號的方式運行起來,被運行程序的輸出信息將不會顯示到終端。

不管是否將nohup命令的輸出重定向到終端,輸出都將寫入到當前目錄的nohup.out文件中。若是當前目錄的nohup.out文件不可寫,則輸出重定向到$HOME/nohup.out文件中

 

strace跟蹤進程的系統調用

 strace -tt -f -o /tmp/test.txt /usr/local/nginx/sbin/nginx     -tt 加上時間信息 -f 跟蹤目標進程及目標的進程產生的子進程 -o將跟蹤到的信息輸出到目標文件中

-e trace=file 只跟蹤與文件操做有關的系統調用

-c 爲進程全部的系統調用作一個統計分析

-T 將每一個系統調用所花費的時間打印出來

ltrace 跟蹤進程調用庫函數

 

echo -e 處理特殊字符

echo- n 不換行輸出

相關文章
相關標籤/搜索