Linux tar 用法與範例

本篇 ShengYu 介紹 Linux tar 的用法與範例。tar 是 Linux 系統中常用的打包工具,其全名為 tape archive,意思為「磁帶存檔」,最早設計用來備份檔案到磁帶中。隨著時間演進,tar 已成為一個功能強大的打包工具,用於將多個檔案和目錄合併成單一的壓縮檔案,便於傳輸或儲存。本文將介紹 tar 的基本用法以及一些實用的進階操作。

以下 Linux tar 的內容將分為這幾部份,

  • Linux tar 打包
  • Linux tar 打包壓縮
  • Linux tar 打包指定目的路徑
  • Linux tar 打包檔案直接傳輸到遠端伺服器

Linux tar 打包

最常見的用途就是將檔案或目錄打包成 .tar 檔案,並透過不同的壓縮演算法壓縮檔案,以下介紹打包與解壓用法,
tar 打包(無壓縮),單純打包無壓縮,優點是速度快,相對的容量大小幾乎跟原本的一樣,例如:將 aaa 資料夾打包成 aaa.tar

1
tar cvf aaa.tar aaa/

tar 解壓縮,例如:將 aaa.tar 解壓縮

1
tar xvf aaa.tar

Linux tar 打包壓縮

tar 打包(gz壓縮),單純打包無壓縮,優點是壓縮後檔案較原本的小,相對的壓縮與解壓縮需花費時間,例如:將 aaa 資料夾打包成 aaa.tar.gz

1
tar zcvf aaa.tar.gz aaa/

tar 解壓縮,例如:將 aaa.tar.gz 解壓縮

1
tar xvf aaa.tar.gz

Linux tar 打包指定目的路徑

使用 tar 命令打包時,可以使用 -C 選項指定目的路徑。

1
tar cvf /目標路徑/檔案名稱.tar -C /來源路徑 檔案或目錄名稱

Linux tar 打包檔案直接傳輸到遠端伺服器

如果你需要將打包的檔案直接傳輸到遠端伺服器,可以將 tar 的輸出透過 SSH 管道傳送。

1
tar -cvf - /來源路徑 | ssh 使用者名稱@遠端伺服器 "cat > /遠端目標路徑/檔案名稱.tar"

這裡的 - 代表將打包的結果輸出到標準輸出,而不是儲存到本地檔案中。
ssh 使用者名稱@遠端伺服器 “cat > /遠端目標路徑/檔案名稱.tar”:這部分透過 SSH 登入到遠端伺服器,並將接收到的標準輸出內容儲存到指定的目標路徑。

在本機目錄也可以使用類似的方法,將 tar 的輸出透過管道 (pipe) 直接傳遞給 cat 或其他命令來儲存檔案。

1
tar -cvf - /來源路徑 | cat > /目標路徑/檔案名稱.tar

與以下指令相同的效果:

1
tar -cvf /目標路徑/檔案名稱.tar /來源路徑

以上就是 Linux tar 用法與範例的介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其它相關文章推薦
Linux 常用指令教學懶人包
Linux cut 字串處理用法與範例
Linux sed 字串取代用法與範例
Linux grep/ack/ag 搜尋字串用法與範例
Linux du 查詢硬碟剩餘空間/資料夾容量用法與範例
Linux wget 下載檔案用法與範例