Wie kann ich in ein anderes Zielverzeichnis gunzipen?
Wie kann ich gunzip in ein anderes Zielverzeichnis als das aktuelle ausführen?
Dies hat nicht funktioniert:
gunzip *.gz /putthemhere/
Wie kann ich gunzip in ein anderes Zielverzeichnis als das aktuelle ausführen?
Dies hat nicht funktioniert:
gunzip *.gz /putthemhere/
Bitten Sie gunzip
, auf die Standardausgabe auszugeben und in eine Datei in diesem Verzeichnis umzuleiten:
gunzip -c file.gz > /THERE/file
zcat
ist eine Abkürzung für gunzip -c
.
Wenn Sie mehrere Dateien gunzipen wollen, iterieren Sie über alle Dateien:
for f in *.gz; do
STEM=$(basename "${f}" .gz)
gunzip -c "${f}" > /THERE/"${STEM}"
done
(hier wird basename
verwendet, um den Teil des Dateinamens ohne die Erweiterung zu erhalten)
Wenn Sie eine einzelne Datei extrahieren und in ein Root-Verzeichnis schreiben müssen, dann verwenden Sie sudo dd
:
zcat filename.conf.gz | sudo tee /etc/filename.conf >/dev/null
Wenn die Datei von einer entfernten Quelle kommt (z. B. ssh, curl https, usw.), können Sie es so machen:
ssh remoteserver cat filename.conf.gz | zcat | sudo tee /etc/filename.conf >/dev/null
(Beachten Sie, dass diese Beispiele nur für eine einzige Datei funktionieren, im Gegensatz zum Beispiel *.gz, das alle gzipped-Dateien im Verzeichnis umfasst).
Sie können mit > versuchen, das Ergebnis an die gewünschte Stelle umzuleiten.