распаковать частичную папку tar-файла с URL-адреса

распаковать частичную папку tar-файла с URL-адреса

У меня есть URL, который ведет к файлу tar большого размера, около 200 ГБ, мне нужно извлечь одну папку этого файла в моей системе Linux. Из-за большого размера файла я не хочу загружать весь файл в мою систему Linux. Также у меня нет shh-доступа к исходной системе.

Есть ли способ извлечь только небольшую часть файла tar.gz?

решение1

Чтобы извлечь только определенный каталог, вам нужно знать точные имена файлов. Подстановочные знаки не работают с tar. и команда будет выглядеть так

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

решение2

Формат tarне позволяет напрямую обращаться к файлу (или каталогу) - это связано с тем, чтотобезьянаарЗубки чеснока должны были последовательно считываться с резервного носителя.

Конечно, вы можете остановить процесс после того, как соответствующие части были извлечены. Вы бы сделали что-то вроде

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

Это позволит загрузить файл с самого начала и извлечь необходимые части. Как только вы получите все необходимое, вы можете остановить процесс, чтобы не загружать остальное.

В зависимости от того, какой у вас доступ к исходному серверу, вы можете сделать даже лучше: У вас PHP без режима сохранения? Если да, то вы можете извлечь то, что вам нужно, через shell_execи друзей.

Связанный контент