আপনি যদি ফাইলগুলি নিষ্ক্রিয় করেন যে সংরক্ষণাগারটিতে সংশোধন টাইমস্ট্যাম্পটি নিষ্কাশিত অনুলিপিগুলিতে সংরক্ষণ করা হয় না (বরং উত্তোলিত ফাইলগুলির স্বাভাবিক পরিবর্তনের সময় রয়েছে) তবে এটি আক্রমণ করার সঠিক উপায়টি পরিবর্তন সময়ের মাধ্যমে is সমস্ত এক্সট্রাক্ট করা ফাইলের সেই ডিরেক্টরিতে সর্বাধিক সংশোধিত বিদ্যমান ফাইলের চেয়ে একটি নতুন পরিবর্তনের টাইমস্ট্যাম্প রয়েছে।
এখানে একটি সাধারণ পরিস্থিতি is
মনে করুন যে বর্তমান ডিরেক্টরিতে বিদ্যমান ফাইলগুলির কোনওরই কমপক্ষে 24 ঘন্টা ছোঁয়া হয়নি। গত 24 ঘন্টার মধ্যে যে কোনও কিছু সংশোধন করা হয়েছিল তা জিপফাইলে থেকে আবদ্ধ।
$ find . -mtime -1 -print0 | xargs -0 rm
এটি কিছু ডিরেক্টরিও খুঁজে পাবে, তবে rmসেগুলি একা রেখে দেবে। তাদের সাথে দ্বিতীয় পাসে মোকাবেলা করা যেতে পারে:
$ find . -mtime 1 -type d -print 0 | xargs -0 rmdir
সম্প্রতি যে কোনও ডিরেক্টরি যা সংশোধিত হয়েছিল সেগুলি জিপ দ্বারা সংশোধন করা হয়েছিল। যদি rmdirএগুলি সফলভাবে সরিয়ে দেয় তবে এর অর্থ তারা খালি। জিপ দ্বারা স্পর্শ করা খালি ডিরেক্টরিগুলি সম্ভবত এটি তৈরি করেছিল: যেমন আর্কাইভ থেকে এসেছে came আমরা ১০০% নিশ্চিত হতে পারি না। এটা সম্ভব যে আনজিপ কাজটি একটি বিদ্যমান ডিরেক্টরিতে কিছু ফাইল খালি ছিল।
কাজের জন্য যদি find24 ঘন্টা গ্রানুলারিটি যথেষ্ট ভাল না হয়, কারণ গাছের ফাইলগুলি খুব সম্প্রতি সংশোধন করা হয়েছিল, তবে আমি পরে কিছু সহজ বিবেচনা করব: মনে করুন যে আনজিপ কাজটি বিদ্যমান সাব-ডিরেক্টরিতে কোনও কিছু রাখেনি। এর অর্থ এই যে, আনজিপ করা ছিল না এমন সমস্ত কিছুই হয় শীর্ষ স্তরের ফাইল, বা একটি নতুন উপ-ডিরেক্টরি যা আগে ছিল না, সুতরাং জিপ থেকে পাওয়া উপাদান ছাড়া কিছুই নেই। তারপর:
# list directory in descending order of modification time
$ ls -1t > filelist # descending order of modification time
এখন আমরা filelistএকটি পাঠ্য সম্পাদক খুলব , এবং তালিকায় প্রথম এন্ট্রি নির্ধারণ করব যা জিপ থেকে আসে নি। আমরা সেই এন্ট্রি এবং তার পরে সমস্ত কিছু মুছব। জিপ থেকে আগত ফাইল এবং ডিরেক্টরিগুলি যা অবশিষ্ট রয়েছে। প্রথমে আমরা নামের ফাঁকা জায়গাগুলির মতো বিষয়গুলির জন্য দৃষ্টিভঙ্গি পরিদর্শন করি এবং উদ্ধৃতি পাওয়া দরকার quot তারপরে আমরা প্রয়োজনবোধে প্রতিটি জায়গার চারপাশে উদ্ধৃতি যুক্ত করতে পারি: নিম্নলিখিতটি অনুমান করে আপনি ভিম ব্যবহার করেন:
:%s/.*/"&"/
তারপরে এগুলিকে একটি বড় লাইনে যুক্ত করুন:
:%j
এখন rm -rfএর সামনে inোকান:
Irm - rf<ESC>
শেল কমান্ড হিসাবে কার্সারের নীচে লাইনটি চালান:
!!sh<Enter>
অবশ্যই, আমি ইতিমধ্যে উপস্থিত ফাইলগুলি মুছে ফেলার ঝুঁকির কারণে বা ফাইলের নাম সম্পর্কিত সমস্যার কারণে এই কাজের পদক্ষেপগুলি স্বয়ংক্রিয় করব না।
আপনি যদি জিপটিতে পাথগুলির একটি তালিকা পাওয়ার সুস্পষ্ট পথে যেতে চলেছেন তবে একটি ফাইলের কাছে এটি ক্যাপচার করুন, খুব সাবধানে এটি দেখুন এবং প্রয়োজনীয় সম্পাদনা করার পরে এটি একটি সরানোর জায়গায় রূপান্তরিত করুন।
lqবিকল্পগুলির জন্য সচেতন ছিলাম নাunzizp, আমি তার মূল উত্তরের চারপাশে কয়েকটি ক্লাসিক * নিক্স ট্রিকস যুক্ত করেছি।