星期日, 十月 01, 2006

將路徑下的所有目錄列出來

將此路徑(目錄)的所有目錄列出來(不列檔案), 有以下幾種做法:

  • ls */ -d

目錄下的所有目錄、階層都列出來(不列檔案).

  • tree -d
  • find /path -type d
  • find [dir] -type d -print

星期一, 九月 18, 2006

Bash Shell 快速鍵

Bash Shell 快速鍵列表

  • Alt-F: 到此行最後面
  • Alt-B: 到此行最前面
  • Ctrl-A: 回到此行最前面
  • Ctrl-E: 到此行的最後面
  • Ctrl-U: 清除一行中游標之前的所有文字
  • Ctrl-K: 清除一行字游標之後的所有文字
  • Ctrl-H: 移除游標前的一個字元(同 backspace)
  • Ctrl-D: 移除游標後的一個字元(若於命令列有字的話)
  • Ctrl-D: 結束輸入(如果您在 shell 下,就會跳出該 shell)
  • Ctrl-C: 終止正在執行的程式
  • Ctrl-Z: 暫時停止程式(將該工作放到背景) (fg 1, fg 2 拿回)
  • Ctrl-S: 停止輸出到畫面上(類似 Scroll Lock, ex: cat xxx 需暫停時使用)
  • Ctrl-Q: 回復輸出到畫面上(恢復Ctrl+S的輸出)
  • Ctrl-W: 刪除游標之前的最後一個單字
  • Ctrl-R: 搜尋過去的命令 (繼續往回找 Ctrl-r(上一個的上一個), 找過頭 Ctrl-R (Ctrl+Shift+r) 往下找)
  • Ctrl-F: 游標向後移動
  • Ctrl-B: 游標向前移動
  • Ctrl-P: 找上個指令(同上箭頭)
  • Ctrl-N: 找下個指令(同下箭頭)
  • Ctrl-T: 相近兩個字元互換位置
  • Ctrl-Z: 丟到背景執行, 可用 fg 回復
  • Ctrl-L: 清畫面
  • Ctrl-J: 同 Enter
  • Ctrl-I: 同 Tab
  • Ctrl-V: 加上要輸入特殊字元, ex: Ctrl-V Ctrl-C 會出現 ^C 而不是中斷
  • Ctrl-V TAB: 輸入 TAB,而不是命令列擴展
  • C-xC-e 可以使用 vim 寫入 script 讓他一次執行
  • Alt-d: 刪除游標之後的一個單字
  • TAB: 擴展要輸入的檔案到命令列上
  • 上/下箭頭: 開始搜尋過去的命令
  • ESC-T: 最後 兩個 "單字" 互換位置
  • C-xC-e 可以使用 VIM 寫入 Script 讓他一次執行
 (閱讀全文)

星期六, 八月 12, 2006

遠端執行命令、多台機器管理(Push.sh)

當手上有 1 台機器, 管理的方法是 ssh 到那台機器做事.

當手上有 5 台機器, 管理的方法就會想要遠端執行, 就會使用

用法: ssh 主機名稱 "要執行指令"
ssh hostname 'sudo cp http.conf /usr/local/apache/conf/'
ssh hostname "ls"
ssh hostnmae "sudo /usr/local/apache/bin/apachectl restart"

當手上有 30 台機器的時後, 管理的方法就會如下:

用法: for i in i的值; do 目前機器要下的命令 '遠端機器要下的命令'; done;
for i in 1 2 3; do scp xxx.conf w$i.hostname:; done;
for i in 1 2 3; do /usr/bin/ssh w$i.hostname 'sudo mv xxx.conf /usr/loca/conf'
for i in 1 2 3; do /usr/bin/ssh w$i.hostname 'sudo ls /'; done;
1 2 3 ... 自己寫要幾台都行, 可以改成自己其它取的值

注意: 目前機器要下的命令, 不要用 " 或 ' 包起來, 只有要給 遠端機器 的指令才要用 " 或 ' 包起來.

 (閱讀全文)

星期日, 七月 16, 2006

QEMU in ubuntu(vmware)

現在 IE 的市佔率還是在高點, 頁面設計還是得要以 IE 為主, 以 Linux 當 Desktop 的情況, 還是會遇到不得已, 非得要灌 Windows 的狀況(在 Linux 裝 IE 看起來實在太辛苦了)

不過 qemu 在灌 XP, 實在是異常的辛苦(光灌放在那邊就等了 8 個多小時才灌好)..

以下來記錄一下整個流程.

 (閱讀全文)

星期日, 七月 09, 2006

rxvt-unicode 參數設定

自從轉換到 UTF-8 的環境後, 就一直使用著 gnome-terminal, 也並不是說他不好, 除了就他肥了點, 慢了點, 似乎其它都還蠻能符合需求的, 但是最近發現一個嚴重的問題, 就是它的快速鍵跟 irssi 的快速鍵相衝了.. 所以... 還是到該換掉他的時後了~~~

換掉的首選當然還是挑 rxvt(以前用習慣了), 所以就裝了 rxvt-unicode, 但是還是遇到一些小問題, 最主要是字體太小比較嚴重了點, 花了點時間調了一下, 簡單記錄一下參數.. :)

  • 目前使用: urxvt -imlocale zh_TW.UTF-8 -fn "xft:AR PL New Sung:pixelsize=20" -tn xterm -bg black -fg lightgray -sl 800 -pt Root -sr
  • 備用: urxvt -imlocale zh_TW.UTF-8 -geometry 80x25 -sl 5000 -sr -bg black -fg lightgray -fn "xft:AR PL New Sung:pixelsize=20" -tn xterm -pt Root
  • 搜尋時找到的參數: urxvt -fn "xft:Sans:pixelsize=16" -bg \#026 -fg gray -sl 800
  • 若喜歡透明背景可以再最後加上 -ip 的參數
  • -tn xterm: 使用 xterm 當 termcap, 否則在 FreeBSD 使用 screen 會出現 Cannot find termcap entry for 'rxvt-unicode' 的錯誤訊息

星期日, 七月 09, 2006

Ubuntu 全營幕影片出現橫線條紋

Ubuntu 使用到目前唯一的問題就是看影片沒法全營幕播放, 因為全營幕播放會發現畫面會 Delay, -vo xv 的話是會出現橫線的條紋, 解決方法如下:

1. 安裝 w32codecs

  1. vim /etc/apt/sources.list
  2. 加入 deb http://apt.ubuntu.org.tw ubtw-testing/
  3. apt-get install w32codecs
  4. 從 sources.list 把剛剛加入那行 deb 刪掉

2. 安裝 NVIDIA的軀動程式

  1. apt-get install nvidia-glx
  2. sudo nvidia-xconfig # 此步驟會自動更新 /etc/X11/xorg.conf
  3. 重新啟動 X 即完成

星期日, 六月 04, 2006

Ubuntu 升級到 6.0.6

將系統升級到 Ubuntu 6.0.6, 一切正常, 介面和字型都有非常大的改進, Firefox 是 1.5 版了(就是為了這個拼升級), 簡單記錄一下升級步驟:

  1. apt-get install update-manager
  2. gksudo --user root "update-manager" (update-manager 是指令, 可以加其它參數在後面)
  3. 或 修改 /etc/apt/source.list, 將 breezy 改成 dapper, 再 apt-get upgrade, dist-upgrade 好像也行.

基本上, 以上就可以將系統升級, 但是升級完後, 若有一些升不上去的, 可以直接用 apt-get install package-name, 就會自動將舊版移除並升上去~

順便升級一下 Kernel, apt-get install linux-686 即可.

詳細可參考以下: (以下有另外其它升級法)

星期日, 五月 07, 2006

在命令列各種指令顏色呈現

在命令列下, 平常在使用時能將 keyword加點顏色, 看起來還是會比較舒服~

可見 Colour on the command line 設定.

相信使用起來會更加順手~ :)

星期一, 五月 01, 2006

dd 塞爆硬碟測試

要測試硬碟快滿的時後, 是否會有警示信寄出等~ 總不能每次都去找一堆電影來塞吧~

dd 來做這種事就蠻合適的~

作用: 製造一個 file(filename: hugefile), 內容都塞 0, 塞到 470Mb 為止, 語法如下:

dd if=/dev/zero of=/hugefile count=470m obs=4096
  • of: filename
  • count: 塞 470mb
  • obs: 每個 black 要 4096 bytes

星期五, 四月 21, 2006

Tcpdump的使用

臨時有此需求, 正好找到這邊不錯的文章, 趕快留下來~~

轉載自: Tcpdump的使用

簡易使用法: (為了抓到隱藏在 Code 裡的語法, 直接看port有傳什麼資料進來)

  • sudo tcpdump -nnnX -s 1500 port 3306
  • sudo tcpdump -aXXX port 3306 | grep denied

-s : 抓比較長的 data 做一筆記錄

 (閱讀全文)

星期四, 三月 30, 2006

PHP magic.mime WARNING

Debian testing 的環境

php 的環境出現以下錯誤訊息

PHP Warning: mime_magic: type regex BEGIN[[:space:]]*[{] application/x-awk invalid in Unknown on line 0

已經在 Debian 有看到 Bug Report. 但是還是要先有解決辦法, 不然 Command line 的程式大多都有問題.

暫時的解決方法:

  1. vi /usr/share/file/magic.mime
  2. 找到大約 273 行 (搜尋 "space" 就可以找到 Warning 的字)
  3. 把那行先 # 掉就可以了

星期二, 三月 28, 2006

Mount ISO File 命令

Linux 下 掛載 iso file 的指令如下:

  • mount -o loop -t iso9660 FILENAME.ISO /mnt/iso
  • umount /mnt/iso

星期日, 三月 19, 2006

Debian: Apache mod_mime_magic error

Debian Testing 的 Apache 在 start 的時後都會有以下訊息:

No such file or directory: mod_mime_magic: can't read magic file /usr/share/misc/file/magic.mime

解決方法:

vi /etc/apache/httpd.conf

<IfModule mod_mime_magic.c>
/usr/share/file/magic.mime
</IfModule>

這樣子就可以了. (將 misc 拿掉就可以了)

星期日, 三月 12, 2006

結合檔案兩欄位的值 - paste

要將兩個檔案結合在一起, 而且是直排分兩欄的結合, 通常都會貼到 EXCEL 或用 vim 的一些特別處理法, 今天才看到有更簡單的做法~

使用 paste 就可以簡單的將此需求達成.

 (閱讀全文)

星期二, 二月 28, 2006

grub 設定開機

在使用雙系統時, 最麻煩的就是XP用久了, 需要重灌的時後, 總是會把 grub 的開機給毀了, 可用以下步驟還原, 但是記得 /boot 下的 vmlinuz-version, initrd-version, root 設在哪( / 設在哪個 dev, ex: /dev/hda1)

  1. grub 進入 grub 環境
  2. root (hd0,0)
  3. setup(hd0)
  4. kernel /vmlinuz-version root=/dev/hda1
  5. initrd /initrd-version
  6. install /grub/stage1 (hd0) /grub/stage2 p /grub/menu.list
  7. boot
  8. 回到shell# grub-install /dev/hda (安裝到 MBR 去)
  9. 完成