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; …

升級 CentOS 7.6 後, FTP 不能登入

RHEL 7.6 已經釋出超過一個月, 昨天 CentOS 7.6 剛釋出, 將伺服器升級到 CentOS 7.6.升級後好像沒什麼問題, 但後來發現原來的 vsftpd 不能登入, 即使帳號及密碼正確也不能登入, 總是說密碼錯誤。然後關閉 vsftpd, 安裝 proftpd 也是相同結果後來找到問題所在, 是因為升級的其中一個套件 setup-2.8.71-10.el7 所致。由於不開放使用者登入 ssh/telnet, 只開放 ftp, 所以使用者的 shell 設定為 /sbin/nologin, 而在 …

Linux 檢視指令的執行時間

在 Linux 下要找出個別指令或 process 的執行時間, 可以用 GNU time 實現, 這個工具可以很簡單地測量指令的執行時間。而 “time” 指令已經內建在主要 Linux 發行版。要測試一個指令的執行時間, 只要在 time 指令後加上要測量的指令, 例如: # time ls 以下是輸出的例子: dir1 dir2 file1 file2 real 0m0.003s user 0m0.002s …