Tag: FreeBSD

Linux 更新 Symbolic Link 連結

Symbolic Link 連結是 Linux 和 Unix 系統中強大的功能之一, 在 Unix Like 的作業系統經常會用到 Symbolic Link 連結, 對於管理系統的設定檔很好用,例如在 home directory 建立指向各種設定檔的檔案或目錄。 如果 symbolic link 指向的位置變更了, 要把 symbolic link 的指向也一拼更新, 當然可以用 rm 及 …

Shell Script 讀取 Load Average

在 Linux 要讀取 Load Average 的數值很容易, 用 uptime 指令或檢取 /proc/loadavg 檔案便可以, 而以下文章是在 Shell Script 把 load average 讀取。 uptime 輸出結果: $ uptime 09:50:17 up 7 days, 13:52, 1 user, …

VIM 使用自動縮排下貼上程式碼

在 VIM 寫程式時, 很多時會設定使用自動縮排, 即用 audoindent 或 smartindent, 這樣只是寫程式沒問題, 但如果要複製並貼上一些程式碼, 這會重覆縮排。 要解決這個問題, 可以在用 vim 時, 輸入以下指令: 完成貼上後, 要回復原來的自動縮排, 便再次輸入以下指令: 如果預設值是會自動縮排, 那便關閉檔案後, 會自動開啟縮排。 但要輸入上面的指令也很麻煩, 所以在 .vimrc 檔案設定, 用 F3 鍵進行切換, …

BIND DNS 設定多層副域名

在 BIND DNS 裡面要設定副域名, 在 zone file 用以下格式設定: 或 以上是設定 www 副域名的方法, 但如果要設定多層的副域名, 例如 “m.www.opencli.com” 這個, 如果直接輸入以下內容會出現錯誤: 這時便不能啟動 named. 要解決可以有兩種方法, 其中較麻煩的方法是建立一個 “ftp.opencli.com” 的 zone file, 然後在 “ftp.opencli.com” 這個 zone …

sudo 嚴重安全漏洞 (CVE-2021-3156)

sudo 發佈安全漏洞通告 (CVE-2021-3156), 只要 sudoers 檔案存在 (一般是 /etc/sudoers), 攻擊者就可以用本機普通用戶的身份, 透過 sudo 獲取 root 權限。危險的地方是攻擊者可以透過 web 攻擊, 執行身份可能是 apache 或 www-data. 測試方法: 要測試系統是否存在威脅, 可以用 root 以外的帳號登入, 執行以下指令: $ sudoedit -s …

Shell Script 將指令輸出儲存到變數

在 Shell Script 要將執行指令的輸出儲存到變數, 而不是直接輸出結果, 可以用以下兩種寫法: 或 要留意的是, 跟 PHP 或 Python 等不同, 在等號 (=) 前後不可以加入空間。 例如要將日期儲存到變數 today, 可以用以下寫法: 或 將變數內容輸出跟其他變數一樣, 可以用 echo 或 printf: 以上是在 Shell Script 把指令輸出儲存到變數, …

Shell Script 加入今天的日期

在寫程式時很多時也需要使用今天的日期, 例如在建立檔案或目錄名稱時, 會加入日期以作識別。 Linux 的 date 指令可以輸出日期, 如果只要單純地輸出日期, 可以這樣寫: 以上指令會用以下格式輸出今天日期: Today is Tue Dec 10 08:21:01 HKT 2019 如果想要建立一個目錄, 在後面加入今天日期以作識別, 例如建立像這樣的目錄 /backup/files-20191210/, 可以用以下寫法”

Shell Script 自動檢查硬碟使用量

Linux 下要用 Shell Script 自動檢查硬碟分割區的使用量, 可以透過 df 指令實現。 df 指令可以在 Linux 下檢視硬碟分割區使用量, 配合 grep 及 awk 擷取所需的資訊, 便可以用 Shell Script 自動檢查硬碟使用量, 當發現使用量超過設定的百分比 (例如 80%) 時, 再用 mail 指令發出電子郵件通知系統管理員。 執行 …

Shell Script 檢查檔案或目錄是否存在

寫程式時很多時候需要檢查檔案或目錄是否存在, 在 Shell Script 檢查檔案及目錄是否存在, 可以在 if 條件判斷式裡面加上 -e 或 -d 實現, 以下是具體寫法: 檢查檔案是否存在: 上面的 if 判斷式也可以用一行來實現: 檢查目錄是否存在: 用一行來實現上面的程式碼: 其中一個十分實用的例子, 是檢查檔案或目錄是否存在, 如果不存在就便宜檔案或目錄: This is the best practice to check …