Perl 印出顏色文字

在寫 Perl Script 時通常我會將錯誤訊息用紅色顯示, Warning 用黃色, 執行正確用錄色, 看似沒什麼用, 但其實很方便, 不用細心看輸出內容就可以知道有沒有錯誤。在另一篇文章 Shell Script 輸出顏色文字 介紹了在 Shell Script 輸出顏色文字的方法, 但這個方法並不好記, 因為顏色碼是數字, 通常用過就會忘記。Perl 要印出顏色文字同樣可以用上面提及的顏色碼, 但另一個更方便的做法是用內建的 ANSIColor 模組, 用 ANSIColor 的好處是不用記顏色碼, 直接用顏色的英文名稱即可, 例如 red, …

Linux 查看及轉換檔案編碼

Linux 下要查看檔案的編碼有多種方法, 以下會用 file 指令查看檔案的編碼。例如查看 php.ini 檔案的編碼: $ file -i php.ini php.ini: text/plain; charset=us-ascii 上面可以看到 php.ini 檔案是純文字檔, 編碼是 us-ascii, 如果不想輸出檔案名稱, 只要得出檔案類型及結果, 可以加入 -b 參數: $ file -bi php.ini text/plain; charset=us-ascii …

輪胎升級計算機

輪胎升級後如果跟原廠設定相差太遠, 會造成時速及里數表嚴重偏差, 以下輪胎升級計算機會計算原廠輪胎規格, 跟新輪胎規格所相差的百份比, 從而計算出升級後輪胎的誤差。 舊輪胎規格: / R 新輪胎規格: / R

sudo 不用密碼設定

想要執行 sudo 指令時不用輸入密碼,可以用 visudo 設定:1. 執行 visudo 編輯 sudo 設定檔: sudo visudo 2. 開啟了 /etc/sudoers (不要用 vi 直接開啟,要做上面的方法,建議執行 visudo) 後,假設用戶名稱是 user123, 找到這行:user123 ALL=(ALL) ALL改成user123 ALL=NOPASSWD: ALL儲存離開後,下次用 sudo 執行指令便不會要求輸入密碼了。如果想給用戶以 root 身份執行指定指令,而不用輸入密碼,執行 …

Shell Script 讀取檔案後逐行印出

在 Shell Script 要讀入檔案內容,並一行一行地做處理,或者簡單一行一行印出內容,可以用 read 語法,具體做法是:read_line.sh 上面的 Shell Script 會讀入指令模式輸入的檔案,沒有做任何資料處理,只簡單地逐行印出內容。使用上,上面 shell script 名為 read_line.sh, 要先給予可執行權限,在指令模式是這樣做: chmod +x read_line.sh ./read_line.sh /etc/passwd 上面就會將 /etc/passwd 傳送給 read_line.sh, 而 read_line.sh 則讀取其內容並逐行印出。雖然這樣看起來沒什麼用處,因為用 cat /etc/passwd 的結果相同,但如果 …

MySQL 語法 – INSERT … ON DUPLICATE KEY UPDATE

有時在 MySQL 新增資料時, 會先判斷資料是否存在, 如果資料不存在會執行 INSERT 語句, 如果資料存在則用 UPDATE 語句。以前要這樣做, 需要先用 SELECT 判斷, 就像這樣:雖然可以完成上面提到的任務, 但寫程式時就會較麻煩, MySQL 提供了 INSERT … ON DUPLICATE KEY UPDATE 語句, 可以一行就完成, 無需用 IF 及 SELECT, 寫法是這樣:要用上面的 …

Perl 讀入管線 (pipe) 輸入

Linux 下的管線 (pipe) 很實用,可以將多個指令一同執行,如果在 Perl Script 想讀取 pipe 輸入,可以用 符號,這樣就可以將 Perl Script 寫到像 Linux 下的指令那樣運作,寫法也十分簡單,就這樣:testing.pl 以上程式碼會讀入 pipe 輸入,然後逐行印出,在指令模式這樣做: cat /etc/fstab | testing.pl 上面的指令將 cat /etc/fstab 的輸出導入到 testing.pl。

PHP 監測伺服器

在網上的伺服器監測程式有很多, 功能都十分完善, 但如果你像我一樣只要監測伺服器是否 down 機, 而且全都是 httpd 伺服器, 可以透過 PHP 簡單實現, 例如這樣就可以很簡單地看到伺服器是否可以連接:當然上面的程式很陽春, 只會印出伺服器是否可以連接, 而且只可以人手打開上面 PHP 網頁才可以監測。其實只要透過 crontab 自動執行 PHP, 就可以讓 PHP 自動監測伺服器, 並在發生問題時以電郵通知管理員。另外也可以在要監測的伺服器上放一個細小的 PHP 程式, 會印出系統的 load average, 當發覺 load …

grep 指令實用技巧

grep 的全寫是 “global regular expression print”,是 Linux 系統內置的字串搜索工具, 它可以用作搜索檔案的內容, 除了搜索檔案內容外, 也可以透過管線 (pipe) 輸入內容搜索。以下會介紹一些 grep 常見的用法:1. 搜索檔案內容: 以下會在 /etc/passwd 搜索 phpini 字串: # grep phpini /etc/passwd 然後 grep 就會將 /etc/passwd 內有 …

RHEL / CentOS 7 安裝 NFS Server

NFS (Network File System) 是讓 Unix Like 的作業系統, 能用 mount 的方式來存取遠端伺服器分享出來的目錄, 讓操作起來像操作本機目錄一樣。以下會介紹在 CentOS 7 安裝及設定 NFS Server 的方法:NFS Server 安裝 1. 安裝 NFS: # yum install nfs-utils 設定分享的目錄, 以下是 /var/nfsshare: …