আমি কিভাবে লুকানো ফাইল ছাড়া টার্মিনাল মাধ্যমে একটি সম্পূর্ণ ডিরেক্টরি একটি জিপ সংরক্ষণাগার তৈরি করতে পারেন?

আমি এটা লুকানো ফোল্ডার / ফাইল প্রচুর সঙ্গে একটি প্রকল্প আছে. আমি এটি একটি জিপ-সংরক্ষণাগার তৈরি করতে চান, কিন্তু আর্কাইভের মধ্যে কোনো লুকানো ফোল্ডার / ফাইল করা উচিত হবে না. একটি লুকানো ফোল্ডারে ফাইল লুকানো হয় না, তারা অন্তর্ভুক্ত করা উচিত নয়.

আমি জানি যে আমি এর মতো একটি ডিরেক্টরিতে একটি জিপ সংরক্ষণাগার তৈরি করতে পারি:

zip -r zipfile.zip directory

আমি আরও জানি যে আমি-এক্স বিকল্পের সাহায্যে ফাইলগুলি বাদ দিতে পারি, তাই আমি ভেবেছিলাম এটি কার্যকর হতে পারে:

zip -r zipfile.zip directory -x .*

এটা কাজ করে নি. সমস্ত লুকানো ডিরেক্টরি জিপ ফাইল এখনও ছিল.

প্রথমত যদি আপনি জিপ ইনস্টল না করেন তবে প্রথমে এটি ইনস্টল করুন:

sudo apt-get install zip

তারপরে কেবল একটি জিপ ফাইল তৈরি করার জন্য:

zip -r compressed_filename.zip foldername

আপনি যদি লুকানো ফাইলগুলি বাদ দিতে চান:

find /folder_path -path '*/.*' -prune -o -type f -print | zip ~/compressed_filename.zip -@

একটি জিপ সংরক্ষণাগার থেকে ফাইল বাদে(থেকে নেওয়া http://osxdaily.com/2013/04/30/how-to-exclude-files-from-a-zip-archive/)

একটি জিপ সংরক্ষণাগার তৈরি করার সময় ফাইল বর্জনের মূল বিষয়গুলি কেন্দ্রিক হয় -x একটি নির্দিষ্ট নাম বা প্যাটার্ন মেলে আর্কাইভ থেকে ফাইল অগ্রাহ্য করতে ব্যবহার করা হয়, যা পতাকা. এটি সবচেয়ে মৌলিক, এটি এই মত দেখতে হবে:

zip archive.zip files -x "ExcludeMe"

আপনি একটি একক ফাইল অগ্রাহ্য করতে পারে, যার অর্থ, এটা "নথ্যাঙ্কস নামে বলে.জেপিজি"

zip archive.zip images/ -x "Nothanks.jpg"

আসুন কয়েকটি নির্দিষ্ট উদাহরণ কভার করি যেখানে এটি দরকারী

বাদ দাও .জিপ আর্কাইভ থেকে ডিএস_স্টোর ফাইল

এটি সাধারণত অদৃশ্য ম্যাক মেটাডেটা প্রতিরোধ করবে .DS_Store ডিফল্ট দ্বারা একত্রিত করা হয়, যা একটি জিপ আর্কাইভের মধ্যে অন্তর্ভুক্ত করা হচ্ছে থেকে ফাইল:

zip -r archivename.zip archivedirectory -x "*.DS_Store"

ডিরেক্টরিতে যদি সাবডিরেক্টরিগুলি অন্তর্ভুক্ত থাকে তবে আপনি সাবডিরেক্টরিগুলি থেকে ডিএস_স্টোর ফাইলগুলি বাদ দিতে সেই কমান্ডের আরও একটি প্রকরণ ব্যবহার করতে চাইবেন:

zip -r archive.zip directory -x "*/\.DS_Store"

দ্রষ্টব্য: সমস্ত শেল সঠিকভাবে কাজ করার জন্য এই কমান্ডের উদ্ধৃতিগুলির প্রয়োজন হয় না, তবে ব্যাশ শেলটিতে (ওএস এক্স এর ডিফল্ট) আপনাকে ওয়াইল্ডকার্ড এবং নিদর্শনগুলি বাদ দেওয়ার জন্য উদ্ধৃতিগুলি ব্যবহার করতে হবে

একটি জিপ সংরক্ষণাগার থেকে নির্দিষ্ট ফাইলের প্রকারগুলি বাদ দিন

ওয়াইল্ডকার্ড সঙ্গে, আপনি এক্সটেনশন উপর মনোযোগ নিবদ্ধ করে একটি নির্দিষ্ট ধরনের সব ফাইল অগ্রাহ্য করতে পারেন. উদাহরণস্বরূপ, এই কমান্ডটি একটি সম্পূর্ণ ডিরেক্টরি জিপ করবে, যে কোনও বিয়োগ করবে .jpg ফাইল:

zip -r archive.zip directory -x "*.jpg"

যে একটি ফাইলের নাম মিলেছে কোনো নির্দিষ্ট ফাইল এক্সটেনশন বা প্যাটার্ন জন্য পরিবর্তন করা যেতে পারে.

বাদ দিন .গিট বা .একটি জিপ সংরক্ষণাগার থেকে এসভিএন ডিরেক্টরি

একটি ডিরেক্টরি জিপ, বিয়োগ .git এবং এটি বিষয়বস্তু:

zip -r zipdir.zip directorytozip -x "*.git*"

অন্তর্ভুক্ত না করে একটি ফোল্ডার জিপ করুন .svn ডিরেক্টরি:

zip -r zipped.zip directory -x "*.svn*"

একটি জিপ সংরক্ষণাগার থেকে সমস্ত লুকানো ফাইল বাদ দিন

যেহেতু নিদর্শন এবং ওয়াইল্ডকার্ড ব্যবহার করা যেতে পারে, আপনি যে কোনও বা সমস্ত অদৃশ্য ফাইল এবং ফোল্ডারগুলি তৈরি করা হয় তা একটি সময়ের সাথে উপসর্গযুক্ত করে বাদ দিতে পারেন, এটি একটি ডিরেক্টরি কিনা .svn অথবা একটি পৃথক ফাইল মত .bash_profile অথবা .htaccess.

zip -r archivename.zip directorytozip -x "*.*"

অথবা সমস্ত সাবডিরেক্টরি থেকে সমস্ত অদৃশ্য ফাইল বাদ দিতে:

zip -r archive.zip directory -x "*/\.*"

এটি লুকানো ডিরেক্টরিতে লুকানো ফাইলগুলিও বাদ দেয়:

find /full_path -path '*/.*' -prune -o -type f -print | zip ~/file.zip -@

যোগ করুন " যাও .* (অন্যথায়, আপনার শেল প্রসারিত হয় .* বর্তমান ডিরেক্টরিতে ডট ফাইলগুলিতে), এবং উপ-ডিরেক্টরিতে লুকানো ফাইলগুলি বাদ দিন:

zip -r zipfile.zip . -x ".*" -x "*/.*"

এই একটি দিয়ে শুরু ফাইল স্থাপিত হবে . আপনার জিপ ফাইলের মধ্যে যোগ করা হবে না.

rinzwind@discworld:~/tmp$ ls -ladrwxr-xr-x  2 rinzwind rinzwind 4096 2011-08-28 00:15 tmpdrwxr-xr-x  2 rinzwind rinzwind 4096 2011-08-28 00:15 .tmprinzwind@discworld:~/tmp$ zip -r zipfile.zip . -x .*adding: .tmp/ (stored 0%)adding: tmp/ (stored 0%)rinzwind@discworld:~/tmp$ zip -r zipfile.zip . -x ".*" -x "*/.*"updating: tmp/ (stored 0%)

সঙ্গে শুরু সব ফোল্ডার ব্যতীত জন্য উদাহরণ . :

tar cvpzf folder.tgz folder/ --exclude '.*'

ভাল কম্প্রেস কিন্তু ধীর :

tar cvpjf folder.tar.bz2 folder/ --exclude '.*'

এই এক সব অন্তর্ভুক্ত"."ডিরেক্টরি, সাবডিরেক্টরি এবং"."ডিরেক্টরি মধ্যে ফাইল বা ডিরেক্টরি . ..মূলত প্রথম উত্তর কিন্তু শীর্ষ স্তর অন্তর্ভুক্ত"."নথি পত্র .

find /full_path -path '*.*/.*' -prune -o -type f -print | zip ~/file.zip -@

সঠিক পদ্ধতি হবে:

zip -r zipfile.zip directory -x directory/.*

কিছু ফাইল এক্সটেনশন বাদ দিয়ে ডিআরএস জিপ করার সময়:

$ cd /path/to/dir$ zip -r dir.zip . -x "*.log" -x "*.cache"

ডিরেক্টরিতে লুকানো ফোল্ডার এবং ফাইল ছাড়া:

zip -r zipfile.zip directory/*

ডিরেক্টরি:

|── .git│   ├── src│   └── Work.file├── .test│   └── .file└── test.file
$ zip -r zipfile.zip directory/*adding: directory/src/ (stored 0%)adding: directory/src/Work.file (stored 0%)adding: directory/test.file (stored 0%)