DBA知道這17條Linux命令,就夠了!

資料和雲發表於2020-03-27

1. 按oracleSID來查詢連線資料庫的客戶端IP

netstat -anpT | grep oracleSID | awk '{print $5}' | grep -o -E  '1.*:' | awk -F ':' '{print $1}' | sort

2. 按監聽埠1521來查詢連線資料庫的客戶端IP

netstat -anpT | grep 1521 | awk '{print $5}' | grep -o -E  '1.*:' | awk -F ':' '{print $1}' | sort

3. 殺掉資料庫伺服器上連線資料庫oracleSID的客戶端的程式

kill -9 `ps -ef | grep oracleSID | grep LOCAL=NO | grep -v grep | awk '{print $2}'`

4. 刪掉某個使用者userA下面的所有程式

pkill -9 -u userA

5. 查詢連線1521埠的process程式數

netstat -pan |grep 1521 |wc -l

6. 查詢來自某臺伺服器192.168.21.15的連線的process程式數

netstat -pan |grep  192.168.21.15 |wc -l

7. 彙總連線1521埠的每個客戶端IP的連線數

netstat -apnT|grep 1521 |awk  '{print $5}'|sort -u |grep -v 1521 |grep -v '*' |awk -F ':'  '{print $4}'|uniq -c |sort -nrnetstat -anpT|grep 1521 |awk  '{print $5}'|grep -o -E  '1.*:' |awk -F ':' '{print $1}' | sort |uniq -c |sort -nr

8. 顯示前10個佔用空間最大的檔案或目錄 

du -s * | sort -nr | head

9. 統計某一天的所有檔案的總量大小 

ls --full-time `find ./* -name "log_*.bak"` | grep '2016-05-09' | awk '{print $9}' | xargs du -ck

10. 刪除幾天前的檔案 

find /mitac/mds/arch/ -ctime +150 -exec rm -rf {} \;--常用 find /mitac/mds/arch/ -name '*836701255.dbf' -ctime +150 -exec rm -rf {} \;--刪除以836701255.dbf結尾,150天前被修改過的檔案

11. CPU佔用最多的前10個程式: 

ps auxw|head -1;ps auxw|sort -rn -k3|head -10

12. 記憶體消耗最多的前10個程式 

ps auxw|head -1;ps auxw|sort -rn -k4|head -10

  13. 虛擬記憶體使用最多的前10個程式 

ps auxw|head -1;ps auxw|sort -rn -k5|head -10 top後按1,可以看到多少個cpu,按shift+p則按cpu排序,按shift+m則按記憶體排序

14. vi替換所有字串,如下把1都換成2

:%s/1/2/g

15. 檢視IO資訊,如下 每1秒顯示一次,一共顯示3次,顯示為MB

iostat -d -x -m 1 3

16. 檢視cp一個檔案file1到/u01目錄下需要多長時間

time cp file1 /u01/

17. 檢視CPU某段時間比如7:00到9:00期間的使用率

sar -s 07:00:00 -e 10:00:00

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556440/viewspace-2682919/,如需轉載,請註明出處,否則將追究法律責任。

相關文章