Linux系統(tǒng)有哪些常用的組合命令
命令是Linux系統(tǒng)的根基,而有時候單個命令不能實現(xiàn)復雜功能時候,我們可以用組合命令實現(xiàn)。下面由學習啦小編為大家整理了Linux系統(tǒng)組合命令的常見使用方式,希望對大家有幫助!
Linux系統(tǒng)常用的組合命令說明
Linux組合命令使用
1,殺死某個執(zhí)行某個程序的進程
ps -ef | grep MultiThreadPrint.bin | awk '{ print $2; }' | xargs kill -9
2,找出文本文件的記錄中主鍵不重復的條數(shù)
awk -F'|' '{print $1}' | sort | uniq | wc -l
3,壓縮文件時排除某些目錄
tar -czvf test.tar.gz test--exclude=test/data --exclude=test/dir
4,定時全庫導出Oracle的腳本,一度在oracle下創(chuàng)建定時任務,不能搞定環(huán)境變量的問題,后來在root用戶下創(chuàng)建定時任務,再
su - oracle -c “export outfile=`date +%Y%m%d_%H%M`;exp system/manager@testdb full=y file=wostore.db${outfile}.dmp;gzip *.dmp;",搞定問題
5,HP-UX下計算Oracle鏈接數(shù)
netstat -na | grep .1521 | wc -l
6,給網(wǎng)卡增加綁定的IP
ifconfig bond0:0 10.95.98.45 netmask 255.255.255.128 up
7,服務器抓包
tcpdump -i bond0 -s 0 port 9999 -w test.cap
8,查詢cpu占用率最高的Java線程
a,設置環(huán)境變量允許產(chǎn)生core文件,ulimited -c 2048000000
b,在日志文件中打印堆棧信息,kill -3 pid
c,查詢cpu占用率最高的線程ps h -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
d,將線程號轉成16進制,在日志文件的堆棧信息中找到對應的線程的堆棧信息。
8,查找CPU占用率最高的線程
ps -eLf | sort -k 9,9
9,從文件夾中找含有指定字符串的文件
find ./ -name *.log | xargs grep "ERROR"
10,查找文件大于10M的文件,并顯示其文件大小
find ./ -size +10240k -exec ls -l {} /;
11,從文件某行截取到末尾
awk 'n==1{print} $0~/-------------/{n=1}' yourfile
grep -A 100 "\------" yourfile | grep -v "\-----"
sed -n '/-------------/,$ p' yourfile
Linux系統(tǒng)里常用的組合命令
任務
命令組合
1
刪除0字節(jié)文件
find . -type f -size 0 -exec rm -rf {} \;
find . type f -size 0 -delete
2
查看進程,按內(nèi)存從大到小排列
ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
3
按cpu利用率從大到小排列
ps -e -o "%C : %p : %z : %a"|sort -nr
4
打印說cache里的URL
grep -r -a jpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}'
5
查看http的并發(fā)請求數(shù)及其TCP連接狀態(tài)
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
6
sed在這個文里Root的一行,匹配Root一行,將no替換成yes。
sed -i '/Root/s/no/yes/' /etc/ssh/sshd_config
7
如何殺掉mysql進程
ps aux |grep mysql |grep -v grep |awk '{print $2}' |xargs kill -9
killall -TERM mysqld
kill -9 `cat /usr/local/apache2/logs/httpd.pid`
8
顯示運行3級別開啟的服務(從中了解到cut的用途,截取數(shù)據(jù))
ls /etc/rc3.d/S* |cut -c 15-
9
如何在編寫SHELL顯示多個信息,用EOF
cat << EOF
+--------------------------------------------------------------+
| === Welcome to Tunoff services === |
+--------------------------------------------------------------+
EOF
10
for的用法(如給mysql建軟鏈接)
cd /usr/local/mysql/bin
for i in *
do ln /usr/local/mysql/bin/$i /usr/bin/$i
done
11
取IP地址
ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-
ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' |cut -d: -f2 | awk '{ print $1}'
12
內(nèi)存的大小
free -m |grep "Mem" | awk '{print $2}'
13
查看80端口的連接,并排序
netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort
14
查看Apache的并發(fā)請求數(shù)及其TCP連接狀態(tài)
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
15
統(tǒng)計一下服務器下面所有的jpg的文件的大小
find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'
16
CPU的數(shù)量
cat /proc/cpuinfo |grep -c processor
17
CPU負載
cat /proc/loadavg
18
CPU負載
mpstat 1 1
19
內(nèi)存空間
free
20
磁盤空間
df -h
21
如發(fā)現(xiàn)某個分區(qū)空間接近用盡,可以進入該分區(qū)的掛載點,用以下命令找出占用空間最多的文件或目錄
du -cks * | sort -rn | head -n 10
22
磁盤I/O負載
iostat -x 1 2
23
網(wǎng)絡負載
sar -n DEV
24
網(wǎng)絡錯誤
netstat -i
cat /proc/net/dev
25
網(wǎng)絡連接數(shù)目
netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n
26
進程總數(shù)
ps aux | wc -l
27
查看進程樹
ps aufx
28
可運行進程數(shù)目
vmwtat 1 5
29
檢查DNS Server工作是否正常,這里以61.139.2.69為例
dig www.baidu.com @61.139.2.69
30
檢查當前登錄的用戶個數(shù)
who | wc -l
31
日志查看、搜索
cat /var/log/rflogview/*errors
grep -i error /var/log/messages
grep -i fail /var/log/messages
tail -f -n 2000 /var/log/messages
32
內(nèi)核日志
dmesg
33
時間
date
34
已經(jīng)打開的句柄數(shù)
lsof | wc -l
35
網(wǎng)絡抓包,直接輸出摘要信息到文件。
tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts
36
然后檢查IP的重復數(shù) 并從小到大排序 注意 "-t\ +0" 中間是兩個空格,less命令的用法。
less pkts | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\ +0
37
kudzu查看網(wǎng)卡型號
kudzu --probe --class=network