Saya mencoba membuat arsip dengan tar menggunakan jalur relatif. Saya menggunakan perintah berikut:
tar czf ~/files/wp/my-page-order.tar.gz -C ~/webapps/zers/wp-content/plugins/ ~/webapps/zers/wp-content/plugins/my-page-order
Tetapi file yang diarsipkan masih memiliki jalur absolut. Bagaimana saya bisa menggunakan tar dengan jalur relatif?
Jawaban:
'~' diperluas oleh shell. Jangan gunakan '~' dengan -C:
(tar akan menyertakan webapps / zers / wp-content / plugins / jalur pesanan halaman saya) atau
(tar akan menyertakan jalur pemesanan halaman saya)
Atau hanya cd dulu ....
sumber
-C
mengubah direktori kerja saat ini seperti yang dijelaskan dalam anwer oleh Lekensteyn.-C
seharusnya diberikan sebagai jalur relatif tetapi sebaliknya diberikan sebagai jalur absolut. Menggunakan ~ di sini tidak masalah sama sekali.-C new_cwd
mengubah direktori kerja saat ini menjadinew_cwd
. Argumen berikut ini kemudian dievaluasi relatif terhadapnew_cwd
.sumber
Solusi non GNU jika
tar
tidak memiliki-z
opsi, hanya untuk menyebutkan:EDIT (dengan
&&
dan tanparm
):sumber
rm
; mengapa Anda memasukkannya dalam jawaban Anda? (2) Jawaban Anda mengarsipkan direktori yang salah. (3) Mengapa kamu berubahtar -z
ketar | gzip
? (4) Selama Anda akan menggunakan&&
, Anda mungkin harus menggunakan&&
setelah itupushd
juga.-z
(4) Saya mungkin akan menggunakan&&
skrip, tapi saya pikir ini tidak diperlukan dalam "satu liner"~/webapps/zers/wp-content/plugins/my-page-order
dengan output untuk~/files/wp/my-page-order.tar.gz
; arsip perintah Anda~/files/wp/my-page-order
. (3) Terima kasih telah mengedit jawaban Anda untuk menjelaskan mengapa Anda menggunakannyagzip
.