Shell小程式

Inkscape的svg轉png檔

for i in *.svg;do inkscape $i --export-png=`echo $i | sed -e's/svg$/png/'`;done

Rename大量檔名

mkdir all;for i in *.svg;do cp $i all/多加字$i;done


Update金鑰有錯

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 123453efddef
#將123453efddef替换你apt-get update時錯誤的Key值

Mount可讀寫ntfs

mkdir -p /media/sdb1
mount -t ntfs-3g -o locale=zh_TW.utf8,umask=0 /dev/sdb1 /media/sdb1


Mount ISO檔

mkdir -p /media/iso1
mount -t iso9660 -o loop,utf8 xxx.iso /media/iso1


增加route規則

route add -net 192.168.1.0 netmask 255.255.255.0 gw x.x.x.x


去除windows的^M

sed -e "s/^M//g" filename > newfile;


製作大量縮小圖

for i in *.jpg; do convert -resize 20%x20% "$i" "small$i"; done;


Mysql的自動備份

#備份 xoops資料庫 /backup/mysql 目錄,删除30天之前的備份
mysqldump --opt --skip-lock-tables -u root /var/lib/xoops | gzip -9 > /backup/mysql/myweb.`date +%Y%m%d`.sql.gz
find /backup/mysql/ -type f -ctime +30 -exec rm {} \;

Vi文件內消去Windows下產生^M

用法 :%s/^M//g
   ^M 的按法 先按Ctrl-V 再按 Ctrl-M

Shell下多重檔案內容取代

grep "找的字" -Rn ./ | awk -F: '{print $1}' |xargs sed -i 's/找的字/替換字/g'

找出/var/log/syslog內遭dns denied的ip

cat /var/log/syslog|grep denied|awk '{print $7}'|sed 's/#.*$//g'|sort|uniq

找出ip及hostname及mac對應的電腦

nbtscan 120.118.3.0/24

找出除了本機電腦外所有電腦的狀況

tcpdump -i eth0 not host 120.118.2.73

找出ip電腦的流量狀況

tcptrack -i eth0 host 120.118.2.73