LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

Так не может быть, если у вас, конечно не выставлен alias на find, что вряд ли.

Посмотрите вывод:

find -type d ! -name "."

А вот и развязка, почему так, автор предложенного скрипта использует basename:

tar -czvf "$(basename $i).tar.gz" "$i";
В результате выполнения этой команды у вас в верхней директории создастся архив с именем директории на втором, третьем и так далее уровне вложенности и её содержимым.

Т.е. для

root_dir/
   dir 1/
      sub dir 1/
У вас в root_dir/ создастся архив «sub dir 1.tar.gz» и содержимым sub dir 1/ .

Исходная версия kostik87, :

Так не может быть, если у вас, конечно не выставлен alias на find, что вряд ли.

Посмотрите вывод:

find -type d ! -name "."

А вот и развязка, почему так, автор предложенного скрипта использует basename:

tar -czvf "$(basename $i).tar.gz" "$i";
В результате выполнения этой команды у вас в верхней директории создастся архив с именем директории на втором уровне и её содержимым.

Т.е. для

root_dir/
   dir 1/
      sub dir 1/
У вас в root_dir/ создастся архив «sub dir 1.tar.gz» и содержимым sub dir 1/ .