Saya memiliki folder sekitar 180 GB, saya perlu zip seperti:
zip -p password /Volumes/GGZ/faster/mybigfolder/* /Volumes/Storage\ 4/archive.zip
Tetapi tertulis:
zip warning: name not matched: /Volumes/Storage 4/archive.zip
Jadi bagaimana saya melakukan ini? Pada catatan lain, archive.zip
tidak ada, tapi saya mencoba membuatnya.
zip -P password /Volumes/Storage\ 4/archive -p /Volumes/GGZ/faster/mybigfolder/*
Jawaban:
Perintah Anda harus:
Halaman manual (
man zip
), menunjukkan Anda harus memiliki:Selain itu,
-r
opsi untuk rekursi sangat direkomendasikan untuk shell glob "*" untuk ini.sumber
winzip32.exe -a -r %DEST_PATH%\Output.zip %DEST_PATH%\Output.zip %SOURCE_PATH%\*.*
, Anda mengetik secara tidak sengajawinzip32.exe -a -r %DEST_PATH%\Output.zip %DEST_PATH%\Output.zip %SOURCE_PATH%\*.*
. Perhatikan ekstraOutput.zip
... mudah dilakukan!Kesalahan ini juga dapat disebabkan oleh tautan simbolik di pohon direktori yang sedang dikompresi.
Jika ini tidak memiliki tujuan yang benar (mungkin karena direktori telah dipindahkan atau disalin dari tempat lain), zip akan berusaha mengikuti symlink untuk mengarsipkan file target.
Anda dapat menghindari ini (dan juga mendapatkan efek yang mungkin Anda inginkan, yaitu tidak mengarsipkan banyak salinan file) dengan menggunakan opsi
-y
(atau--symlinks
).sumber
Gunakan flag rekursif (
-r
) alih-alih glob (*
) untuk mencocokkan file yang akan dikompres. Selain itu, tentukan nama arsip terlebih dahulu dan kemudian berikan daftar file:sumber
Saya juga mendapatkan kesalahan ini di masa lalu karena alasan berbeda yang
-r
tidak bisa diperbaiki oleh saklar. Apa yang terjadi adalah bahwa saya mendasarkan file untuk ditambahkan ke zip dengan kode / variabel bash berikutMasalahnya adalah bahwa
ls
hanya daftar file off seolah-olah berada di direktori saat ini dan inilah sebabnyazip
mengeluh (pada dasarnya file tidak ada untuk zip karena sedang disuruh melihat di direktori yang salah / saat ini).Jika ini adalah masalah Anda, Anda dapat memperbaikinya seperti ini:
Seperti yang Anda lihat, saya menggunakan
-d
saklar dan juga/*
pada akhir nama direktori dan kemudian file-file tersebut berhasil ditambahkan.sumber