Jak mogę spakować pliki gunzip do innego katalogu docelowego?
Jak zrobić gunzip do katalogu docelowego innego niż bieżący?
To nie zadziałało:
gunzip *.gz /putthemhere/
Jak zrobić gunzip do katalogu docelowego innego niż bieżący?
To nie zadziałało:
gunzip *.gz /putthemhere/
Poproś gunzip
o wyjście na standardowe wyjście i przekierowanie do pliku w tym katalogu:
gunzip -c file.gz > /THERE/file
zcat
jest skrótem do gunzip -c
.
Jeśli chcesz rozpakować wiele plików, wykonaj iterację po wszystkich plikach:
for f in *.gz; do
STEM=$(basename "${f}" .gz)
gunzip -c "${f}" > /THERE/"${STEM}"
done
(tutaj basename
służy do uzyskania części nazwy pliku bez rozszerzenia)
Jeśli musisz wyodrębnić pojedynczy plik i zapisać go do katalogu należącego do roota, użyj sudo dd
:
zcat filename.conf.gz | sudo tee /etc/filename.conf >/dev/null
Jeśli plik pochodzi ze zdalnego źródła (tj. ssh, curl https, itp.), możesz to zrobić w ten sposób:
ssh remoteserver cat filename.conf.gz | zcat | sudo tee /etc/filename.conf >/dev/null
(Zauważ, że te przykłady działają tylko dla pojedynczego pliku, w przeciwieństwie do przykładu *.gz, który jest wszystkimi gzipped plikami w katalogu).
Możesz spróbować z >, aby przekierować wynik do miejsca, które chcesz.