Одновременно разархивируйте или разархивируйте несколько файлов в Debian 10

Сжатие файлов - это способ создания архивов, который помогает нам сэкономить время, освободить место, а также ускорить загрузку и передачу программного обеспечения и данных. Вы можете использовать сжатый файл для распространения связанных файлов в Интернете, все они будут сжаты в один файл без потери данных. Если вам нужно место в вашей системе или на внешнем запоминающем устройстве, вы можете сжать файлы в более мелкие архивные файлы. Иногда нам приходится извлекать сразу несколько заархивированных файлов и файлов rar’d, находящихся в одной папке. Сделать это через пользовательский интерфейс Linux довольно просто; все, что вам нужно сделать, это выбрать все файлы, которые вы хотите извлечь, щелкнуть правой кнопкой мыши и использовать опцию извлечения, чтобы извлечь их полностью. Реальная проблема - это когда мы хотим выполнить ту же задачу через командную строку. Извлечение файлов по одной, вводя команды извлечения файлов одну за другой, может оказаться довольно длинным и откровенно нелогичным. А вот и спасательный цикл bash. Вы можете использовать его для одновременного выполнения нескольких аналогичных операций.

В этой статье описывается, как можно использовать цикл for в оболочке bash для извлечения нескольких файлов следующих типов через командную строку Debian:

  • Zip files
  • Tar.xz files
  • Rar files
  • 7z files

We выполнили команды и процедуры, упомянутые в этой статье, в системе Debian 10 Buster. Мы используем приложение «Терминал» в качестве командной строки Debian. Вы можете открыть его с помощью поиска Application Launcher следующим образом:

Application Launcher можно получить с помощью клавиши Windows / Super на клавиатуре.

Распаковать сразу несколько файлов

Предположим, что папка, в нашем случае папка «zip_files», содержит несколько заархивированных файлов, и мы хотим извлечь их одновременно.

Вот как вы можете использовать цикл for, чтобы упростить задачу:

$ for z in *.zip
do
unzip $z;
done

Вот как вы можете выполнить ту же задачу с помощью одной единственной команды:

$ for z in *.zip; do unzip "$z"; done

Извлеките несколько файлов tar.xz за один раз

Let Предположим, что папка содержит несколько файлов tar.xz, и мы хотим извлечь их одновременно.

Вот как вы можете использовать цикл for для упрощения задачи:

$ for z in *.tar.xz
do
tar -xf $z;
done

Вот как вы можете выполнить ту же задачу с помощью одной единственной команды:

$ for z in *.tar.xz; do tar -xf "$z"; done

Unrar Multiple Files at Once

Используйте следующую команду чтобы распаковать сразу несколько файлов rar.

$ for z in *.rar
do
unrar e $z;
done

Или

$ for f in *.rar; do unrar e “$f”; done

Извлечь несколько файлов 7z за один раз

Используйте следующую команду для одновременного извлечения нескольких файлов 7z.

$ for z in *.7z
do
7z e $z;
done

Или,

$ for z in *.7z; do 7z e "$z"; done

Используя цикл bash for, вы можете выполнить сложную задачу по извлечению нескольких сжатых файлов одновременно. Этот небольшой навык, которому вы научились в этой статье, особенно пригодится, когда нам нужно одновременно извлечь до сотни сжатых файлов. Не только для извлечения файлов, но вы также можете использовать возможности цикла bash «for» для выполнения различных других подобных задач, которые могут занять больше времени, если вы запускаете их по очереди.

Комментарии