Linux運維常用指令碼整理
在日常工作過程中,經常要對伺服器進行一些操作,整理了一些常用的一句話shell命令,使運維人員工作起來更加得心應手,如果您有什麼好的一句話指令碼,歡迎留言!
1、查詢當前目錄下佔用為0位元組的檔案並刪除
find ./ -type f -size 0 -exec rm -rf {}\; #此命令不要用於對根目錄0位元組檔案的操作
2、將系統程序按記憶體佔用大小排列顯示出來
ps -e -o “%C : %p : %z : %a”|sort -k5-nr
3、將系統程序按CPU佔用大小排列顯示
ps -e -o “%C : %p : %z : %a”|sort -nr
4、匹配某檔案中某一行並進行內容替換
sed -i ‘/Root/s/no/yes’/etc/ssh/sshd_config #先匹配到Root,再將此行no替換為yes
5、顯示所有執行級別為3並開機啟動的服務
ls /etc/rc3.d/S* |cut -c 15- #rc3.d中S開頭即為執行級別3的服務,並用cut擷取第15個字元後面的內容
6、取得eth0網絡卡的IP地址
方法1:ifconfig | grep ‘inet addr:’| grep -v ’127.0.0.1′ | cut -d:-f2 | awk ‘{ print $1}’
方法2:ifconfig eth0 |grep “inet addr:” |awk ‘{print $2}’|cut -c 6-
7、TCP抓包工具分析80埠資料流
tcpdump -c 10000 -i eth0 -n dst port 80
8、查詢昨天的日期
date –date=yesterday
9、刪除所有空目錄
find /data -type d -empty -exec rm -rf {}; #最好不要在/目錄下執行此命令
10、刪除5天前的檔案
find /data -mtime +5 -type f -exec rm -rf{};
11、強制踢出終端使用者
pkill -KILL -t pts/1
12、將來自80埠的請求轉發到8080埠
iptables -A PREROUTING -p tcp -m tcp –dport80 -j DNAT –to-destination 127.0.0.1:8080
13、linux伺服器之間傳檔案
scp ~/[email protected]:/data/ #將個人主目錄下test.txt傳到遠端主機的/data目錄下
14、對大檔案進行分割
split -l 1000 message.log message #按每個檔案1000行來分割
split -b 5m message.log message #按每個檔案5M來分割