Bagaimana cara gunzip ke direktori tujuan selain dari yang sekarang?
Ini tidak berhasil:
gunzip *.gz /putthemhere/
Bagaimana cara gunzip ke direktori tujuan selain dari yang sekarang?
Ini tidak berhasil:
gunzip *.gz /putthemhere/
Jawaban:
Mintalah gunzip
untuk mengeluarkan ke keluaran standar dan mengarahkan ke file di direktori itu:
gunzip -c file.gz > /THERE/file
zcat
adalah jalan pintas untuk gunzip -c
.
Jika Anda ingin memindah-mindah banyak file, ulangi semua file:
for f in *.gz; do
STEM=$(basename "${f}" .gz)
gunzip -c "${f}" > /THERE/"${STEM}"
done
(di sini basename
digunakan untuk mendapatkan bagian dari nama file tanpa ekstensi)
Jika Anda perlu mengekstrak satu file dan menulis ke direktori yang dimiliki oleh root, maka gunakan sudo dd
:
zcat filename.conf.gz | sudo tee /etc/filename.conf >/dev/null
Jika file tersebut berasal dari sumber jarak jauh (yaitu, ssh, curl https, dll), Anda dapat melakukannya seperti ini:
ssh remoteserver cat filename.conf.gz | zcat | sudo tee /etc/filename.conf >/dev/null
(Perhatikan bahwa contoh-contoh ini hanya berfungsi untuk satu file, tidak seperti contoh * .gz, yang semuanya merupakan file yang di-gzip dalam direktori.)
sudo tee $filename >/dev/null
sedikit lebih idiomatis daripada menggunakan dd
.
Anda dapat mencoba dengan> untuk mengarahkan hasilnya ke tempat yang Anda inginkan.