Saya mencoba mengompres direktori di
/home/cyrus/sql
Dan saya ingin mengubah direktori kerja ketika zip folder:
/ $ zip -b /home/cyrus sql.zip /home/cyrus/sql
Tetapi ketika saya memeriksa file zip:
/ $ unzip -l sql.zip
Archive: sql.zip
Length Date Time Name
--------- ---------- ----- ----
0 2013-05-30 10:59 home/cyrus/sql/
1776642 2013-05-23 10:22 home/cyrus/sql/wordpress.sql
--------- -------
1776642 2 files
Folder root seharusnya sql
. Apa yang telah saya lakukan salah?
cd /home/cyrus && zip /sql.zip sql
jika Anda ingin file zip dibuat di root.tidak yakin apakah saya mengerti ini benar tetapi -b tidak akan mengubah folder root. Ini akan menempatkan arsip zip sementara di direktori / home / cryus, menyalin lebih dari sql.zip ke direktori saat ini ketika selesai. Opsi ini hanya berguna ketika memperbarui arsip yang ada, dan sistem file yang mengandung arsip lama ini tidak memiliki cukup ruang untuk menyimpan arsip lama dan baru pada saat yang bersamaan.
coba gunakan:
-j Simpan hanya nama file yang disimpan (junk the path), dan jangan menyimpan nama direktori. Secara default, zip akan menyimpan path lengkap (relatif terhadap path saat ini).
sumber
-j
mungkin tidak benar; Saya akan berasumsi OP ingin menjaga jalur relatif, tidak menghapus semua jalur.Terinspirasi oleh jawaban Stephane:
Hasil:
sumber
Mungkin lebih mudah untuk menyinkronkan folder yang Anda coba zip ke direktori saat ini. Dengan begitu Anda bisa tetap di tempat Anda sekarang.
Mereka symlink jika Anda inginkan.
sumber