Nginx 要設定 Gzip 的注意事項 與 測試方式 要怎麼做?
標籤: linux
AWK 取得欄位的「最後」與「倒數第二個值」的方法
使用 AWK Parse access.log,在某些特定條件會發生抓錯欄位的情況(若使用 空白 切割,沒使用 " 搭配切割,就容易抓錯欄位)
不過經常快速處理,都是使用空白切割即可,那要抓最後的欄位,比較簡單的方式就是一樣「空白切割」或「" 切割」,只是資料抓法是從後面往前抓。
- AWK 要取得最後一個欄位的值是使用: $NF
- AWK 要取得倒數第二個欄位的值是使用: $(NF-1)
- 由後往前取,就繼續 -2、-3... 下去即可
- 範例:awk '{print $(NF - 2)}' # 從後面數來第二個
所以要抓 access.log 倒數第二欄 和 第二欄,範例如下:
- cat access.log | awk -F\" '{print $(NF-2),$2}' # 使用 " 切割
想抓超過 500ms 的網址(註:elapsed 並不是預設就有,需要另外加上)
- cat access.log | awk -F\" '{print $NF,$2}' | awk '{print $1,$3}' | sed 's/elapsed=//' | sed 's/us//' | awk '{if ($1 > 500000) {print $1, $2}}'
- cat access.log | awk -F\" '{print $(NF-2),$2}' | awk '{print $1,$3}' | sed 's/elapsed=//' | sed 's/us / /' | awk '{if ($1 > 500000) {print $1, $2}}'
MySQL 強制關閉的方式
Linux 要將 MySQL 關閉的方法,有下述幾種:
- /etc/init.d/mysql stop
- service mysql stop
- systemctl stop mysql
但是發現關不掉要怎麼辦呢?
- 註:若 my.cnf 有修改,記得先改回去,再來嘗試關閉 MySQL 的動作
Dockerfile 的 /etc/hosts 如何設定
Docker (Dockerfile) 裡面想要設定 /etc/hosts,要怎麼做呢?
於 Dockerfile 撰寫,將外面的 /etc/hosts 蓋掉 Docker 裡面的,都還是無效,要怎麼做才可以把外部的 hosts 設定到裡面去呢?
Termgraph:於 CLI 畫出柱狀圖的程式
Linux 在 CLI 想要將數據資料化成柱狀圖(Bar chart),可以使用 Termgraph 來達成。
Windows 95 釋出 App 可以在 Windows、MacOS、Linux 執行
Windows 3.1 之後,一次跳級到 Windows 95 的改變很大,從開機啟動到操作模式的改變。
開機模式:
- Boot → DOS → Windows 3.1
- Boot → Windows 95
HTTPS 的 CLI (telnet) OpenSSL Client
HTTP 於 CLI 的環境,想要連線測試,可以使用 telnet 來連線,例如下述:
- $ telnet example.com 80
GET / HTTP/1.1
Host: example.com - $ telnet www.example.com 80
GET / HTTP/1.1 Host: www.example.com
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
於 HTTPS 的話要怎麼做呢?
Vim 指定 檔案名稱 使用特定的 Syntax
.bashrc 越寫越多,想要將 alias、function 等等拆開,但是遇到 Vim Syntax Highlight 預設不支援的問題,要怎麼解決呢?
- 註:於檔案最後面加上 # vim: syntax=sh 沒有效用
Vim Script 取得目前的文字 與 檔案類型(vimrc)
Vim 想要將某個字自動切割、選取,然後丟去給字典或其它功能查詢,預設有 keywordprg 可以使用(詳見:文字介面字典結合 vim),不過這個已經用在查詢字典,想要自己額外再做其它功能,就需要選取與檔案類型的判斷,Vim 要怎麼做到呢?
Linux 遇到 nf_conntrack: table full, dropping packet 解法
系統平常跑得很正常,為何灌了 Docker 後,dmesg 開始出現下述的訊息:
- nf_conntrack: table full, dropping packet
要怎麼解決呢?