for i in */; do echo tar -cjf "${i%/}.tar.bz2" "$i"; done
Эта команда используется для архивации всех папок в текущем каталоге в собственные файлы tar.bz2.
Цикл «for» выполняет команду внутри его блока для каждого элемента списка, в данном случае для каждой папки (представленной символом «*») в текущем каталоге.
Команда «echo» используется для отображения команды архивации.
Команда «tar -cjf» используется для создания архива tar.bz2. Опция «-c» указывает на создание нового архива, опция «-j» задает формат архива как tar.bz2, а опция «-f» указывает имя файла архива.
«${i%/}.tar.bz2» — это имя файла архива, которое получается путем удаления последнего символа («/») из имени каждой папки и добавления расширения «.tar.bz2».
«$i» — это имя текущей папки, которая передается в качестве аргумента для архивирования.
Альтернативным способом может быть использование утилиты «find» вместо цикла «for» для нахождения всех папок в каталоге. Например, команда «find . -type d -exec tar -cjf {}.tar.bz2 {} \;» будет искать папки в текущем каталоге и создавать для них отдельные архивы tar.bz2.