Tar не может расширять подпапки из архива .tar - PullRequest
1 голос
/ 14 февраля 2020

Я пытаюсь расширить собственный архив tarball (не версия Gzipped) из сценария bash, используя отдельные команды для причины.

Формат архива tar:

File1
File2
folder1/file3
folder1/file4

Тогда я выполняю следующие команды:

tar xvf archive.tar -C $TEMP_DIR/ File1
tar xvf archive.tar -C $TEMP_DIR/ File2

Обе успешные

Далее я выполняю отдельные команды для файлов 3 и 4:

tar xvf archive.tar -C $TEMP_DIR/ folder1/file3
tar xvf archive.tar -C $TEMP_DIR/ folder1/file4

Обе сбои для:

Tar: folder: Permission denied
Tar: file: No such file or directory

Пожалуйста, сообщите!

1 Ответ

1 голос
/ 14 февраля 2020

Вы должны убедиться, что archive.tar находится в правильном месте. Следующий скрипт воспроизводит весь процесс:

#!/usr/bin/env bash
mkdir -p /tmp/{dest,src/folder1}
cd /tmp/src
touch File{1,2} folder1/file{3,4}

tar cvf ../archive.tar *

TEMP_DIR=/tmp/dest

cd /tmp
tar xvf archive.tar -C $TEMP_DIR/ File{1,2}
ls  -l $TEMP_DIR
read -pEnter
tar xvf archive.tar -C $TEMP_DIR/ folder1/file{3,4}
ls  -l $TEMP_DIR/folder1
...