歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux系統常用的組合命令說明

Linux系統常用的組合命令說明

日期:2017/8/19 9:45:41   编辑:Linux技術

  Linux系統的每個命令都有不同的功能,當他們組合在一起時會產生更不一樣的效果。下面由學習啦小編為大家整理了Linux系統組合命令的常見使用方式,希望對大家有幫助!

  Linux系統常用的組合命令說明

  Linux組合命令使用

  1,殺死某個執行某個程序的進程

  ps -ef | grep MultiThreadPrint.bin | awk '{ print $2; }' | xargs kill -9

  2,找出文本文件的記錄中主鍵不重復的條數

  awk -F'|' '{print $1}' | sort | uniq | wc -l

  3,壓縮文件時排除某些目錄

  tar -czvf test.tar.gz test--exclude=test/data --exclude=test/dir

  4,定時全庫導出Oracle的腳本,一度在oracle下創建定時任務,不能搞定環境變量的問題,後來在root用戶下創建定時任務,再

  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鏈接數

  netstat -na | grep .1521 | wc -l

  6,給網卡增加綁定的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,設置環境變量允許產生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系統裡常用的組合命令

任務

命令組合

1

刪除0字節文件

find . -type f -size 0 -exec rm -rf {} \;
find . type f -size 0 -delete

2

查看進程,按內存從大到小排列

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的並發請求數及其TCP連接狀態

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的用途,截取數據)

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

內存的大小

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的並發請求數及其TCP連接狀態

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

15

統計一下服務器下面所有的jpg的文件的大小

find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'

16

CPU的數量

cat /proc/cpuinfo |grep -c processor

17

CPU負載

cat /proc/loadavg

18

CPU負載

mpstat 1 1

19

內存空間

free

20

磁盤空間

df -h

21

如發現某個分區空間接近用盡,可以進入該分區的掛載點,用以下命令找出占用空間最多的文件或目錄

du -cks * | sort -rn | head -n 10

22

磁盤I/O負載

iostat -x 1 2

23

網絡負載

sar -n DEV

24

網絡錯誤

netstat -i
cat /proc/net/dev

25

網絡連接數目

netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n

26

進程總數

ps aux | wc -l

27

查看進程樹

ps aufx

28

可運行進程數目

vmwtat 1 5

29

檢查DNS Server工作是否正常,這裡以61.139.2.69為例

dig www.baidu.com @61.139.2.69

30

檢查當前登錄的用戶個數

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

內核日志

dmesg

33

時間

date

34

已經打開的句柄數

lsof | wc -l

35

網絡抓包,直接輸出摘要信息到文件。

tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts

36

然後檢查IP的重復數 並從小到大排序 注意 "-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查看網卡型號

kudzu --probe --class=network


Copyright © Linux教程網 All Rights Reserved