вопрос сжатия файлов bz2 - PullRequest
       27

вопрос сжатия файлов bz2

5 голосов
/ 17 января 2011

Когда мы сжимаем папку, мы набираем команду tar -cjf folder.tar.bz2 folder, она сжимает всю папку в нее.

Есть ли способ сжать все внутри папки, но папка не должна отображаться в архиве?

Пример - при открытии архива файлы внутри папки будут отображаться вместо всей папки.

Ответы [ 4 ]

5 голосов
/ 17 января 2011

Используйте параметр -C tar

tar -C folder -jcvf folder.tar.bz2 .

Я попробовал это на своем ПК, и это сработало;)

3 голосов
/ 17 января 2011

Это должно сделать это:

cd folder; tar -cjf ../folder.tar.bz2 *

В конце * расширяется оболочкой до списка всех файлов (кроме скрытых) в текущем каталоге. Попробуйте echo *.

Для скрытых файлов есть два возможных подхода:

  1. Используйте команду ls с ее опцией -A (список «почти всех» файлов, то есть все, кроме . и .. записей для этого и родительского каталога.

    папка cd; tar -cjf ../folder.tar.bz2 $ (ls -A)

  2. Используйте подстановочные выражения (обратите внимание, что это не работает в тире, и, если какой-либо из шаблонов не совпадает, вы получите его дословно в списке аргументов)

    папка cd; tar -cjf ../folder.tar.bz2 *. [^.] * ..? *

0 голосов
/ 17 октября 2013

tar -jcvf folder.tar.bz2 folder / *

0 голосов
/ 17 января 2011

Я думаю , что вы имеете в виду, просто cd folder; tar -cjf ../folder.tar.bz2 * .[^.]*, но я могу ошибаться. Это помещает имена файлов на верхний уровень в результирующем архиве, в отличие от folder/.

...