command

jq 指令超實用秘訣

談到透過命令列處理 JSON ,直覺就會想到 jq

近來學會利用 jq 指令處理 JSON 資料後透過樣板(template)輸出格式化字串,因此本篇將分享 2 個關於 jq 的實用秘訣:

  • | 運算子(operator)
  • 輸出 jq 結果到 standard output (stdout)

Posted on  May 21, 2020  in  Unix-like 命令列教學  by  Amo Chen  ‐ 2 min read

用 sed 指令插入(insert)文字到檔案中的指定行數

最近在改用 hexo 寫成的部落格文章,幫文章加上 langauthor 2 個 Front-matter 變數,但是檔案有 100 個以上,總不可能一個一個慢慢改,問了 Google 大神後,發現 sed 指令可以幫忙把文字插入到檔案中的功能,著實減輕不少麻煩。

一起來看看 sed 怎麼把資料插入到檔案的特定行數吧!

Posted on  Oct 27, 2019  in  Unix-like 命令列教學  by  Amo Chen  ‐ 1 min read

環境變數切換利器 - direnv

開發程式時常會設定各式各樣的環境變數,例如 DEBUG mode, PRODUCTION mode 等等環境變數,這時候除了在 .profile .bashrc 等檔案中設定好環境變數之外,還有另一種選擇 direnv

direnv 可以讓我們在切換資料夾時,自動設定好不同的環境變數,在離開資料夾時自動清除環境變數的設定,使用上相當方便。

Last updated on  Oct 4, 2022  in  Unix-like 命令列教學  by  Amo Chen  ‐ 2 min read

利用 Linux 指令 envsubst 產生設定檔

最近在 k Docker 相關文件時,發現一個好用的指令 envsubst ,因此特別紀錄一下。

The envsubst program substitutes the values of environment variables.

因為撰寫 Dockerfile 時會有將設定檔放進 Docker 內的需求,而設定檔中又有些必須設定為變數,視不同情況寫不一樣的值進去,例如針對開發環境跟生產環境的區別有不一樣的設定。

這時最簡單的方法是利用環境變數(environment variables)搭配 envsubst 來產生設定檔。

Posted on  Feb 23, 2018  in  Unix-like 命令列教學  by  Amo Chen  ‐ 1 min read

Linunx 指令 nc 用法

nc (netcat) 是 Linux 系統中十分好用的 TCP/UDP 網路程式,從它的 man page 裡面就可以發現 nc 其實有很多種用途,例如通訊埠掃描(port scan)、檔案傳輸、聊天,甚至是透過遠端執行 Shell 都可以。

p.s. 基於系統安全,並不建議利用 nc 作為遠端執行 Shell 的工具

本文整理了幾種 nc 常見的用法。

Posted on  May 18, 2017  in  Unix-like 命令列教學  by  Amo Chen  ‐ 3 min read

awk 指令教學

很多 UNIX-like(Unix, Linux) 程式都是以欄位表格作為執行結果報告,有些時候資料量更可能動輒上百、上千、上萬筆,因此對於 UNIX-like 的使用者而言,如何有效的從這些欄位表格的報告中擷取所需的資料就顯得相當重要,畢竟一行一行細看太花時間成本,也相對沒有效率。

為了幫助我們快速完成資料擷取的工作,在很多 Unix-like 系統中,都有相關指令可以幫忙,例如 cut, grep, sed, awk 等等,其中最值得再進一步深入學習的,大概就是 awk 了。

本篇教學會詳細說明常見的 awk 用法及可能的應用,以使各位對使用 awk 都能有基礎的認識。

Last updated on  Dec 31, 2022  in  Unix-like 命令列教學  by  Amo Chen  ‐ 3 min read