কখনও কখনও আপনার প্রয়োজন একটি ডিরেক্টরি থেকে প্রায় সমস্ত ফাইল অপসারণ, তবে আপনি তাদের একটি বা কিছু রাখতে চান। যখন তাদের প্রচুর সংখ্যা থাকে, তখন এক এক করে যাওয়া এক ক্লান্তিকর কাজ। এটি সর্বোত্তম বিকল্প নয়, লিনাক্সে কাজটি আরও সহজ করার উপায় রয়েছে এবং আপনার একবারে প্রয়োজনীয় সমস্তগুলি মুছে ফেলতে পারেন।
উদাহরণস্বরূপ, আপনি কেবলমাত্র নির্দিষ্ট নাম দিয়ে শুরু হওয়া বা বিশেষ নির্দিষ্ট এক্সটেনশানগুলি যুক্তগুলি মুছতে পারেন। সব সম্ভবআসলে, অন্যান্য অনুষ্ঠানে আমি ইতিমধ্যে LxA তে একই ধরণের টিউটোরিয়াল দেখিয়েছি। এখানে আপনি ধাপে ধাপে টিউটোরিয়ালটি অনুসরণ করতে পারেন এবং আপনি যে ফাইলগুলি সংরক্ষণ করতে চান তা বাদ দিয়ে আপনি চান সেই সমস্ত ফাইল মুছতে সক্ষম হবেন এমন একটি সহজ উপায়।
এবং সবচেয়ে ভাল জিনিস এটি আপনার কোনও প্রোগ্রাম ইনস্টল করার দরকার হবে না, এটি আরএম এবং সন্ধানের মতো কমান্ড দিয়ে সহজেই করা যায়। এটি হ'ল যে প্রোগ্রামগুলি যে কোনও লিনাক্স ডিস্ট্রোতে ইতিমধ্যে প্রাক ইনস্টলড। এবং অবশ্যই, পদ্ধতিটি কেবলমাত্র যা চান তা সরাতে প্যাটার্নগুলি সন্ধান এবং সেই ম্যাচগুলি ব্যবহারের উপর ভিত্তি করে তৈরি করা হবে।
ঠিক আছে, সেখানে নির্মূল করতে সক্ষম হতে হবে বিভিন্ন বিকল্প, তারা কি…
আরএম সহ ডিরেক্টরি থেকে ফাইলগুলি সরান
ঠিক আছে, ব্যবহার করার জন্য আরএম কমান্ড আপনার কেমন লাগছে তা দূর করতে, নিদর্শনগুলি সনাক্ত করার কয়েকটি উপায়ের আগে আপনাকে জানতে হবে:
- * (নিদর্শনগুলির তালিকা) - নির্দিষ্ট নিদর্শনগুলির শূন্য বা তার বেশি সংখ্যার সাথে মেলে
- ? (নিদর্শনগুলির তালিকা) - নির্দিষ্ট নিদর্শনগুলির শূন্য বা একটি ঘটনার সাথে মেলে
- + (নিদর্শন তালিকা) - নির্দিষ্ট নিদর্শনগুলির এক বা একাধিক ঘটনার সাথে মেলে
- @ (প্যাটার্নের তালিকা) - নির্দিষ্ট নিদর্শনগুলির মধ্যে একটির সাথে মেলে
- (প্যাটার্ন তালিকা) - প্রদত্ত নিদর্শনগুলির মধ্যে একটি ব্যতীত অন্য কোনও কিছুর সাথে মেলে
পাড়া এক্সটগ্লোব সক্ষম করুন এগুলি ব্যবহার করতে, আপনাকে প্রথমে নিম্নলিখিত কমান্ডটি প্রয়োগ করতে হবে:
<br data-mce-bogus="1"> shopt -s extglob<br data-mce-bogus="1">
এখন আপনি যা চান তা সরাতে আরএম ব্যবহার করতে পারেন। উদাহরণ স্বরূপ, নামের সাথে মেলে এমন ফাইলগুলি বাদ দিয়ে কোনও ডিরেক্টরি থেকে সমস্ত ফাইল মুছুন «এলএক্সএ»:
rm -v !("lxa")
আপনি নির্দিষ্ট করতে পারেন আপনি মুছতে চান না এমন দুটি বা আরও বেশি নাম। উদাহরণস্বরূপ, "lxa" এবং "desdelinux" অপসারণ এড়াতে:
rm -v !("lxa"|"desdelinux")
আপনি সমস্ত ফাইল মুছতে পারেন, বর্ধিত সঙ্গে বিয়োগ .mp3। এই ক্ষেত্রে:
rm -v !(*.mp3)
শেষে, আপনি ফিরে যেতে পারেন এক্সটগ্লোব অক্ষম করুন:
shopt -u extglob
সন্ধানের সাথে একটি ডিরেক্টরি থেকে ফাইলগুলি সরান
আরএম এর আরেকটি বিকল্প হ'ল আপনি অভিনব যা কিছু মুছে ফেলার জন্য ব্যবহার করুন। আপনি আরএম সহ পাইপ এবং এক্সার্গস ব্যবহার করতে পারেন, বা সন্ধানের জন্য -নির্ধারণ বিকল্পটি ব্যবহার করতে পারেন। অর্থাৎ জেনেরিক সিনট্যাক্সটি হ'ল:
find /directory/ -type f -not -name 'PATRÓN' -delete find /directory/ -type f -not -name 'PATRÓN' -print0 | xargs -0 -I {} rm [opciones] {}
উদাহরণস্বরূপ, আপনি চান কল্পনা করুন এক্সটেনশনযুক্ত ফাইলগুলি ব্যতীত ডিরেক্টরিতে সমস্ত ফাইল মুছুন .jpg, আপনি এই দুটি কমান্ডের একটি ব্যবহার করতে পারেন, যেহেতু তারা উভয়ই একই ফলাফল পেয়েছে:
find . -type f -not -name '*.jpg'-delete find . -type f -not -name '*.jpg' -print0 | xargs -0 -I {} rm -v {}
পরিবর্তে, আপনি চাইলে কিছু অতিরিক্ত প্যাটার্ন যোগ করুন, আপনিও করতে পারেন। উদাহরণস্বরূপ, ধরুন আপনি কোনও ডিরেক্টরি থেকে .pdf বা .odt অপসারণ করতে চান না:
find . -type f -not \(-name '*pdf' -or -name '*odt' \) -delete
অবশ্যই, আপনি এটি দিয়েও করতে পারেন পূর্ববর্তী উদাহরণ হিসাবে xargs। যাইহোক, আমরা ব্যবহার করেছি - অস্বীকার করতে হবে না, তবে আপনি এটিকে ইতিবাচক করে তুলতে, অর্থাত্ ম্যাচের ধরণগুলি সরিয়ে ফেলতে এবং এগুলি বাদ দিতে পারেন না।
GLOBIGNORE ভেরিয়েবল ব্যবহার করে কোনও ডিরেক্টরি থেকে ফাইলগুলি মুছুন
অবশেষে, আছে আরেকটি বিকল্প খুঁজে পেতে এবং আরএম করতে, এবং এটি আপনি যে ফাইলগুলিকে সরাতে বা বাদ দিতে চান তার দিকে নির্দেশ করতে একটি পরিবেশের পরিবর্তনশীল ব্যবহার করছে। উদাহরণস্বরূপ, কল করুন যে আপনি ডাউনলোডগুলি নামে একটি ডিরেক্টরিতে সমস্ত ফাইল মুছে ফেলতে চান, .pdf, .mp3 এবং .mp4 ফাইল সংরক্ষণ করতে চান imagine সেক্ষেত্রে, আপনি নিম্নলিখিতগুলি করতে পারেন:
cd Descargas GLOBIGNORE=*.pdf:*.mp4:.*mp3 rm -v * unset GLOBIGNORE