Linux 於 Bash shell (CLI) 要把檔案列出來,再來要抓出每個檔名,再分別處理,script 要怎麼寫呢?
標籤: bash
Linux 快速查看網路、硬碟、負載、記憶體使用情況的 Shell Script
Linux 做系統監控,最基本的就是網路、CPU、硬碟、Load Average (uptime)、RAM、SWAP 等等,若系統有問題時,這些也是首先查看的點。
此程式就是可以快速將這些資訊整理起來,一次呈現,所以若有問題時,登入系統直接執行,可以省掉不少時間。
Bash shell 使用 CURL urlencode 送參數
Bash shell 想要送中文等需要被 urlencode 過的文字到網址去,要怎麼做呢?
此篇使用 curl 直接傳送,另外在紀錄 Bash 的 urlencode() / urldecode() 寫法
Bash history 加上 日期和時間
Linux 使用 Bash 要查看之前輸入過的命令,可以使用 history,history 就會列出:
- 1 ls
- 2 vi
- 3 man date
- ...
使用 !1 就會執行 1 的命令 (ls)
但是知道大約何時下過的命令,但是 history 預設是沒有存時間的,所以想要把時間也紀錄進去,要怎麼做呢?
Linux 帳號建立的預設檔案 .bash*、.profile
Linux 使用 useradd 建立新的帳號時,都會有三個預設檔案:
- .bash_logout
- .bashrc
- .profile
註:.profile 會呼叫執行 .bashrc
但是使用 adduser 直接新增帳號後(需要大量建立帳號,略過詢問的過程),這三個檔案並不存在,這些檔案在哪邊呢?
Bash shell 的 date 印出「年月日時分秒」的參數
Linux 的 Bash Shell 很常會使用到 date 的命令,特別是用到備份、某些固定時間該做的處理等等,參數是哪些呢?
每次都是去 man date 來查看這個參數(因為會有大小寫不同,24hr、前面補0 等不同),在此紀錄最常用的年月日參數,並把跟 awk 搭配的方式列出來。
Bash script 取得自己的檔案名稱
Bash 的 Shell script 要抓自己的檔案名稱,只要用 $0 就可以抓到,不過 Shell script 若被呼叫時,用 $0 抓到的名稱是如何呢?
另外,Bash 有哪些預設的變數可以使用呢?
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 要怎麼達成呢?
CURL 於 CLI 顯示 TCP、SSL 的連線時間
Linux 於 CLI 使用 CURL 想要測試看看網站的詳細連線速度,要怎麼做呢?
註:此篇「httpstat 分析 從 DNS查詢 到 下載完成各個階段的處理時間」也是使用 CURL 類似做法達成的,此篇是更簡化的版本。