Linux系統命令
1. ls
查看某個 目錄下 全部文件的大小總和
ls -lR| awk 'BEGIN{size=0;} /^[-l]/{size+=$5;print $0;} END{print "all size:"size/1024/1024 "M"}'
解釋:awk的 中間部分 引用了 正則表達式, /^[-l]/{size+=$5;print $0;}
2. 腳本中執行命令:
/usr/local/bin/cmd -d 2>>/tmp/info.txt &
2.1 後臺符號 &必定要放在整個命令最後。
2.2 >,>>必定緊跟着重定向文件
2.3 若是是 文件輸出 1 stdout,2 stderr 要重定向到別的文件,也是緊跟>,>>符號。
若是 cmd 命令包含參數, 須要與>> 用空格隔開
cmd 2 >>/tmp/info.txt /*這裏2 就是cmd的參數*/
2.4 若是想讓stderr也跟 stdout同樣輸出到文件,使用
/usr/local/bin/cmd >file 2>&1
3. tcpdump
抓包:tcpdump -i eth0 -C 5 -w eth0.pcap
-C 5 每一個包大小爲5M。
4. pmap
查看進程佔用內存:
pmap -x pid | grep 'anon' | awk 'BEGIN{}{sum += $2} END {print sum}'
5. find
find . -regextype posix-egrep -regex ".*utm_(uids|extend|event).*"
find查找匹配正則表達式
6. top
top -b -n 1 -d 1 >info.txt
將top命令的第一幀寫入 info.txt文件中
-n 1一幀
-d 1間隔1s
-b batch mode 只有這種模式才能寫入文件
-d 1是參數,因此 與 >之間要加個空格,不然解析成 1 stdout,-d 就沒有option,命令解析錯誤。
7.sed
sed "s/str1/str2/g" file
將 file文件中每行的 str1替換爲str2輸出
sqlite 數據庫命令
1. 查詢命令
每一個數據庫中都有一個表sqlite_master ,裏面代表存在有哪些表,哪些索引?用來判斷某個表 是否存在
select * from sqlite_master where (type='table') and (name='table名')
版本管理命令
svn 命令
1. status命令
svn st | grep ^M | awk '{ print $2}' | xargs md5sum
求修改的文件的MD5碼,通常比對使用
2. merge命令,
svn merge -r 1:2 URL .
(1,2] 將 URL 指定的版本的 1版本提交後到2版本的改變 合併到當前版本
3. diff命令
svn diff -r N:M
(N,M]顯示 版本N到版本M以前的更改