2014-07-09

linux 指令小記

Linux 最大的缺點就是安裝程式一定是落落長(configure, make, make install), 第二大缺點就是指令一久不用就忘會, 以下小記常用到的指令

[journalctl 查看最後幾行 log]
journalctl --unit=my.service | tail -n 300
journalctl -f tail 


刪除指定名稱的程序(process)
刪除 dnsmasq
ps aux | grep "^dnsmasq" | awk '{print $2}' | xargs  kill -9
但以上會刪到 kill 本身, 若起頭的 "執行身份" 是 nobody, 用以下限制刪除
ps aux | grep "^nobody.*dnsmasq" | awk '{print $2}' | xargs  kill -9
ps aux | grep "^.*nginx:\ .*process.*" | awk '{print $2}' | xargs  kill -9


常用找程式內資料
copy 去用避免常要重打(依需求)
find . -iregex ".*\.php\|.*\.htm\|.*\.html\|.*\.js\|.*\.java\|.*\.css\|.*txt\|.*\.xml" -exec grep -iHn "keyword" {} \;
find . -iregex ".*\.cpp\|.*\.cc\|.*\.c\|.*\.h\|.*\.hh\|.*\.mk\|.*Makefile\|.*\.java" -exec grep -iHn "keyword" {} \;
find . -iregex ".*\.cpp\|.*\.cc\|.*\.c\|.*\.h\|.*\.hh\|.*\.mk\|.*Makefile" -exec grep -iHn "keyword" {} \;
find . -iregex ".*\.cpp\|.*\.cc\|.*\.c\|.*\.h\|.*\.hh" -exec grep -iHn "keyword" {} \;
find . -iregex ".*\.mk\|.*Makefile" -exec grep -iHn "keyword" {} \;
find . -iregex ".*\.mk\|.*Makefile\|.*Kconfig" -exec grep -iHn "keyword" {} \;

// smb mount
// The command to mount user's MMC card, ps: user shares this as "g" using his notebook
smbmount //10.9.6.88/g /home/user/g -o user=username

// yocto, baytrail
只是燒 image
sudo dd if=core-image-sato-baytrail64.hddimg of=/dev/sdh;sync;
eject /dev/sdh

只是 format
dd if=/dev/zero of=/dev/sdh bs=1M count=512


// svn 切換 server ip
svn switch --relocate 原位置    新位置
[例]
svn switch --relocate http://10.1.22.219:8080/svn/source/product/Android/trunk_jb422 http://10.1.31.222:8080/svn/source/product/Android/trunk_jb422

// remove files by specified name

find . -iname ".svn" -exec rm -rf {} \;
find . -iname ".git" -exec rm -rf {} \;


// i.mx6 boot args
i.mx6 基本 bootargs 小記
set bootargs console=ttymxc3,115200 init=/init video=mxcfb0:dev=ldb,1024x768M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off fbmem=24M vmalloc=400M androidboot.console=ttymxc3 androidboot.hardware=freescale


// i.mx6 android image 燒錄
若你的 flash/sd 是 /dev/sdc 的話
sudo dd if=/dev/zero of=/dev/sdc bs=512 seek=1536 count=16
sudo dd if=u-boot.bin of=/dev/sdc bs=1k seek=1 skip=1
sudo dd if=boot.img of=/dev/sdc1
sudo dd if=recovery.img of=/dev/sdc2
sudo dd if=system.img of=/dev/sdc5


// ethernet 
#設 ip
ifconfig eth0 192.168.192.209 netmask 255.255.255.0
#設 ip, gateway
ip addr add 192.168.192.209/255.255.255.0 broadcast 192.168.192.1 dev eth0
#route path
route add -net 192.168.192.0 netmask 255.255.255.0 gw 192.168.192.1 dev eth0/*
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.192.1 dev eth0/*
route add default gw 192.168.192.1 dev eth0
# gateway
ip route add default via 192.168.192.1
ip route add 0.0.0.0/24 via 192.168.192.1 dev eth0
ip route add 192.168.192.0/24 via 192.168.192.1 dev eth0

cat /proc/net/route
# DNS
cat /system/etc/resolv.conf

// i2c
如果你有 i2c-util 工具時
/data/i2c-util /dev/i2c-2 58 e 0


// android keyevent
input keyevent POWER
input keyevent HOME
input keyevent BACK


// grep 尋找時排除某些不要的目錄或檔案


 grep -rin --exclude-dir={.git,temp,static_*} --exclude={*.po,*.pyc}  "$.ajax" .



// 備份 permissions/回復 permissions
#getfacl -R /var > var_permissions.acl
#setfacl --restore=var_permissions.acl


// 置換某位置下所有檔案的字串
例如 '賬號’ 要全改成 ‘帳號’  ,若想全置換的話不用 —include=
grep -rl --include=*.{html,php,dwt,lbi,js} "賬號" . | xargs sed -i  's/賬號/帳號/g’

在 Mac OS X 的話要這樣
grep -rl --include=*.{html,php,dwt,lbi,js} "賬號" . | xargs sed -i ""  's/賬號/帳號/g'




沒有留言:

張貼留言