從 url 解壓縮 tar 檔案的部分資料夾

從 url 解壓縮 tar 檔案的部分資料夾

我有一個 url,它會導致一個大的 tar 文件,大約 200gb ,我需要在我的 Linux 系統中提取該文件的一個資料夾。由於檔案太大,我不想將整個檔案下載到我的 Linux 系統中。另外我沒有對來源系統的 shh 存取權。

有沒有辦法只提取 tar.gz 檔案的一小部分?

答案1

要僅提取特定目錄,您需要知道確切的檔案名稱。通配符不適用於 tar。命令看起來像

curl -s -o - <URL>|tar xz /path/file1 /path/file2  ...

答案2

tar格式不允許直接尋址檔案(或目錄) - 這是因為,t阿爾細香蔥被從備份媒體順序讀取。

當然,您可以做的是在提取相關部分後停止該過程。你會做一些類似的事情

curl -o - 'http://your/url' | tar -xvz your_filter

這將從頭開始下載檔案並提取相關部分,一旦您擁有所需的所有內容,您可以停止該過程以避免下載其餘部分。

根據您對來源伺服器的存取類型,您甚至可以做得更好:您的 PHP 沒有保存模式嗎?如果是的話,你可以透過和朋友提取你需要的東西shell_exec

相關內容