Linux 快速查看網路、硬碟、負載、記憶體使用情況的 Shell Script

Linux 做系統監控,最基本的就是網路、CPU、硬碟、Load Average (uptime)、RAM、SWAP 等等,若系統有問題時,這些也是首先查看的點。

此程式就是可以快速將這些資訊整理起來,一次呈現,所以若有問題時,登入系統直接執行,可以省掉不少時間。

閱讀全文〈Linux 快速查看網路、硬碟、負載、記憶體使用情況的 Shell Script〉

Bash shell 使用 CURL urlencode 送參數

Bash shell 想要送中文等需要被 urlencode 過的文字到網址去,要怎麼做呢?

此篇使用 curl 直接傳送,另外在紀錄 Bash 的 urlencode() / urldecode() 寫法

閱讀全文〈Bash shell 使用 CURL urlencode 送參數〉

Bash history 加上 日期和時間

Linux 使用 Bash 要查看之前輸入過的命令,可以使用 history,history 就會列出:

  1. 1 ls
  2. 2 vi
  3. 3 man date
  4. ...

使用 !1 就會執行 1 的命令 (ls)

但是知道大約何時下過的命令,但是 history 預設是沒有存時間的,所以想要把時間也紀錄進去,要怎麼做呢?

閱讀全文〈Bash history 加上 日期和時間〉

Bash shell 的 date 印出「年月日時分秒」的參數

Linux 的 Bash Shell 很常會使用到 date 的命令,特別是用到備份、某些固定時間該做的處理等等,參數是哪些呢?

每次都是去 man date 來查看這個參數(因為會有大小寫不同,24hr、前面補0 等不同),在此紀錄最常用的年月日參數,並把跟 awk 搭配的方式列出來。

閱讀全文〈Bash shell 的 date 印出「年月日時分秒」的參數〉

Bash script 取得自己的檔案名稱

Bash 的 Shell script 要抓自己的檔案名稱,只要用 $0 就可以抓到,不過 Shell script 若被呼叫時,用 $0 抓到的名稱是如何呢?

另外,Bash 有哪些預設的變數可以使用呢?

閱讀全文〈Bash script 取得自己的檔案名稱〉

Linux Bash 出現 bind: warning: line editing not enabled 的問題修復

於 Linux 的 Bash shell 依照此篇文章「Bash 使用 Tab 自動完成 檔案或目錄的輸入」的做法,使用 bind 來做些設定,但是在 scp 到這台 server 時,就會出現下述警告訊息:

bind: warning: line editing not enabled

要如何避免這個訊息呢?

閱讀全文〈Linux Bash 出現 bind: warning: line editing not enabled 的問題修復〉

Bash 使用 Tab 自動完成 檔案或目錄的輸入

Bash shell 要選取 資料夾 / 檔案,可以使用 Tab 來輔助

  • Tab 一次會自動補期 (若目錄只有一個,Tab 一直按,會一直往下補下去)
  • Tab 二次會秀出此資料夾的所有檔案內容

在 Zsh 使用到按 Tab,若有多個資料夾,就會自動選取(自動補齊 / 自動完成)資料夾,按 Tab 則繼續其他資料夾挑選,於 Bash 要怎麼達成呢?

閱讀全文〈Bash 使用 Tab 自動完成 檔案或目錄的輸入〉

CURL 於 CLI 顯示 TCP、SSL 的連線時間

Linux 於 CLI 使用 CURL 想要測試看看網站的詳細連線速度,要怎麼做呢?

註:此篇「httpstat 分析 從 DNS查詢 到 下載完成各個階段的處理時間」也是使用 CURL 類似做法達成的,此篇是更簡化的版本。

閱讀全文〈CURL 於 CLI 顯示 TCP、SSL 的連線時間〉

於 Linux Shell 使用 shuf 將檔案依行數「隨機排列」

Linux 於 Bash shell 的檔案內容,通常經過去掉重複後,通常都是 sort 過的內容,想要將這個檔案的內容在讓他「隨機排序」,要怎麼做呢?

閱讀全文〈於 Linux Shell 使用 shuf 將檔案依行數「隨機排列」〉