Я использую tar -xvf
команду, и она принимает явный путь. Однако путь полон.
Пример:
tar -xvf 13.2.tar
Это путь к /mnt
папке. /
Папка заполнена.
Как я могу заархивировать файл с неявным путем?
Я использую tar -xvf
команду, и она принимает явный путь. Однако путь полон.
Пример:
tar -xvf 13.2.tar
Это путь к /mnt
папке. /
Папка заполнена.
Как я могу заархивировать файл с неявным путем?
Ответы:
Обычно tar
требуется опция --absolute-names
или, --absolute-paths
чтобы сохранить корневую '/'
часть при создании архива. Даже если вы заставите его таким образом, экстракт также пропускает ведущие '/'
.
Однако, если у вас есть архив с ведущим, '/'
и вы tar не пропускаете его при извлечении, ответ NoahD должен работать в этой форме,
pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar
Я думаю, pax
что не обрабатывает сжатые файлы, поэтому вам нужно будет разархивировать после распаковки в pax
.
Это будет так (при условии, что у вас есть архив в формате gzip)
gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v
Я нашел эту вики-страницу в Google только сейчас.
Разница между использованием канонического (или явного) и относительного (что вы, вероятно, называете неявным) заключается в том, используете ли вы /
в начале.
Например, если текущим рабочим каталогом являются /usr/home/bob
, следующие команды имеют точно такой же эффект
tar -xvf foo.tar * tar -xvf ./foo.tar * tar -xvf ./foo.tar ./* tar -xvf /usr/home/bob/foo.tar * tar -xvf /usr/home/bob/foo.tar ./* tar -xvf /usr/home/bob/foo.tar / usr / home / bob / *
Но я подозреваю, что это не совсем твой вопрос. Похоже, вам нужно определить использование диска и найти каталог, который не заполнен. Это можно сделать с помощью df
команды.
df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig
И вы можете использовать, mount
чтобы показать вам, какие файловые системы монтируются на каких устройствах.
Чтобы создать файл tar с относительным путем,
cd /parent/of/dir/to/tar
tar cvf subdir.tar subdir
Чтобы распаковать tar в определенный каталог, отличный от текущего рабочего каталога, используйте ключ -C (прописные буквы C).
Если вы хотите распаковать файл с абсолютными путями в другой точке, отличной от root, вам может потребоваться возиться chroot(1)
.