2013年2月25日 星期一

note

make a patch
diff -Naur old new > patch_file
patch -pN < patch_file 更新
patch -R -pN < patch_file 還原

Run X client in linux console
DISPLAY=:0.0 gnome-terminal

ubuntu compizconfig
sudo apt-get install compizconfig-settings-manager


vim replace
s/a>\r\(.*\)<\/span>/{\\bf \1}/

%s/\(.*\)<\/span>/\\section{\1}/gc

:s/\(.*\)<\/b>/{\\bf \1}/



vim 按下某 key, 產生某字串 by _13h:

1 :nmap<C-a> o\begin{verbatim}<esc>
2 :nmap<C-w> o\end{verbatim}<esc>
3 :imap <c-a> iaaa <esc>


Dropbox for Linux

網站雖然有 linux dropbox tool,
但是拜其 opensource 之賜, 在 debian 裡頭,
apt-get install dropbox
輕鬆搞定。

在 unix/linux 系統, 用指令找出硬碟裡的大檔案



du ' sort 以及 head 三個 三個常見的指令
du -cks * | sort -rn | head -11
alias hunter='du -cks * | sort -rn | head -11'


svn "gnome keyring" issue

http://old.nabble.com/disable-warning-about-gnome-keyring--td23506009.html

create config file
svn --config-dir /tmp/svn-config help

see the setting
password-stores = kwallet


模擬器:


ref: http://wei-hu-tw.blogspot.com/2007/11/embedded-linux.html
名稱    用途    官方網站
PearPC    模擬 PowerPC    http://pearpc.sourceforge.net
ARMphetamine    模擬 ARM(發展中止)    http://armphetamine.sourceforge.net/
Tarmac    模擬 ARM(發展中止)    http://davidsharp.com/tarmac/
SkyEye    模擬 ARM    http://www.skyeye.org/
ARMware    模擬 ARM    http://www.csie.ntu.edu.tw/~r88052/ARMware/tw/frame.html
表:常見的嵌入式平台模擬器



vsftpd.conf
anonymous 的設定, 可以 overwirte 檔案。

anon_umask=022
anon_other_write_enable=YES

windows shutdown
C:\WINDOWS\system32\at.exe 2:00 Shutdown -s

add svn version in source code


add $Rev$ to string.

svn propset svn:keywords "Rev" style.css


ref: http://dev.juokaz.com/php/automatic-svn-revision-number-in-source-code


在 maklefile 中使用 ifeq 和 or

$(filter ,)
名稱:過濾函數——filter。
功能:以模式過濾字符串中的單詞,保留符合模式的單詞。可以有多個模式。
返回:返回符合模式的字串。


ex:
if SELECT_A==y || SELECT_B==y
ifeq (y, $(filter $(SELECT_A) $(SELECT_B), y))



goto head file in vim

by ptt timTan


在 你的 header file 上按 gf 或是 ctrl w + f
vim 預設會在 .,/usr/include 這兩個地方找 檔案。
你的 project header 如果 是放在 /your/pwd/header/
請在你的 vimrc 上多做一件事 set path+=/your/pwd/header/

當然,cscope 也是不錯的好工具。


NFS root support linux kernel config

│ │ [*] Networking support --->

│ │ Networking options --->

│ │ [*] IP: kernel level autoconfiguration
│ │ [*] IP: DHCP support


│ │ File systems --->
│ │ [*] Network File Systems --->

│ │ <*> NFS client support
│ │ [*] Root file system on NFS

煮飯口訣

內鍋水量: 米 X 1.2
外鍋水量: 米 X 0.5

稀飯:
內鍋水量: 米 X 6
外鍋水量: 米 X 0.5

兩人份飯:
1.5 杯的米

兩人份粥:
0.8 ~ 1 杯的米


BBSFox 2.0.21

在 firefox 下玩 bbs:
https://addons.mozilla.org/en-us/firefox/addon/bbsfox/
安裝完畢之後, 在網址列打 telnet://ptt.cc 就會連到 ptt 了。

hot key : chrome://bbsfox/locale/help.htm

利用簡單的 Shell Script 抓你的 IP:

http://www.ylarge.com.tw/cms/article/27/220.html

# ifconfig eth0 | grep "inet addr" | tr -s ' ' ' ' | cut -d ' ' -f3 | cut -d ':' -f2

samba access symbolic link
ref: http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=128058
edit smb.conf

follow symlinks = yes
unix extensions = no
wide links = yes


從 file command 得到 mime type


file -i a.tar

a.tar: application/x-tar; charset=binary


使用 smbclient copy smb server 檔案


ref: http://www.linuxso.com/command/smbclient.html
--user username%passwd, 此例子的密碼是空字串 ''


get <remote file name> [local file name]
           Copy the file called remote file name from the server to the
           machine running the client. If specified, name the local copy local
           file name. Note that all transfers in smbclient are binary. See
           also the lowercase command.


from samba server copy to local
$ smbclient -c "get e.iso /tmp/e.iso" \\\\127.0.0.1\\smb_test --user username%''



       put<local file name> [remote file name]
           Copy the file called local file name from the machine running the
           client to the server. If specified, name the remote copy remote
           file name. Note that all transfers in smbclient are binary. See
           also the lowercase command.

from local copy to samba server copy
$ /usr/bin/smbclient  -c "put /tmp/exam.d e.txt" //127.0.0.1/smb_test/ --user username%''

get timestamp in linux

date +%Y%m%d-%I%M%S

git archive


git archive --format=tar --prefix=code/ HEAD | gzip > /tmp/code.`date +%Y%m%d-%I%M%S`.tar.gz
git archive --format=tar --prefix=`basename $PWD`/ HEAD | gzip > /tmp/`basename $PWD`.`date +%Y%m%d-%I%M%S`.tar.gz

git log:
git log --graph --pretty=format:'%s - %Cred%h%Creset  %Cgreen(%cr)%Creset %an' --abbrev-commit --date=relative 

runpc! no 164 p: 162 探討 boost.tuple by 侯捷


sed 刪除某些行

sed -e '/^AAA$/,/^BBB$/d' afile


mprotect

man mprotect
mprotect - set protection on a region of memory
ref: http://blog.linux.org.tw/~jserv/archives/2012/05/_python_shellco.html


mount samba filesystem in linux

# mkdir /mnt/cifs
# mount -t cifs //server-name/share-name /mnt/cifs -o username=shareuser,password=sharepassword,domain=nixcraft
# mount -t cifs //192.168.101.100/sales /mnt/cifs -o username=shareuser,password=sharepassword,domain=nixcraft
ref: http://www.cyberciti.biz/faq/linux-mount-cifs-windows-share/

xvidcap

linux 桌面錄影軟體 

run gnome-terminal as root

gnome-terminal -x bash -c "sudo bash"


vim 指令

慢慢來, 一次太多也記不住。

gd "將游標所在字串視為 local 變數,找到定義此 local 變數的地方 (如果有的話)
[[ "找函數的開頭
]] "找下一個函數的開頭

gcc version and macor

gcc -E -dM - < /dev/null |less ref: http://stackoverflow.com/questions/1936719/what-are-the-gcc-preprocessor-flags-for-the-compilers-version-number

車險王

http://www.icartalex.com.tw/

可以查看哪家的強制險有贈品。

linux set timezone

http://yen.chic.tw/2009/05/linux-time-zone.html

設定 Linux Time Zone   


#ls -F /usr/share/zoneinfo/   
#ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime


將 vmware image 轉成 qemu image


qemu-img convert vmwareVM.vmdk -O qcow2 qemuVM.img
ref: http://www.ehow.com/how_7153252_mount-vmware-image-qemu.html


 zip 目前目錄的檔案 (包含子目錄) 成 foo.zip
 zip -r foo . -i "/*"

組合語言 gas at&t syntax rep 語法:
8048196:       f3 a4                   rep movsb %ds:(%esi),%es:(%edi)


mount 軟碟很簡單, mount -o loop diska.img /mnt
硬碟複雜點:
計算 partition offset, 使用 fdisk, 切換到 sector (type u command) 查看開始 sector。以這例子來說是 63。
63*512 = 32256

losetup -o 32256 /dev/loop1 ./dos.img
mount /dev/loop1 /mnt/

linux 連到 windows 遠端桌面
rdesktop -u user_name  -p password -f 1.2.3.4 -g 640X480
ref: http://isong.blogspot.tw/2013/01/windows-8-linux-client.html


vcd convert to avi
ref: http://www.askmeaboutlinux.com/?p=909
   
Convert VCD to AVI using mencoder
By Geetu R. Vaswani, on July 4th, 2010

$ mplayer vcd://2 to check the track that needs to be converted.
$ mencoder vcd://2 -o file.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000
Converts the VCD track to AVI file.

Start Conversion:
#mencoder vcd://2 -o movie.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000

寫了兩個簡單的 script 來用。

batch.sh 3
會產生 3-1.avi ~ 3-9.avi

batch.sh 5
會產生 5-1.avi ~ 5-9.avi

vcd2avi.sh
#!/bin/sh
if [ "$1" = "" -o "$2" = "" ] ; then
  echo $0 track_no disk_no
  echo "ex: $0 3 1"
  exit -1
fi
cmd="mencoder vcd://$1 -o $2-$1.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000"
echo "run cmd: $cmd"
sleep 1
$cmd

batch.sh
#!/bin/sh
if [ "$1" = "" ] ; then
  echo $0 disk_no
  exit -1
fi

i=1
cmd=""
while [ $i -le 9 ] ;do
cmd="./vcd2avi.sh $i $1"
echo "$cmd"
$cmd
i=`expr $i + 1`
done


let qemu use alsa
export QEMU_AUDIO_DRV=alsa


rsync

ref: http://linux.vbird.org/linux_server/0310telnetssh.php#rsync
/home/descent/a-dir need create first
rsync -av -e ssh a-dir/ descent@p.ban.org:/home/descent/a-dir/
rsync -av -e ssh user@rsh.server:/etc /tmp

如何使用GCC產生C/Assembly Interleavd Output

提問於cszone, LCamel透過google在djgpp的網站找到解法:
gcc -c -g -Wa,-a,-ad test.c

這個方法相當巧妙, 原理是利用 -g 產生 C source level debug symbols,
再透過 -Wa 把 -a -ad 傳給 gnu assembler, 其中:
-a requests high-level, assembly, and symbols listing.
-ad omits debugging directives from the listing.

亦可搭配-O2或-O3使用, 觀察optimized的code.

http://www.delorie.com/djgpp//mail-archives/browse.cgi?p=djgpp/2000/02/29/14:19:57


what is .rel.eh_frame REL in elf section

http://forum.osdev.org/viewtopic.php?f=1&t=26832&p=224535#p224535
search System V ABI documents:
https://www.google.com.tw/search?q=System+V+ABI+documents&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=fflb

黑蘋果


VirtualBox 安裝 Mac OS X 86 + EFI 安裝到硬碟 MBR 問題解決

virtualbox 可以直接讀取 dmg, 不用轉 iso, 我的測試可以順利安裝完成, 不用強迫重開機。

如何降低膽固醇
醫生說: 一個禮拜需運動 5 天, 30 分鐘以上, 心跳數達 130, 膽固醇只能靠運動降下來, 無法靠飲食控制調降。


ubuntu  12.04 改成自己想要的桌面環境
亂試的結果, 不保證可用。
apt-get install gdm icewm
使用 gdm login 時選 icewm, 這樣就不會看到 unity。

icewm 重抓設定

killall -HUP icewm


安裝 linux module 到其他目錄
make modules_install  INSTALL_MOD_PATH=/tmp/aa



遇到麻煩的 bug
要出動 gdb with core dump

c2d_err
root@WEI-YA ~$ cd /home/weiya/mmadplayer
root@WEI-YA /home/weiya/mmadplayer$ gdb -c core  mmadplayer
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "arm-none-linux-gnueabi"...
Using host libthread_db library "/lib/libthread_db.so.1".

warning: exec file is newer than core file.
Core was generated by `./mmadplayer'.
Program terminated with signal 11, Segmentation fault.
#0  0x00013430 in QString (this=0x41a004b8, other=@0xffffffe4)
    at ../../Software/Build/ltib/rootfs/usr/local/Trolltech/qt4/include/QtCore/qstring.h:725
725     ../../Software/Build/ltib/rootfs/usr/local/Trolltech/qt4/include/QtCore/qstring.h: No such file or directory.
        in ../../Software/Build/ltib/rootfs/usr/local/Trolltech/qt4/include/QtCore/qstring.h
(gdb) bt
#0  0x00013430 in QString (this=0x41a004b8, other=@0xffffffe4)
    at ../../Software/Build/ltib/rootfs/usr/local/Trolltech/qt4/include/QtCore/qstring.h:725
#1  0x000177d4 in QMutexLocker (this=0x0, m=0x0)
    at ../../Software/Build/ltib/rootfs/usr/local/Trolltech/qt4/include/QtCore/qmutex.h:110
#2  0x00017a7c in LogMessage::insert_log (this=0x0, text=@0x0) at ../mmadplayer/tool.h:62
#3  0x000175d8 in operator+ (s1=0x41a00468 "�\004�A�\004�A", s2=@0x0)
    at ../../Software/Build/ltib/rootfs/usr/local/Trolltech/qt4/include/QtCore/qstring.h:1031
#4  0x0001744c in __static_initialization_and_destruction_0 (__initialize_p=1058289516, __priority=2122316944)
    at ../mmadplayer/c2d.cpp:135
#5  0x00015a98 in PlayTicker::play (this=0x3f14376c, pl_data=0x41a00468) at ../mmadplayer/c2d.cpp:23
#6  0x00042518 in i2c_smbus_read_byte_data (file=736823300, command=63 '?') at ../mmadplayer/i2c.cpp:173
#7  0x2bebc834 in ?? ()
Backtrace stopped: frame did not save the PC


刪除在 ntfs 上的超長檔名目錄

steam 建立了超長檔名目錄的備份:
Tomb Raider Legend and Tomb Raider Anniversary and Tomb Raider Underworld and
Alice Madness Returns and Lara Croft and the Guardian of Light and Tomb
Raider and Tomb Raider I and Tomb Raider The Last Revelation and Tomb Raider
Chronicles and Tomb Raider (

但是 windows8 無法刪除/進入/改名這個目錄,

http://support.microsoft.com/kb/320081

這篇寫的都沒用。

最後 mount 在 ubuntu 下刪除這個目錄。

在 ubuntu 環境下, 可以正常刪除/進入/改名 這個目錄。

git - push to remote repository

cd /path/to/my/repo
git remote add origin ssh://git@bitbucket.org/dsung/abc.git
git push -u origin --all # pushes up the repo and its refs for the first time
git push -u origin --tags # pushes up any tags

小強餅乾
硼酸、麵粉、糖或在一起不用烤焙, 小強吃了之後會慢慢才死掉。

5 則留言:

  1. 大大你也太猛了吧
    煮飯口訣 哩.....
    也太 "雜七雜八" 了吧....

    回覆刪除
  2. 竟然在此篇看到小弟以前的文章,能夠在樓主blog內出現 真是深感榮幸。

    回覆刪除
  3. cam11505: 那一篇阿, 讓小弟膜拜一下

    回覆刪除
  4. 滄者論壇 找最大檔案 那篇,題外話 滄者論壇好久沒去逛了.

    回覆刪除
  5. cam11505: 感謝, 很好用的指令

    回覆刪除

使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。

我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。