FB 建議貼文

選取貼文複製成功(包含文章連結)!

Mac 終端機必備開源套件懶人包,影音轉檔、文件處理與系統監控全搞定

Mac 終端機必備開源套件懶人包,影音轉檔、文件處理與系統監控全搞定

為了讓你的 Mac 終端機發揮最大潛力,並順利運用後續專欄中分享的開源工具與程式,我們需要先建立一套「基礎建設」。這篇,我們將介紹所有開發者在 Mac 上必備的門檻——開源套件管理器。

 

 

為什麼我們會需要開源套件?

簡單來說, 使用開源套件(OpenSource Packages / Libraries)就像是「站在巨人的肩膀上」來看世界這樣。

我自己對於開源套件有幾個看法。

Mac 終端機必備開源套件懶人包,影音轉檔、文件處理與系統監控全搞定

避免閉門造車

這世界上如果沒有開源套件,每一個工程師在開發軟體時,都必須從零開始編寫每一行程式碼,這在現代幾乎是不可能的任務。

就像你在 Excel 算式表裡面的函式,其實是別人編寫而成的運算公式;我們只需要把(函式、判斷條件、成立、不成立)這個邏輯寫進試算表的欄位中,它就能運算。

=函式(判斷條件,成立,不成立)

而在軟體開發中,有許多運算需求是通用且重複的,例如「處理時間日期、發送網路請求、加密密碼、或繪製圖表」。

開源套件解決了這些基礎建設的問題,讓開發者可以將時間和精力集中在獨特的商業邏輯,例如「你的產品如何獲利、你的演算法如何推薦商品」上,而不是浪費時間去寫一個每個人都寫過的日期格式轉換器。

使用現成的模組(如 React 建構網頁、Pandas 處理數據)的好處是,可以將開發週期從數個月縮短到數週。

想像你要開一家餐廳,你應該專注於設計菜單和烹飪(商業邏輯),而不是自己去種稻米、養牛、甚至親手蓋房子(基礎建設)。

群眾智慧與原始碼品質

很多人誤以為「免費的沒好貨」,但在開源世界往往相反。熱門的開源套件通常比單一公司內部開發的程式碼更穩定、更安全。一個熱門的套件(如 Linux Kernel 或 Python)可能有數千名來自世界各地的頂尖工程師在維護。任何 Bug 或安全漏洞,通常會被迅速發現並修復。

這些套件被成千上萬的專案使用過,經過實際戰場的驗證,各種邊緣情況(Edge Cases)都已經被測試並解決了。

促進創新與標準化

開源套件推動了技術的普及,並建立了一套「通用語言」。

像 TensorFlow 或 PyTorch 這樣的開源庫,讓 AI 技術不再被少數大公司壟斷,個人開發者也能降低門檻在家訓練模型。

而且當大家都使用標準的套件(例如前端都用 React 或 Vue),公司在招聘時更容易找到即戰力,工程師之間的交流也更順暢,因為大家是在同樣的基礎上技術堆疊。

成本效益同時提升

大多數開源套件都是免費使用的(但需注意授權條款)。

企業不需要為了通用功能支付昂貴的授權費,也不需要養一整組團隊來維護基礎底層原始碼,對於許多小公司來說反而可以降低研發成本。

使用開源技術意味著你不被單一廠商綁架。如果某個付費軟體倒閉了,你可能無路可走;但開源專案即便原作者棄坑,只要社群還在,專案通常會有人接手或分叉(Fork)。除了避免供應商鎖定(Vendor Lock-in)還可以防止自家的開發環境變成孤兒。

macOS 上安裝開源的必備條件

在 Linux 上面,要安裝開源套件就是直接安裝 apt、aptget 這一類的套件管理器,冷門的也有 dpkg 之類的。

在 Windows 上,你可以去 Microsoft Store 直接下載軟體,也可以用微軟現在內建的 Winget(Windows Package Manager)指令在終端機安裝,不需要依賴 WSL。

Mac 終端機必備開源套件懶人包,影音轉檔、文件處理與系統監控全搞定

而在 macOS 上,除了要安裝套件管理器之外,你還得先優先安裝「Xcode Command Line Tools」來讓 macOS 支援 IDE 環境。

Xcode Command Line Tools 是蘋果提供的一個較小且自包含命令列工具的套件,允許開發者在 Mac 上執行命令列軟體開發,而無需完整的 Xcode 整合開發環境(IDE)。它包含了 UNIX 風格的基本工具,如編譯器(clang、gcc)、用於版本控制的 git、make 以及 macOS SDK。

反正講這麼多就是 Xcode Command Line Tools 很重要,是一定要安裝的核心套件之一。

安裝 Xcode Command Line Tools

開啟「應用程式 > 工具程式 > 終端機.app」,終端機會顯示「等待輸入」模式,如下圖:

Mac 終端機必備開源套件懶人包,影音轉檔、文件處理與系統監控全搞定

這時候,你可以在終端機視窗輸入以下指令,並按下 Enter 來開始安裝:

xcode-select --install

安裝過程中大約 10-20 分鐘不等(實際時間會和你當地使用網路的速度有關係)。

當安裝完成後,終端機會回到「等待輸入」模式。

安裝開源管理器 Homebrew

在 macOS 中較知名的套件管理器是:Homebrew、MacPorts 這兩個。

MacPorts 會將依賴庫與系統隔開,系統潔癖者較偏愛此工具;而 Homebrew 則是 macOS 的標準配備,透過指令列安裝幾乎所有的開源軟體、開發工具,也能透過 Homebrew Cask 來管理一般商用程式,非常強大。

Mac 終端機必備開源套件懶人包,影音轉檔、文件處理與系統監控全搞定

我在本次套件管理器的選擇將以 Homebrew 來解說,同樣在終端機「等待輸入」模式下輸入:

/bin/bash -c "$(curl -fsSL

https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh

安裝完成後請設定環境變數,在終端機「等待輸入」模式下輸入:

echo 'eval "$(/opt/homebrew/bin/brewshellenv)"' >> ~/.zprofile

eval "$(/opt/homebrew/bin/brew shellenv)"

這邊科普一下這兩個指令實際做了什麼。

在舊款 Intel Mac 上,Homebrew 會預設安裝在「/usr/local」,這本來就在系統預設的搜尋路徑中。但 Apple Silicon 為了安全性與架構區隔,將 Homebrew 改安裝在「/opt/homebrew」。這個路徑不在 macOS 預設的搜尋清單裡,所以如果你不執行這兩行指令,輸入「brew」時,系統會回答你「command not found: brew」。

執行完這兩行後,你可以試試輸入「brew help」。如果出現了一堆指令說明,就代表你設定成功了!

設定完成後,你的開源套件管理器就算是設定完畢了∼撒花!

如果你對 Homebrew 想要深入瞭解,可以連上官網看看:https://brew.sh/zh-tw/

幾個知名的大型開源套件介紹

安裝完 Homebrew 之後接下來當然安裝一些必裝的工具,以下介紹幾個開源者知名的大型開源套件。

  FFmpeg

這是一個在開源套件界被稱為「神」一般存在的套件工具。簡單來說,它能夠錄製、轉檔、串流幾乎任何人類已知的影音格式。

用 homebrew 安裝 FFmpeg:

brew install FFmpeg

FFmpeg 之所以被稱為「神」,是因為它解決了多媒體世界最頭痛的問題:編碼(Codec)混亂。無論是古老的「.avi」還是最新的「.hevc」,FFmpeg 都能吞

下去並吐出你要的格式。

FFmpeg 連那個活躍在 20 年前的壓縮格式 RMVB 都可以輕易處理、轉換。(是一款真的對得起神這個稱號的開源套件)

FFmpeg 幾乎無所不在,YouTube 的官方影片壓縮引擊、Netflix 的串流傳輸、VLC 播放器的解碼能力,甚至是許多剪輯軟體的底層,幾乎都是建立在這套 FFmpeg 之上的。

舉一個 FFmpeg 範例,你要將某個檔案從 mkv 轉成 mp4,其實不設定參數的話就是一句:

ffmpeg -i input.mkv output.mp4

如果你要將影片轉成 mp3 並指定流量,那也是一句:

ffmpeg -i video.mp4 -vn -b:a 192k audio.mp3

ffmpeg 的指令看似複雜,但其實你常用的就是那幾個。

ImageMagick

如果說 FFmpeg 是開源界處理影片的「神」,那 ImageMagick 在開源界的圖片處理程式中也是無人出其右。

ImageMagick 是一個用來建立、編輯、合成點陣圖(Bitmap)的命令列超級工具。它的強大之處在於,它格式通吃,支援超過 200 種圖片格式,包括 PNG、JPEG、GIF、TIFF、SVG、HEIC、PDF⋯⋯等,只要你想得到的格式它都能支援。

用 homebrew 安裝 ImageMagick:

brew install ImageMagick

ImageMagick 的核心價值在於流程自動化。它能輕易嵌入到 macOS Automator 或 Shell Script 中,讓你在後台用一行指令,將資料夾裡的一萬張圖片自動完成縮放、加浮水印、轉檔等複雜任務。

範例,用 ImageMagick 來批次轉換一批圖片(把所有 jpg 轉成 png 並將像素縮小 50%):

cd ~/Desktop/images/

magick mogrify -format png -resize 50% *.jpg

在 ImageMagick mogrify 的參數中,-resize 是縮小像素,-quality 是壓縮演算法,-density 則是針對列印設定的各種參數。

另一個範例,把電腦桌面上「images」裡面的所有圖片都加上浮水印檔案:

cd ~/Desktop/images

mkdir -p watermarked_output

for img in images/ * .{jpg,jpeg,png,webp}; do

filename=$(basename "$img")

magick "$img" watermarked/logo.png -gravity SouthEast -geometry +20+20 -composite "watermarked_output/$filename"

done

ImageMagick 需要切換到工作路徑,這樣它在處理比較不容易出錯。那個 logo.png 就是我們的浮水印檔案。

Pandoc

如果你覺得上面那兩個開源套件已經讓你驚訝不已了,那麼你一定要把 Pandoc 也一起裝上,它強大的文件轉換能力絕對讓你值得好好的研究它。

用 homebrew 安裝 Pandoc:

brew install Pandoc

Pandoc 可以說是開源套件中,處理文件格式的瑞士刀,它可以把 Markdown 轉成 EPUB、把 Word(docx)轉成 Markdown、把 HTML 轉成 PDF、把 LaTeX 轉成 Word。基本上你想得到的文字格式它都能轉。

範例, 將 docx 轉換成 Markdown(md)格式:

● 導航到桌面資料夾

● 把桌面那個叫「input.docx」轉

換成「output.md」格式

cd ~/Desktop/

pandoc input.docx -o output.md

或是, 將docx 轉換成 md 格式, 輸出圖片到「media」資料夾,並不要輸出 Windows 的換行字元:

pandoc input.docx -f docx -t gfm --extract-media=./media --wrap=none -o output.md

很多寫作軟體,像 Scrivener、Obsidian、Typora⋯⋯匯出文件的背後都是 Pandoc 這個套件。

你在其他 Store 看到的那些文件轉換工具,底層的套件也很可能是 Pandoc。

cURL

最後一個我要介紹的工具是 cURL,它是現代網路應用的基礎。你可以用它來下載檔案、測試 API、發送表單數據。當你在寫指令需要「去網路上抓東西」或「跟伺服器溝通」時,絕對會用到它。

其實 macOS 也內建了 cURL 這個指令集,但 Apple 為了安全性,通常會對內建版本做一些「限制」或改動。假如你想體驗全功能的 cURL(例如 Open SSL),請務必用上面的指令從 homebrew 安裝起來。

用 homebrew 安裝完整版的 curl:

brew install curl

範例,下載遠端某個檔案並且更名:

curl -o my_download.png https://example.com/image.png

下載網路上某個檔案(支援斷點續傳,它會自己檢查已經下載的檔案完整性):

curl -C - -O https://example.com/bigfile.iso

製作一個 ASCII QRCode:

curl qrenco.de/https://www.google.com

查詢現在天氣(可以把 Taipei 改成你的城市):

curl wttr.in/Taipei

取得你的電腦現在對外的 IP(不是內網,是分享器對外的):

curl ifconfig.me

cURL 是終端機、shell script 中很常見的指令,學會它至少你可以看起來很厲害。

htop 或是 bpytop

如果您經常需要監控系統資源,捨棄 macOS 內建的「活動監視器」或 Linux 的 top,轉向安裝使用 htop 或 bpytop 絕對是非常明智的選擇。這兩款工具能讓您在終端機(Terminal)中以更直接、更具「管理員」的方式掌握 CPU、記憶體與各程式執行的狀態。

brew install htop

brew install bpytop

上面選擇其中一個安裝即可,如果你比較偏向視覺體驗,我推薦你直接安裝 bpytop 這個管理介面。(因為它的視覺更加美觀)bpytop 的底層技術來自 python,介面擁有非常漂亮的圖形化 CPU 頻率圖、網路流量圖和磁碟讀寫圖。是技術型玩家一定要安裝的資訊版工具。

Mac 終端機必備開源套件懶人包,影音轉檔、文件處理與系統監控全搞定

值得一提的是這個畫面雖然是終端機產生的,但是它卻可以用滑鼠圖形化的操作它。

右側那個「應用程式狀態」的區域,如果你點到任何一個程式,可以按下選單上的「info」或是直接用「return 鍵」來啟閉那個彈出式視窗,info 會直接顯示目前這個應用程式的所有資訊。

你也可以在那邊快速地關閉應用程式。直接點選你要的程式,然後選擇「Kill」電腦就會把那個程式直接「殺死」(其實是踢出)。

Mac 終端機必備開源套件懶人包,影音轉檔、文件處理與系統監控全搞定

小技巧:切換目錄可以避開許多問題

終端機的開源程式,你在使用它們的時候,建議先把終端機當下的路徑切換到你要工作的路徑上,因為有些程式沒有辦法在指定路徑的情況下工作。假設我要工作的目的地是桌面的一個叫「MyWork」的資料夾,於是:

cd ~/Desktop/MyWork/

切換到目錄的好處就是比較不會有意外發生。切換的指令也可以和轉換指令寫在一起(或是要寫成一行都沒有問題),這個部分我們在後續的文章會教大家怎麼做。

用終端機是自虐嗎?

開源是在終端機的模式下執行的程式,你可能會想:「我用滑鼠點一點應用程式就好,為什麼要這麼自虐用指令界面?」

這是非常合理的疑問。但事實上, 圖形化介面(GUI)雖然直覺,卻限制了你的想像力。軟體開發者只能把「最常用」的功能做成按鈕給你按,但使用終端機(Terminal)等於是你直接與作業系統「對話」,你可以深度的使用電腦來作一些更高階的工作。

一般來說,電腦系統圖形界面的功能可能只佔了整個電腦的 30%-50%,而終端機則擁有電腦 100% 的功能,這一點無論是在 macOS、Windows、Linux 都是同樣的結果。透過深度挖掘,也許你會發現老 Mac 其實跑終端機的時候並不會那麼差勁。(我家裡自己在執行終端機程式的 Mac Mini 是 2011 年的機種,現在還活得好好的)

這篇所介紹的幾個開源套件 Homebrew、FFmpeg、ImageMagick、Pandoc、cURL⋯⋯都是非常知名的大型專案,假如你對英文說明並不排斥,也可以用 macOS 內建的 man 指令來查詢每個套件的用法:

man ImageMagick

終端機就會把 ImageMagick 的一些普遍性的用法整理列出,這也是一個相當不錯的學習管道。

Python 也能在終端機的環境執行嗎?

沒錯!macOS 終端機裡同樣內建 Python 3(我的電腦裡面現在是 3.9.6),所以如果你是 Python 的愛好者,會需要改用 pip3 來管理 Python 的開源套件,ip3 是 Python 3 的依賴庫。Python 上面也有一套「MoviePy」大神工具;不過 MoviePy 底層其實是去呼叫 FFmpeg 來執行,底層還是只是 FFmpeg,只是用 Python 的輕語言去翻譯 FFmpeg 那些不容易理解的程式碼。

未來我也會在終端機領域同時介紹 Python 的一些技巧,敬請拭目以待。

為 Mac 部署 AI 準備!

雖然這篇有點硬核,但是以終端機來說卻只是開源套件入門級的前導文,希望大家能夠吞得下去。

你可能會覺得用終端機工作不是那麼習慣,但它是我們用指令與作業系統「深度對話」的必經之路。無論是未來的 AI 佈建,或是任何殺手級的應用,都必將從終端機開始。有了這塊敲門磚之後,我們下一篇將正式進入實戰:如何在 macOS 上佈建 Ollama 這個大語言模型管理器。

有了 Ollama,你的電腦就可以隨意的部署 AI 大型語言了,我們會在實例中介紹至少一種 Local AI 的應用。

那麼,我們下期見囉!

本文同步刊載於 PC home 雜誌

Mac 終端機必備開源套件懶人包,影音轉檔、文件處理與系統監控全搞定

歡迎加入 PC home 雜誌粉絲團!

 

 

alrin
作者

余少習平面設計,及長涉網頁、多媒體之業,今又耽於程式、終端與開源之術。凡新奇技術,無不欣然探究,以廣所聞。自知學海無涯,故志在活到老而學不輟。

發表回應
謹慎發言,尊重彼此。按此展開留言規則