[Python] 判斷是否有來自標準輸入的內容傳入

一個處理資料的 CLI command 一定會有資料輸入,而輸入來源可以是檔案,也可以是從標準輸入(Standard Input, STDIN)而來,若需要同時支援標準輸入與指定參數(檔案路徑),則需要判斷輸入來源為何。參數判斷的部分,若是使用 argparse  開發的話,則在呼叫 argparse.add_argument() 時就可以設定好參數,最後呼叫 argparse.parse_args() 時即可得知是否有參數輸入,那標準輸入要如何判斷?

Read more “[Python] 判斷是否有來自標準輸入的內容傳入”

[Linux] dig/nslookup/nsupdate 指令安裝

dignslookupnsupdate 是在進行域名解析除錯時常用到的工具,這三個指令是隸屬於 BIND DNS Server  的 Utility,如果安裝套件時直接搜尋指令,應該是看不到套件名稱上會有指令名稱的,應該會是 bind-utilsdnsutils

 

安裝方式

Debian/Ubuntu:

sudo apt install -y dnsutils

 

Red Hat (CentOS/Fedora/RHEL):

sudo yum install bind-utils

 

Cygwin: 可透過 EXE 安裝檔安裝 bind-utils,有 apt-cyg  可以使用下列指令安裝:

apt-cyg install bind-utils

 References
BIND Open Source DNS Server | Internet Systems Consortium

[Cygwin] 使用 apt-cyg 管理 Cygwin 的套件

Cygwin 可以安裝許多套件,不過都需要透過 EXE 安裝檔來進行安裝,如果想要直接在 Cygwin CLI 內進行安裝,可以使用 apt-cyg

 

apt-cyg 安裝到 /usr/local/bin

wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg -O /usr/local/bin/apt-cyg
chmod +x /usr/local/bin/apt-cyg

 

這裡列出常用的指令,完整指令說明可參考  apt-cyg

# 在已安裝的套件中搜尋與 dns 相關的套件
apt-cyg search dns

# 線上搜尋(cygwin.com)與 dns 相關的套件
apt-cyg searchall dns

# 安裝 bind-utils 套件
apt-cyg install bind-utils

# 移除 bind-utils 套件
apt-cyg remove bind-utils

 

 

[Ubuntu] 如何使電腦進入休眠與睡眠模式?

在 Windows 系統下,電腦閒置時可以透過休眠模式或睡眠模式讓電腦省電,在 Ubuntu 可以透過下面兩個指令達到相同的效果:

  • sudo systemctl hibernate:Hibernate 模式,將記憶體內容寫入硬碟後完全關閉電源,等同 Windows 的休眠模式。
  • sudo systemctl hybrid-sleep:Hybird Sleep 模式,只供應電源給記憶體,其餘零件全部切斷電源供給,等同 Windows 的睡眠模式。

 References