Shell Script 英文字母大小寫轉換

寫程式很多時要將英文字母大小寫轉換, 例如想將第一個字母轉成大寫; 將 hostname 轉換成全部大寫或小寫等。Shell Script 可以用 tr 指令完成。例如: 上面的 tr 會將 “sam tang” 轉換成 “SAM TANG”, 如果是將大寫轉換成小寫, 將 及 互換即可。 而 tr 另一種寫法可以這樣寫: bash 提供了另一個方法, …

檢視佔用最多記憶體及 CPU 資源的 Process

當發現 Linux 主機執行緩慢時, 找出佔用最多記憶體及 CPU 資源的 Process, 對於修正問題或對系統進行優化十分有用。以下指令使用 sort 指令將佔用最多系統資源的 process 列出: # ps -eo pid,ppid,cmd,%mem,%cpu –sort=-%mem | head執行後會以下面的格式輸出:


Shell Script 修改系統帳號密碼

在 Linux 要修改帳號密碼, 可以用 passwd 完成。passwd 需要從 stdin 輸入新密碼, 但很多情況需要用非互動的方式修改, 即一行指令修改密碼。例如用 Shell Script 建立新帳號後, 立即修改新用戶的密碼。以下會示範不用從 stdin 輸入新密碼的情況下, 用一行指令修改帳號密碼的方法。版本較新的 Linux 的 passwd 指令, 支援 –stdin 參數, 即不會要求輸入兩次新密碼作為確認, 這樣只要用 echo 指令將新密碼, 透過管線 …

Linux 自訂指令 Alias 別名

指令別名 (Alias) 在 Linux 上十分方便, 可以將經常使用又較長的指令自訂成別名, 或者將一些指令參數預先方入指令別名, 執行起來就會省時不少.例如輸入 ls 指令時, 如果經常也輸入 “ls -al” 的話, 可以用以下指令建立指令別名: 之後當輸入 “l” 後, 便會直接執行 “ls -al”.另一個常用的指令用 cd 切換到其他目錄, 例如建立以下別名, 便可以快速地切換到網頁目錄及儲存 logs 的目錄: 但用 …


Python 串列(list) 排序方法

以下會列出在 Python 排序串列(list) 的方法, 包括數值及字串進行順序或倒序排序。數值排序使用 sort 方法, 可以對串列內的數值 (包括整數及浮點數) 進行排序: 上面程式碼對 myList 串列排序, 執行結果是:上面所使用的 sort 方法會改變原本的串列排序, 但如果想保留原本的串列排序, 那便要用 sorted 函式, 例如: 執行結果與上面的例子一樣, 分別是保留原來 myList 的排序, 將新結果放入新建立的串列 newList 內.如果想將數值進行倒序排列, …

Google One 香港啟用,收費更便宜

Google One 在外國已經推出一段時間,但香港一直未開通,只可以使用 Google Drive 作儲存相片及文件。Google One 與 Google Drive 的免費儲存同樣是 15GB,最大分別是 Google One 的升級儲存空間計劃比 Google Drive 便宜,而且支援最多 6 人共享儲存空間。以下是 Google One 提無的雲端儲存空間計劃:15GB -> 免費 100GB -> $15 (每年 $150) …

Linux 建立 Virtual Hard Disk (VHD)

Virtual Hard Disk (VHD) 是通過軟件技術, 在硬碟建立映像檔虛擬硬碟。本文會介紹在 Linux 建立 VHD 的方法。在 Linux 建立 VHD, 最簡單的方法是用 dd 指令, 先執行以下指令建立 VHD: $ sudo dd if=/dev/zero of=/media/myvhd.img bs=1M count=1200以上指令會建立 /media/myvhd.img 映像檔, 限制讀寫速度 1M, 而 …

MySQL / MariaDB 轉移到新主機

以下文章會介紹將 MySQL / MariaDB 轉移到新主機的方法, 在轉移前最好確定兩台主機安裝的 MySQL / MariaDB 版本相同, 這樣出問題的機會會較少。要完整轉移 MySQL 伺服器, 包括所有 MySQL 資料庫、使用者帳號及權限到新主機, 只需將 MySQL 的資料目錄及 my.cnf 複製到新主機, 並設定權限即可, 複製資料到新主機可以用 Rsync 完成, 可以參考以下文章:rsync 透過 SSH 傳送及備份檔案 Rsync …

curl 顯示 HTTP header 檔頭

curl 是 CLI 下的瀏覽器, 有時在 Linux 需要對網頁進行除錯時, 只需要檢視 HTTP 的 header 檔頭資訊, 可以透過 curl 的 -I 參數取得, 例如: $ curl -I https://google.com.hk HTTP/1.1 301 Moved Permanently Location: https://www.google.com.hk/ Content-Type: text/html; …