Tag: FreeBSD

刪除 uniq -c 輸出的空格

uniq 是將重複資料過濾的工具, 加上 -c 參數會計算每個結果的數量, 但它會在輸出結果前加入空格, 例如: 如果要刪除統計結果前的空格, uniq 本身不能實現, 需要借助其他指令, 將輸出結果用管線 pipe 放到 sed 或 grep 來去除前面的空格, 例如: sed: /linux/remove-uniq-space $ sort | uniq -c | sed ‘s/^ …

Nginx 開啟 gzip 壓縮設定

gzip 是一種壓縮工具, Web Server 透過 gzip 將數據壓縮, 再發送給使用者的瀏覽器解壓。這樣所需傳送的數據便會減少, 提昇網站的速度。 以下是在 Nginx 開啟 gzip 壓縮的方法。 在開啟 gzip 前, 可以先用 curl 檢視一下目前 Nginx 是否有開啟 gzip, 輸入以下指令: /linux/curl $ curl -H “Accept-Encoding: …

Shell Script 檢查檔案是否有指定字串

在 Linux CLI 下可以用 grep 指令, 將檔案包含有指定字串的行印出, 或者配合 -c 參數直接印出匹配的行數, 例如: $ grep -c string filename.txt 如果在 Shell Script 要檢查檔案是否有指定字串, 當然可以檢查以上指令輸出的數值, 但另一個更方便的方法, 是用 grep 的 -q 參數, 具體寫法是這樣: grep …

cURL 查詢主機回應時間

測試主機的回應時間很多時都會用到, 而 cURL 可以自訂輸出的格式, 以取得主機的回應時間。 首先建立儲存 cURL 格式的樣案: $ vi curl-format.txt 加入以下內容: 然後執行以下指令測試主機的回應時間: 然後會輸出類似以下的結果: 上面的 cURL 指令會測試 https://www.google.com/ 的回應時間, 將網址換成要測試的網址即可。

touch – 修改檔案時間戳記及建立新檔

touch 指令可以建立空白的新檔案, 改變現有檔案及目錄的戳記, 以下是 touch 指令的用法。 linux-touch-command 在介紹 touch 指令的用法前, 首先講一下 Linux 的檔案的 3 種時間戳記: atime (access time) -> 檔案最後被開啟、讀取或存取的時間。 mtime (modify time) -> 檔案最後被修改的時間。 ctime (change time) -> …

crontab 開機自動執行指令

一般上設定開機自動執行指令, 可以編輯 /etc/rc.local 檔案, 而除了編輯 /etc/rc.local 外, 也可以用 crontab 完成。 crontab 是十分好用的排程自動執行工具, 它指定執行時間間隔十分靈活, 其中一個做法是用 @reboot 參數, 設定成每次開機自動執行。 首先開啟 crontab: # crontab -e 加入以下一行: 以上一行設定開機後等待 1 分鐘 (60 秒), 自動執行 …

rename 指令 – 批次大量修改檔案名稱

在 Linux 要修改檔案名稱, 可以用 mv 指令, 但如果要重新命名的檔案很多, 用 mv 逐一修改會很痛苦, 也增加出錯的機會。而 rename 指令則可以批次大量修改檔案名稱。 例如我想將所有 .jpeg 結尾的圖片, 改變副檔名成 .jpg, 可以用以下指令: $ rename ‘s/.jpeg/.jpg/’ * 以上指令會將當前目錄下, 所有 .jpeg 結尾的檔案, 改名成 .jpg …

Shell Script 檢查網路連線

Linux 下要檢查網路連線的工具有很多, 以下是用 Shell Script 檢查網路連線的方法。 最簡單的方法是用 ping 指令, 嘗試 ping google.com, 這樣除了測試網路連線外, 也一同測試 DNS: 執行上面的 Shell Script 後, 當網路連線及 DNS 正常, 會輸出 “Network is up”; 不正常敗會輸出 “Network is …

Shell Script 英文字母大小寫轉換

寫程式很多時要將英文字母大小寫轉換, 例如想將第一個字母轉成大寫; 將 hostname 轉換成全部大寫或小寫等。Shell Script 可以用 tr 指令完成。例如: 上面的 tr 會將 “sam tang” 轉換成 “SAM TANG”, 如果是將大寫轉換成小寫, 將 及 互換即可。 而 tr 另一種寫法可以這樣寫: bash 提供了另一個方法, 使用 “^” 轉換第一個字母成大寫; …