星期五, 12月 05, 2008

emacs 的 Calendar-mode 的操作備忘

M-x calendar 進入 Calendar-mode


C-f 讓當前日期向前一天
C-b 讓當前日期向後一天
C-n 讓當前日期向前一周
C-p 讓當前日期向後一周
M-} 讓當前日期向前一個月
M-{ 讓當前日期向後一個月
C-x ] 讓當前日期向前一年
C-x [ 讓當前日期向後一年
C-a 移動到當前周的第一天
C-e 移動到當前周的最後一天
M-a 移動到當前月的第一天
M-e 多動到當前月的最後一天
M-< 移動到當前年的第一天
M-> 移動到當前年的最後一天

. 移動到今天
d 顯示被選中的日期的所有事件
s 顯示所有事件,包括過期的,未到期的等等

i d 為當天日期添加一個事件
i w 為當天周創建一個周事件
i m 為當前月創建一個月事件
i y 為當前年創建一個年事件
i a 為當前日期創建一個周年紀念日
i c 創建一個循環的事件

星期四, 12月 04, 2008

iftop (在 Linux 上, 用來即時監看網路狀態)

usage: iftop -h | [-nNpbBP] [-i interface] [-f filter code] [-F net/mask]
注意: 必須用 root 來執行

參數:
 iftop -i eth0 : 查看eth0網路介面的即時流量
 iftop -B : 以位元組(bytes)為單位顯示流量(預設是位元bits)
 iftop -n : 直接顯示IP, 不進行DNS反解
 iftop -N : 直接顯示連接埠編號, 不顯示服務名稱

操作: (進入 iftop 後的操作)
 按 p 切換是否顯示連接埠
 按 n 切換顯示IP或主機的domain name
 按 N 切換顯示連接埠代號或名稱
 按 P 暫停顯示
 按 b 切換是否顯示長條
 按 B 切換計算幾秒內的平均流量
 按 q 離開 iftop

nmap 的一些參數說明

-sT : TCP 掃描
 使用 connect() 建立完整 TCP 連線,這是預設模式
-sS : SYN 掃描
 只送出 SYN 封包
-sF : FIN 掃描
 只送出一個單純的 FIN 封包,如果收到 RST 封包,代表 port 是關閉的,否則就是開的對 windows 系統無效
-sX : Xmas Tree 掃描
 Xmas Tree 掃描,類似 fin 掃描
-sN : Null 掃描
 Null 掃描,類似 FIN 掃描
-sU : UDP 掃描
 UDP 掃描
-sO : IP 協定掃描
 IP 協定掃描
-sA : ACK 掃描
 ACK 掃描,可以用來分析防火牆的管制規則
-sW : TCP window size 掃描
 利用 TCP window size 來判斷 port 的情形
-sP : Ping 掃描
 Ping 掃描
-sR : RPC 掃描
 RPC 掃描
-O : OS 掃描
 作業系統掃描

星期二, 11月 25, 2008

星期二, 11月 18, 2008

GnuPG的一些說明

GnuPG 是用來加解密資料用的

概念
私錀是用來簽章及解密,而公錀用來加密
私鑰不要讓人接觸到
公鑰則是可以公開的

產生自己的公私鑰gpg --gen-key
列出公鑰gpg --list-public-keys
列出私鑰gpg --list-secret-keys
列出金鑰指紋gpg --fingerprint E1234567
E1234567 是 user-id
列出 key 相關資料gpg --list-keys
導出用戶 abc 的公鑰gpg -a -o pub.asc --export abc
-o pub.asc : 輸出成 pub.asc 檔
導出用戶 abc 的私鑰gpg -a -o priv.asc --export-secret-keys abc
-o priv.asc : 輸出成 priv.asc 檔
上傳公鑰到 servergpg --server subkeys.pgp.net --send-key 0x1A2B3C4D
上傳到 subkeys.pgp.net
0x1A2B3C4D 是公鑰ID, 請勿照抄
從 server 下載別人的公鑰gpg --server subkeys.pgp.net --recv-keys 0x1234ABCD
從 subkeys.pgp.net 下載
0x1234ABCD 是別人的公鑰ID, 請勿照抄
匯入別人的公鑰gpg --import key.asc
刪除一組keygpg --delete-key userid
加密檔案gpg -ea -r name test.file
-e (--encrypt) : 要加密
-a (--armor) : 加密成 ASCII 形式, 如果不用 -a 會加密成二進位形式
-r name (--recipient) : 指定 用戶名稱
test.file : 要被加密的檔案
會產生一個 test.file.asc 檔案
解密檔案gpg -d test.file.asc >test.file
-d (--decrypt) : 解密

星期一, 11月 17, 2008

RubyGems 參數

RubyGems
參數
i 是安裝
q 是查詢
-r 是操作遠端伺服器上的套件
-l 就是本地端的套件
-n 就是查詢名字
-y 就是將所有相關的套件全部裝好

Example
查詢本機端安裝了那些套件
gem q
查詢遠端有那些套件可以安裝
gem q -r
查詢遠端有沒有名叫 ABC 的套件可以安裝
gem q -r -n ABC
安裝遠端名叫 ABC 的套件
gem i -r ABC
安裝遠端名叫 ABC 的套件,並且把所有相關的套件都裝好
gem i -r ABC --include-dependencies
移除已經安裝的 ABC 套件(你說為何不用縮寫,因為Uninstall 要謹慎點 :p)
gem uninstall ABC
升級ABC 套件(也就是再安裝一次)
gem i ABC
列出本機端已經安裝的套件
gem list -l 或是 gem l -l
求救
gem help 或是 gem -h

網站
http://www.rubygems.org/

Google 推出 Google App Engine

Google App Engine 是 Google 雲端運算的實作
可以讓 User 拿來製作網站
目前只能使用 python 來設計

免費版本限制
1.固定
每個開發者可以創建的應用數10
每個應用的容量大小500MB
每個應用的文件數1,000
每個文件的大小1MB

2.每日使用量
Emails2,000
Bandwidth In10,000 MB
Bandwidth Out10,000 MB
CPU Megacycles200,000,000
HTTP Requests650,000
Datastore API Calls2,500,000
URLFetch API Calls160,000


加購費用 (美金)
- $0.10~$0.12 美元︰每個 CPU 核心,以小時計
- $0.15~$0.18 美元︰每 GB 的儲存空間,以月計
- $0.11~$0.13 美元︰每 GB 的上傳頻寬
- $0.09~$0.11 美元︰每 GB 的下傳頻寬

星期四, 11月 13, 2008

利用 Google Chart API 製作 QR Code

Google Chart API 除了可以製作各式統計圖表外, 也可以產生 QR Code

Google Chart API的網址如下:
http://chart.apis.google.com/chart

只要加上參數就可以產生 QR Code

參數:
cht=qr , 宣告要產生 QR Code
chl=<text to encode> , 設定 QR Code的內容
choe=
<output encoding> , 設定使用的編碼, Ex: utf-8
chs=
<width in pixels>x<height in pixels> , 設定圖檔大小

例如:
http://chart.apis.google.com/chart?cht=qr&chl=test&choe=utf-8&chs=100x100

星期日, 8月 24, 2008

在 emacs 上用 GnuPG 加密文章

先安裝 GnuPG (http://www.gnupg.org/)
安裝完執行 gpg --gen-key 產生自己的公私鑰

在 .emacs 加上
(setq pgg-default-scheme "gpg")
(setq pgp-version 'gpg)
(setq pgg-cache-passphrase nil)
(setq pgg-gpg-user-id "userid") ;; 設定 userid
(setq pgg-gpg-program "C:/Program Files/Gnu/GNUPG/gpg") ;; 設定 GunPG 軟體所在目錄

然後就可以使用了

M-x pgg-encrypt 加密目前 buffer 的內容
要輸入 自己的代號

M-x pgg-decrypt 解密目前 buffer (注意,要解密的文件的 encoding 必須是 undecided)
(C-x RET-c undecided 然後 重新載入檔案 M-x revert-buffer)
要輸入自己的密碼

星期三, 7月 30, 2008

我的 Emacs 按鍵[F1]..[F12]設定

(global-set-key (kbd "<f1>") 'delete-other-windows) ; 只顯示一個視窗
(global-set-key (kbd "<f2>") 'jump-to-register) ; 跳到暫存書籤位置
(global-set-key (kbd "<f3>") 'other-window) ; 多視窗時切換視窗
(global-set-key (kbd "<f4>") 'kill-buffer) ; 移除目前的 buffer
(global-set-key (kbd "<f5>") 'shell-command) ; 執行 shell command
(global-set-key (kbd "<f6>") 'toggle-truncate-lines) ; 切換自動斷行
(global-set-key (kbd "<f7>") 'previous-buffer) ; 前一個 buffer
(global-set-key (kbd "<f8>") 'next-buffer) ; 下一個 burrer
(global-set-key (kbd "<f9>") 'revert-buffer) ; 重新載入 目前 buffer
(global-set-key (kbd "<f11>") 'calendar) ; 開啟日曆
(global-set-key (kbd "<f12>") 'ibuffer) ; ibuffer

(global-set-key (kbd "<C-f2>") 'point-to-register) ; 設定暫存書籤
(global-set-key (kbd "<C-f7>") 'backward-list) ; 跳到對應的左括號
(global-set-key (kbd "<C-f8>") 'forward-list) ; 跳到對應的右括號
(global-set-key (kbd "<C-f12>") 'list-bookmarks) ; 顯示Bookmarks

在Linux下看CPU及Memory的資訊

cd /proc
more cpuinfo
more meminfo

星期二, 7月 22, 2008

學習Emacs

Emacs 是一個歷史悠久的編輯軟體
就來學習學習


一些常用指令
C-x C-c 離開 Emacs
C-x C-f 讀取檔案 或是 開新檔案
C-x C-s 存檔
C-x C-w 另存新檔

C-x 1 讓目前的 buffer 變成全螢幕
C-x 2 將 buffers 切成 上下 兩個視窗顯示
C-x 3 將 buffers 切成 左右 兩個視窗顯示

C-r 往前搜尋字串
C-s 往後搜尋字串


設定檔
.emacs 個人對 emacs 的設定都放在這個檔案中

http://www.gnu.org/software/emacs/

星期六, 2月 02, 2008

curl 抓檔簡單操作說明

從網站上抓一個檔案
curl
-O "http://abc.com.tw/abc/a.txt"

從網站上抓一個檔案,並且自己給定檔名
curl
-o "myname.txt" "http://abc.com.tw/abc/a.txt"

從網站上抓一些連續檔名的檔案
curl
-O "http://abc.com.tw/abc/a[01-20].txt"

從網站上抓一個檔案,傳給 Server 我的瀏覽器名稱
curl -A 'Mozilla/3.0 (Win95; I)'
-O "http://abc.com.tw/abc/a.txt"

從網站上抓一個檔案,傳給 Server 我的Referer
curl -e 'xyz.com.tw'
-O "http://abc.com.tw/abc/a.txt"