在日常工作過程中,經常要對服務器進行一些操作,整理了一些常用的一句話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來分割