網絡技術日誌

關於 PHP, Linux, Open Source 及個人生活記載的網誌。

Entries for August, 2011

Shell Script 輸出顏色文字

Shell Script 可以控制輸出文字的顏色,做法與 html 相似,只是使用 ANSI escape codes 控制顏色輸出。顯示顏色文字的格式如下: 33[ 樣式 ; 文字顏色 ; 背景顏色 m 輸出文字 33[0m 以下是樣色、顏色及背景顏色的可供選項: 文字樣式: 0 一般樣式 1 粗體 4 加底線 5 灰底 7 文字及背景顏色對調 文字顏色: 30 黑色 31 紅色 32 綠色 33 黃色 34 藍色 35 紫色 36 青綠 37 白色 背景顏色: 40 黑色 41 紅色 42 綠色 43 [...]

Leave a Comment

Unix 及 Windows 文字檔案轉換

在 Unix 及 Windows 裡面所儲存的文字檔案,最大分別是換新一行的顯示。Unix 會使用 EOL 作為跳行;而 Windows 則會使用 Ctrl-m (^M)。在 Linux 下可以用 dos2unix 及 unix2dos 將 Unix 及 Windows 的文字檔轉換: $ unix2dos unix_text.txt win_text.txt 以上指令就會將 unix_text.txt 轉換成 windows 格式,並儲存到 win_text.txt,如果要將 windows 文字檔轉成 unix 文字檔,只要這樣: $ dos2unix win_text.txt unix_text.txt

Leave a Comment

Linux — 檢視 kernel module (驅動程式) 版本

要檢視 Linux 下 kernel module (驅動程式) 的版本,可以透過 modinfo 指令實現。首先要知道要查詢的 kernel module 名稱,輸入 lsmod 指令使會列出所有載入的 modules。 例如要找出 mptscsih 所使用的版本,只要輸入: # modinfo mptscsih 然後系統便會列出關於 mptscsih 所資訊,其中 Version 就是 module 的版本。

Comments (1)

Linux — 列出一個進程正在使用的檔案

要找出一個進程正在使用的檔案,首先要知道檔案的 process ID,可以用 ps 指令實現: # ps aux | grep mysql 記下進程的 process ID 後,可以透過 /proc 檔案系統或 lsof 指令查詢,它們的使用方法如下: /proc 假如 process ID 為 4252,只要用 ls 指令查視 /proc/4252/fd 目錄: # ls -l /proc/4252/fd lsof 指令 # lsof -a -p 4252

Leave a Comment

阻檔嘗試入侵的 IP — Fail2Ban

Fail2Ban 是一套用 Python 寫成的系統安全工具,它會監察伺服器的紀錄檔,當出現多次登入錯誤後,便會觸發一些安全動作,例如將 IP 封鎖或用 Email 通知系統管理員等。Fail2Ban 相當具彈性,可以針對自己的需求設定不同的過濾規則,而 Fail2Ban 已經內建多個過濾規則,包含一些熱門伺服器軟件的過濾規則,支援 sshd, web server, ftp server, dns server 等。 安裝方法: 1. Fail2Ban 是以 Python 寫成,所以要先確定系統有安裝 Python,在 Redhat 安裝 Python 的方法是: # yum install python python-devel gamin-python 2. 然後安裝 EPEL Repos 及 Fail2Ban Centos 5 x86_64: # rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm CentOS 5 i386: # rpm -Uvh [...]

Leave a Comment

透過 htaccess 設定 Character Set

要設定網站的 Character Set,除了在 httpd.conf 設定外,還可以在 .htaccess 對個別網站設定,格式如下: AddDefaultCharset utf-8 以上這行便會設定網站預設使用 utf-8 編碼,如果只想對特定檔案設定 Character Set,可以這樣做: AddCharset utf-8 .html .htm .css .js .xml .json .rss 這樣就可以設定 .html, .htm, .css, .js, .xml, .json 及 .rss 的預設 Character Set 使用 utf-8.

Leave a Comment

MySQL 效能優化工具 — MySQLTuner

MySQLTuner 是一個針對 MySQL 效能的分析 Perl script,它會根據採集到的數據,給予修改 my.cnf 的設定值建議,從而改善 MySQL 的執行效率。 要執行 MySQLTuner 十分簡單,只要下載後並給予執行權限便可直接執行: wget http://mysqltuner.com/mysqltuner.pl chmod +x mysqltuner.pl   然後便可以直接執行 mysqltuner.pl: ./mysqltuner.pl   這時 MySQLTuner 會詢問 mysql 的管理員用戶名稱及密碼,然後便會採集數據並產生報告。而報告的最後是 Recommendations 部份,是可以在 my.cnf 的 [mysqld] 調整的設定值,修改的設定值後需要重新啟動 mysql 才會生效。

Leave a Comment

變更 MySQL client 的提示符號

在預設的情況下,在 command line 連接 MySQL 資料庫時,會使用以下的提示符號: mysql> 如果將以上提示符號變更,可以顯示更多資訊的話,操作起來會相當方便。要變更這個提示符號首先開啟 my.cnf 檔案(Windows 用戶是 my.ini),然後在 [mysql] 區間加入以下語句: prompt=u@h:[d]>_ 上面語句的 "u" 及 "h" 分別會顯示用戶名稱及主機名稱,"d" 會顯示所選擇的資料庫,以下是上面設定的提示符號: samtang@localhost:[hkcode]> 以下是 MySQL 提示符號可用的參數: c   A counter that increments for each statement you issue D   The full current date d   The default database h   The server host l   The [...]

Leave a Comment

PHP 透過 ip2country 查詢 ip 所屬國家

用 PHP 查詢 ip 所屬國家可以用幾種不同的方法,以下會介紹使用 MaxMind 的函式實現,首先到以下網址下載 MaxMind 函式: http://geolite.maxmind.com/download/geoip/api/php/geoip.inc http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz 將上面的 GetIP.dat.gz 解壓,然後可以用以下程式碼實現: PLAIN TEXT PHP: <?php include("geoip.inc");   $test_ip = "123.123.123.123"; // 這是要查詢的 ip   $gi = geoip_open("GeoIP.dat", GEOIP_STANDARD); echo geoip_country_code_by_addr($gi, $test_ip);   geoip_close($gi); ?> I use ipchicken.com to get my IP address.

Comments (1)