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 gunzipuntuk mengeluarkan ke keluaran standar dan mengarahkan ke file di direktori itu:
gunzip -c file.gz > /THERE/file
zcatadalah 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 basenamedigunakan 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/nullsedikit lebih idiomatis daripada menggunakan dd.
Anda dapat mencoba dengan> untuk mengarahkan hasilnya ke tempat yang Anda inginkan.