Як перенести ручку до каталогу призначення, відмінного від поточного?
Це не спрацювало:
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
використовується для отримання частини імені файлу без розширення)
Якщо вам потрібно витягнути один файл і записати в каталог, що належить root, тоді використовуйте 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, який є всі gzipped файли в каталозі.)
sudo tee $filename >/dev/null
- трохи більше ідіоматично, ніж використовувати dd
.
Ви можете спробувати> перенаправити результат на потрібне місце.