Unix Like 作業系統的分支發行版眾多,如果是圖形介面可能還勉強可以猜出是什麼發行版,但是如果是在 CLI 底下就無法直接得知。這裡整理針對 Linux 與 BSD 兩大分支的五種查看發行版本與核心版本的指令。
uname -mrs
(Linux / BSD)
uname
在 Linux 與 BSD 的發行版都可使用,在 BSD 系統底下可直接查看發行版本與核心版本,而在 Linux 系統底下僅能查看核心版本,發行版本需透過其它指令得知。
|
|
cat /etc/os-release
(Linux)
cat /etc/os-release
僅能在 Linux 發行版下使用,帶出的發行版資訊很完整,但不含核心版本資訊。
|
|
hostnamectl
(Linux)
hostnamectl
這個指令是用來修改主機名稱的,但不帶入任何參數時除了會列出主機名稱外,還會列出發行版本與核心版本資訊。這個指令一樣僅能在 Linux 發行版下使用。
|
|
lsb_release -a
(Debian / Ubuntu)
lsb_release
會列出發行版名稱、版本與代號,在 Debian 與 Ubuntu 系統下預設就有支援,而其它發行版如 CentOS 或 Fedora 等則要另外安裝 redhat-lsb-core
套件才可以使用。BSD 發行版則沒有支援。
|
|
freebsd-version -ku
(FreeBSD)
freebsd-version
是 FreeBSD 專用的核心版本查詢,特別的是 FreeBSD 下有區分核心版本 (Kernel Version) 與使用者層級版本 (Userland Version),分別對應到參數 -k
與參數 -u
。
|
|
下表整理各個指令對應的作業系統:
OS / Command | Debian | Ubuntu | Fedora | CentOS | FreeBSD |
---|---|---|---|---|---|
uname -mrs | v | v | v | v | v |
cat /os-release | v | v | v | v | |
hostnamectl | v | v | v | v | |
lsb_release -a | v | v | |||
freebsd-version -ku | v | v |
References: