Я використовую tar -xvf
команду, і вона проходить явний шлях. Однак шлях повний.
Приклад:
tar -xvf 13.2.tar
Він йде шляхом /mnt
папки. /
Папка заповнена.
Як я можу націлити файл на неявний шлях?
Я використовую tar -xvf
команду, і вона проходить явний шлях. Однак шлях повний.
Приклад:
tar -xvf 13.2.tar
Він йде шляхом /mnt
папки. /
Папка заповнена.
Як я можу націлити файл на неявний шлях?
Відповіді:
Зазвичай tar
потрібен --absolute-names
або --absolute-paths
варіант, щоб зберегти кореневу '/'
частину під час створення архіву. Навіть якщо ви змусите це таким чином, екстракт також пропускає провідних '/'
.
Однак якщо у вас є архів із ведучим, '/'
і ви не зможете пропустити його під час вилучення, відповідь NoahD має працювати в такій формі,
pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar
Я думаю, pax
що не обробляє стиснуті файли, тож вам потрібно буде передати файл після декомпресії pax
.
Це піде так (якщо у вас є gzipped архів)
gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v
Я знайшов цю сторінку вікі в Google саме зараз.
Різниця між використанням канонічного (він же явного) та відносного (те, що ви, ймовірно, називаєте неявним), полягає в тому, чи використовуєте ви /
на початку.
Наприклад, якщо є поточний робочий каталог /usr/home/bob
, наступні команди мають точно такий же ефект
тар -xvf foo.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
Для розпакування дьогтю в певний каталог, відмінний від поточного робочого каталогу, використовуйте перемикач -C (верхній регістр C).
Якщо ви хочете зняти файл з абсолютними іменами в ньому до точки, відмінної від кореня, вам, можливо, доведеться зіпсувати chroot(1)
.