আপনি সকল ফাইল সঞ্চয় করতে চান তাহলে folderএকটি ডিরেক্টরি ইঙ্গিত ছাড়া তাদের নামের অধীনে, আপনি ব্যবহার করতে পারেন -jবিকল্প।
zip -j folder/artifact.zip folder/artifact1.app folder/artifact2.ext2 folder/artifact3.ext3
অথবা
zip -j folder/{artifact.zip,artifact1.app,artifact2.ext2,artifact3.ext3}
আপনার যদি উপ ডিরেক্টরিতে ফাইল থাকে তবে তাদের সংরক্ষণাগারে কোনও ডিরেক্টরি উপাদান থাকবে না, যেমন folder/subdir/fooসংরক্ষণাগার হিসাবে সংরক্ষণাগারে রাখা হবে foo।
তবে সম্ভবত ডিরেক্টরিতে পরিবর্তন করা সহজ হবে। এটি হুবহু ধনুর্বন্ধনী পদ্ধতি হিসাবে টাইপ করার প্রায় একই পরিমাণ। আপনি যদি তা করেন, আপনি যদি উপ-ডিরেক্টরিতে ফাইল অন্তর্ভুক্ত করেন তবে যে ডিরেক্টরিটি আপনি বদলেছেন সেগুলি থেকে তাদের আপেক্ষিক পথটি folder/subdir/fooথাকবে , যেমন সংরক্ষণ করা হবে subdir/foo।
(cd folder && zip artifact.zip artifact1.app artifact2.ext2 artifact3.ext3)
ইন্টারেক্টিভ ব্যবহারের জন্য, আপনি এইভাবে শেল সমাপ্তি হারাবেন, কারণ শেলটি বুঝতে পারে না যে আপনি যখন zipকমান্ডটি চালাবেন তখন আপনি কোনও ভিন্ন ডিরেক্টরিতে থাকবেন । তার প্রতিকারের জন্য cdপৃথকভাবে কমান্ডটি জারি করুন । পূর্ববর্তী ডিরেক্টরিতে সহজে ফিরে যেতে, আপনি pushdএবং ব্যবহার করতে পারেন popd।
pushd folder
zip artifact.zip artifact1.app artifact2.ext2 artifact3.ext3
popd
আপনি যদি একটি জিপ ফাইলে সঞ্চিত পাথের উপর সম্পূর্ণ নিয়ন্ত্রণ চান তবে আপনি প্রতীকী লিঙ্কগুলির একটি বন তৈরি করতে পারেন। অন্যথায় নির্দেশ না দেওয়া পর্যন্ত zipপ্রতীকী লিঙ্কগুলি সংরক্ষণ করবেন না।
-jএটি প্রয়োগ হবে এবং এটি জিপের মধ্যে সমস্ত ফোল্ডারকে একটি একক মূল-স্তরের ডিরেক্টরিতে সংকুচিত করতে চাই। আপনি যা খুঁজছেন তা নয়, তাই না?