আমি ঘটনাক্রমে চালিয়ে একটি ফাইল মুছলাম:
rm -rf ./Desktop/myScript.sh
আমি মনে করি ফাইলটি পুনরুদ্ধার করা সম্ভব, কারণ rm
আদেশটি অস্থায়ীভাবে সরিয়ে দেয়। আমি কীভাবে ম্যাক ওএসএক্স-এ মুছে ফেলা ফাইলটি পুনরুদ্ধার করতে পারি?
আমি ঘটনাক্রমে চালিয়ে একটি ফাইল মুছলাম:
rm -rf ./Desktop/myScript.sh
আমি মনে করি ফাইলটি পুনরুদ্ধার করা সম্ভব, কারণ rm
আদেশটি অস্থায়ীভাবে সরিয়ে দেয়। আমি কীভাবে ম্যাক ওএসএক্স-এ মুছে ফেলা ফাইলটি পুনরুদ্ধার করতে পারি?
উত্তর:
ম্যাকোস একটি ইউনিক্স ওএস এবং এর rm
অর্থ "বিদায়"। জিইউআই ইন্টারফেস আপনাকে একটি ফাইল ট্র্যাশে স্থানান্তরিত করতে দেয় (যা আপনি পুনরুদ্ধার করতে পারবেন) তবে এটি আপনি করেননি। আপনার যদি ব্যাকআপ থাকে (যেমন আপনার কাছে টাইম মেশিন চলছে) তবে আপনি সংরক্ষণ করেছেন।
শোধন
কঠোরভাবে বলতে গেলে (যেমন @ire_and_curses দেখায়) একটি স্পষ্টভাবে rm
ফাইলটির জন্য ডিরেক্টরি এন্ট্রি মুছে ফেলা হয় যখন এটি ব্যবহার করা ডিস্ক ব্লকগুলি রেখে যায়, অচ্ছুত। যদি আপনি যে ফাইল সিস্টেমটি ফাইলটি ছিল সেটিতে চুপচাপ থাকতে পারতেন তবে এমন উন্নত পদ্ধতি রয়েছে যার মাধ্যমে আপনি এই ব্লকগুলির সামগ্রীগুলি পুনরায় আবিষ্কার করার চেষ্টা করতে পারেন। কিছু পুনরুদ্ধার সরঞ্জাম রয়েছে যা লোকসানটি পুনরুদ্ধার করতে কেনা যায়। কেন্দ্রীয় সমস্যাটি হ'ল অন্য কোনও কিছুই আপনার ফাইল দ্বারা প্রতিনিধিত্ব করা কোনও ডিস্ক ব্লক পুনরায় ব্যবহার করে না।
ম্যাকওএসের একটি সুরক্ষিত অপসারণ কমান্ড ( srm
) রয়েছে যা কোনও ফাইল unlink
এটির পুনরুদ্ধারযোগ্য করে তোলার আগে ওভার- লিখিত করে। আমি এই unlink
শব্দটি ব্যবহার করি কারণ এটি শেলের rm
কমান্ডের সাথে যুক্ত অন্তর্নিহিত সিস্টেম কল । এটি নীচে, এই আলোচনার পরবর্তী অংশের মঞ্চ নির্ধারণ করে।
সাইড নোট
[আমার তাড়াহুড়া করা উচিত যে আপনি একাধিকবার ডিস্ক ওভার-লিখন করলেও এর আগে কয়েক ডজন বা তারও বেশি বার যা লেখা হয়েছিল তা পড়ার উপায় রয়েছে। সঠিকভাবে নিষ্পত্তি করার জন্য একটি ডিস্ক স্যানিটাইজ করার জন্য একটি অ্যাসিড বাথ, একটি বড় হাতুড়ি এবং একটি কুঁচকানো দরকার। ]
unlink
একটি ফাইল আইং ফাইলের ইনড লিঙ্ক-গণনা হ্রাস করে। যদি এই মানটি শূন্যে পৌঁছে যায় তবে ফাইলটি ফাইল সিস্টেম ডিরেক্টরি থেকে মুছে ফেলা হয় এবং এর ডিস্কটি পুনরায় ব্যবহারের জন্য মুক্ত করে। এটি কেবল তখনই ঘটে যখন কোনও প্রক্রিয়া ফাইল খোলে না। এটি প্রায়শই প্রশাসকদের বিভ্রান্ত করে তোলে যে কোনও ফাইল সিস্টেম খুব বড় পরিমাণে স্থান ব্যবহার করছে যা ডিস্ক ব্লকের সাধারণ সংমিশ্রণ দ্বারা (যেমন কিছু দিয়ে du
) গণনা করা যায় না । প্রায়শই কারণ হ'ল একটি উন্মুক্ত ফাইল সরানো হয়েছে, যাতে এটি আর এর ডিরেক্টরিতে প্রদর্শিত হয় না। কারণটি হ'ল ফাইলটি ব্যবহারের শেষ প্রক্রিয়াটি শেষ না হওয়া অবধি ডিস্ক ব্লকগুলি অযৌক্ত থাকে।
কোনও ফাইল খোলা এবং তাত্ক্ষণিকভাবে প্রবেশ করা unlink
নিরাপদ, অস্থায়ী ফাইল তৈরির জন্য একটি সাধারণ অভ্যাস। lsof
আপনি যদি শূন্যের লিঙ্ক কাউন্ট (এনপিআর) সহ ফাইলগুলি সন্ধান করেন তবে এর মতো সরঞ্জামগুলি এগুলি অন্যথায় অদৃশ্য ফাইলগুলিকে প্রকাশ করতে পারে।
ইউনিক্স এবং লিনাক্সে (যার মধ্যে ম্যাকোস একটি ব্র্যান্ডযুক্ত ইউনিক্স), rm
এটি "ডু-ইট" এর ইউনিক্স দর্শন অনুসরণ করতে পারে যদি ধর্মান্ধতা ছাড়াই অনুসরণ করে। এটি হ'ল যদি আপনার কাছে কোনও ফাইল সরানোর অনুমতি থাকে (যেমন আপনার ডিরেক্টরিটি লেখার অনুমতি দেয়) তবে rm
আপনি যা চান ঠিক তাই করেন does আপনি শেল ওরফে তৈরি করতে পছন্দ করতে পারেন rm='rm -i'
যা অপারেশন করার আগে আপনাকে নিশ্চিতকরণের জন্য অনুরোধ করে। ওভাররাইড -f
সহ স্যুইচ ব্যবহার করে rm
যদি প্রয়োজন হয়। আপনার পছন্দগুলি মুছে ফেলা rm
হলে একটি এলিয়াস সবচেয়ে কার্যকর । এটি হল, তালিকার কোনও ফাইল এড়িয়ে যাওয়ার বিকল্প রয়েছে haveglob
rm *.log
আপনার সামগ্রীর উপর নির্ভর করে তবে আপনি এটি করতে বিভিন্ন তৃতীয় পক্ষের সফ্টওয়্যার ব্যবহার করতে পারেন, যেমন:
এবং আরো অনেক.
অ্যাপ স্টোরটিতে 'ডেটা রিকভারি' টাইপ করে আপনি আরও অ্যাপসটি সন্ধান করতে পারেন।
আরও উন্নততর উপায় হল আপনার ওএসএক্সটিকে পুনরুদ্ধার মোডে বুট করা (বা যদি আপনি পারেন তবে আপনার পার্টিশনটি সরিয়ে ফেলুন) এবং ম্যানুয়ালি এটি অনুসন্ধান করুন (যদি আপনি আপনার স্ক্রিপ্ট থেকে কিছু নির্দিষ্ট পাঠ্য মনে রাখেন)।
কিছু উদাহরণ:
diskutil list
sudo cat /dev/disk0s2 | strings | grep -C20 "my_stuff"