Intereting Posts
Найти пустой тег в `xml` с помощью команды Unix Что может послужить причиной перехода в безопасное состояние спящего режима для этого конкретного процесса? Не удалось получить доступ к Интернету после того, как ip статично в beaglebone black Запретить запуск tmux на SSH awk заменить конкретный столбец в определенной строке Застрял установку TexLive с нуля на Debian KDE! Как выполнить bash (в скрипте) с собственным файлом .bash_logout? сочетание клавиш работает в одном макете, а не в другом Передача путей и имен файлов в программу из сценария bash Проверка почты и запуск скрипта без загрузки Какие файлы .x в / usr / include? ranger: не пытайтесь отображать большие файлы (предварительный просмотр) нужно перестроить mdadm raid5 Использовать ACL для согласования разрешений внутри одной папки Безопасность зашифрованного (dm-crypt & LUKS) Ubuntu 12.04, установленного кем-то другим?

Как навалом сжимать разные подпапки?

У меня есть папка all_folders которая содержит 5 папок:

 ./all_folders ./all_folders/folder1 ./all_folders/folder2 ./all_folders/folder3 ./all_folders/folder4 ./all_folders/folder5 

Могу ли я сжимать все эти папки с помощью одной команды сразу? Я хочу быть в all_folders а затем выполнить команду, чтобы отдельные папки в этом каталоге all_folders .

Ожидаемый результат

когда я делаю

 ls 

в all_folders , тогда у меня должно быть 10 каталогов. 5 несжатых и 5 сжатых.

cd в all_folders , затем запустите

 for i in folder1 folder2 folder3 folder4 folder5; do tar czf $i.tar.gz $i; done 

Несколько неясно, чего вы пытаетесь достичь. Я убегаю из прецедента, где здесь должны быть сжаты только подкаталоги.

Сначала перейдите в каталог, содержащий коллекцию каталогов, а затем:

 find -maxdepth 1 -type d | { while read dir; do if [ ! "x${dir#*/}" = "x." ]; then tar cJf ${dir#*/}.tar.xz ${dir#*/}; fi; done } 

Это хорошо работает с zsh . Чтобы проверить что-то, установите echo infront tar , чтобы проверить, проверена ли команда и т. Д.

Однако сборка таких архивов обычно нежелательна. Обычно вы хотите сжать всю коллекцию, использовать прозрачное сжатие диска, на котором находятся эти файлы, или использовать транспортное сжатие (например, X-DEFLATE с HTTP).

Имейте в виду, что вы не получите «сжатый каталог», но с «сжатым архивом», эти вещи не являются взаимозаменяемыми, так как архивы сами являются файлами, а каталоги – только inode datagrams.

 tar -zcvf archive.tar.gz directory/ 

Это скажет tar, чтобы c (создать) архив из файлов в каталоге (tar рекурсивный по умолчанию), сжимайте его с помощью алгоритма z (gzip), сохраните вывод как af (файл) с именем archive.tar.gz и v (verbosely) список всех файлов, которые он добавляет в архив.

Чтобы распаковать и распаковать архив в текущий каталог, вы должны использовать

 tar -zxvf archive.tar.gz 

введите описание изображения здесь