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 不換行輸出