как добавить файлы от папки для архивации вместо папок самой?

Заключение в кавычки документации TeXLive & Debian:

Скажите APT о своем TEX Живая установка путем создания фиктивного пакета с помощью equivs:

$ aptitude install equivs # as root 
mkdir /tmp/tl-equivs && cd /tmp/tl-equivs 
equivs-control texlive-local
# edit texlive-local (see below) 
$ equivs-build texlive-local 
$ sudo dpkg -i texlive-local_2011-1_all.deb

На шаге "редактируют texlive-локальный", редактируют поле Maintainer и список пакетов, обеспеченных Вашим локальным TEX Живая установка как соответствующие. Если Вы установили scheme-full except collection-texinfo как рекомендуется, файл должен быть похожим на этот пример.

4
13.04.2017, 15:37
3 ответа

Используйте -C :

tar czf archive -C directory .

Это указывает tar использовать каталог в качестве рабочего каталога и архивировать все, что содержится в каталоге ( . ).

Использование -C почти эквивалентно использованию cd ; архив выше интерпретируется относительно текущего каталога при запуске tar , затем tar меняет свой рабочий каталог на каталог перед интерпретацией . .

Я не уверен, насколько широко распространена поддержка tar -C , но любой дистрибутив Linux должен его поддерживать.

7
27.01.2020, 20:48

try

tar cvf archive.tar -C somedir $(ls somedir)

where

  • cvf will C reate V erbose(ly) File Archive. tar
  • -C somedir поручит tar использовать somedir
  • $(ls somedir ) файл списка в somedir и $( ) вставить результат в качестве аргумента

Edit:

Как указано в комментарии, используйте ls -A (а не ls -a) для перечисления точечного файла.

2
27.01.2020, 20:48

Вы можете сделать это с PAX (1) , который является преемником POSIX для TAR, но это никогда не так пойман на. Он может написать файлы TAR, и он может выполнить преобразование имени файла, которое вы хотите сделать:

pax -wzf archive -s '|directory/\?||' directory

, который ломается до:

  • --w Написать архив (такой же как -C для TAR)
  • -Z Compress Archive (так же, как TAR)
  • -F Archive Запись в файл Archive (так же, как TAR)
  • -S '| Directory / \? || ' Замените имена файлов в архиве. Замените каталог строки с необязательным / с пустой строкой. Необязательно / требуется в качестве самого каталога не заканчивается / , но все остальные участники имеют это / . Это не нужно привязать к началу строки ( ^ ), поскольку он заменяет только первый матч (вроде SED (1) ), и все файлы начнутся с Каталог / \?

Быть явным, вы можете добавить:

  • -X USTAR Написать файл TAR POSIX

, но это значение по умолчанию.

Вы должны быть в состоянии найти Pax в вашем хранилище пакетов Linux или BSD. Похоже, есть PAX GNU, но я не знаю государства этого. У Debian есть BSD версия PAX.

1
27.01.2020, 20:48

Теги

Похожие вопросы