Tag: Debian & Ubuntu

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/, 可以用以下寫法”

Linux 修改系統帳號使用者名稱及 UID

在 Linux 要修改系統帳號的使用者名稱或 UID, 需要使用 usermod 指令完成。以下是在 Linux 下修改使用者名稱、UID、使用者家目錄的方法。 在修改使用者名稱前, 需要先確定該帳號目前並沒有登入, 以及沒有 process 正在執行, 如果帳號已經登入或有 process 正在執行, 使用 usermod 後會出現以下錯誤: usermod: user tom is currently used by process xxxx …

Linux 安裝及使用 netstat

Netstat 的全寫是 network statistics, 是分析網路流量的指令, 例如可以檢視開啟了的埠號或遠端連線的 IP 及 Routing table 等。 本文是關於在 Linux 下安裝 netstat, 及 netstat 的基本應用。 現在多數的 Linux 發行版預設沒有安裝 netstat, 執行 netstat 會出現以下錯誤: netstat: command not found …

Linux 清除 DNS 快取

DNS 的作用是將網域解譯成 IP 地址, 為了使連線更有效率, 系統不會每次也向 DNS 伺服器查詢 IP, 而會在本機把網域的 IP 儲存在快取。 但如果網域的 IP 已經更新, 用 nslookup 查詢也看到新的 IP, 但用瀏覽器還是連到舊的 IP, 這樣可能是因為系統或瀏覽器的快取還未更新。如果是瀏覽器的 DNS 快取, 可以參考 Chrome, Firefox 及 Safari …

Linux 禁止普通帳號檢視 dmesg 內容

Linux kernel 會將開機訊息儲存在 ring buffer, 如果開機後想檢視開機的訊息, 可以用 dmesg 指令查看, 或者檢視 /var/log/dmesg 檔案的內容. 執行 dmesg 不用 root 權限, 普通帳號也能執行: $ dmesg 如果想禁止普通帳號檢視開機訊息, 可以設定 kernel 的 dmesg_restrict 變數: $ sudo sysctl …

PHP-FPM 設定 php_admin_value

在伺服器進行 PHP 設定, 最直接的方法是編輯 php.ini 檔案, 如果是使用 mod_php 的情況下, 可以用 php_admin_value 或 php_admin_flag, 在 Apache 對個別目錄或 VirtualHost 設定不同的 PHP 參數, 或者使用 .htaccess 設定更可以不用重新載入 httpd 修改 PHP 設定。 但如果是使用 PHP-FPM …

Shell Script 自動檢查硬碟使用量

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