Jawaban:
Cara mudah, jika Anda tidak perlu menggunakan -C
untuk memberitahu tar
untuk mengubah ke beberapa direktori lain, adalah cukup menentukan path lengkap ke arsip pada baris perintah. Kemudian Anda bisa berada di direktori apa pun yang Anda inginkan untuk membuat struktur direktori yang Anda inginkan di dalam arsip.
Berikut ini akan membuat arsip /var/www/file.tar.gz
dan dimasukkan file1
dari direktori saat ini (apa pun yang terjadi) di dalamnya, tanpa informasi jalur dalam arsip.
tar czf /var/www/file.tar.gz file1
Path (ke arsip, file konstituen, atau keduanya) tentu saja juga bisa relatif. Jika file1
ada /tmp
, Anda berada di /var/spool
dan ingin membuat arsip /var/www
, Anda dapat menggunakan sesuatu seperti:
tar czf ../www/file1.tar.gz /tmp/file1
Ada jutaan variasi pada tema, tetapi ini harus Anda mulai. Tambahkan v
bendera jika Anda ingin melihat apa yang tar
sebenarnya dilakukan.
$PWD
itu, tampaknya paling aman untuk menggunakan jalur absolut dalam contoh ini.
file1
dalam arsip tar akan /tmp
. Ini mungkin atau mungkin bukan yang Anda harapkan.
Saya mengubah data terkompresi menjadi aliran (-) dan dengan mudah mengubah nama dan menemukan (>) di mana pun saya pilih (Juga saya selalu tar jalur relatif (./) sehingga lebih mudah untuk ditangani ketika membuka kompresi)
tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar
-C
jauh lebih idiomatis (dan lebih pendek).
Saya pikir, seharusnya:
tar czf file.tar.gz -C /var/www/ file1
Yang berhasil buat saya. Ia memberitahu untuk mengubah direktori dan kemudian pilih file.
-C
(yang tidak aneh seperti yang didokumentasikan secara samar-samar). Untuk detailnya lihat serverfault.com/q/416002/86283 .