Как я могу заархивировать в каталог назначения, отличный от текущего?
Это не сработало:
gunzip *.gz /putthemhere/
Как я могу заархивировать в каталог назначения, отличный от текущего?
Это не сработало:
gunzip *.gz /putthemhere/
Ответы:
Попросить gunzip
вывести на стандартный вывод и перенаправить в файл в этом каталоге:
gunzip -c file.gz > /THERE/file
zcat
это ярлык для gunzip -c
.
Если вы хотите разархивировать несколько файлов, переберите все файлы:
for f in *.gz; do
STEM=$(basename "${f}" .gz)
gunzip -c "${f}" > /THERE/"${STEM}"
done
(здесь basename
используется для получения части имени файла без расширения)
Если вам нужно извлечь один файл и записать его в корневой каталог, используйте sudo dd
:
zcat filename.conf.gz | sudo tee /etc/filename.conf >/dev/null
Если файл поступает из удаленного источника (например, ssh, curl https и т. Д.), Вы можете сделать это следующим образом:
ssh remoteserver cat filename.conf.gz | zcat | sudo tee /etc/filename.conf >/dev/null
(Обратите внимание, что эти примеры работают только для одного файла, в отличие от примера * .gz, который представляет собой все сжатые файлы в каталоге.)
sudo tee $filename >/dev/null
немного более идиоматичен, чем использование dd
.
Вы можете попробовать с помощью> перенаправить результат в нужное место.