সম্প্রতি আমি দুর্ঘটনাক্রমে rm
ফাইলগুলির একটি সেট করেছিলাম এবং এটি আমার মনে হয়েছিল যে এই ফাইলগুলি ঠিক কোথায়?
এর অর্থ হ'ল কোনও জিইউআইয়ের সাথে কাজ করার সময় মুছে ফেলা ফাইলগুলি ট্র্যাশে যায়। এর সমতুল্য কি rm
এবং কোনও rm
আদেশ কমানোর উপায় আছে ?
সম্প্রতি আমি দুর্ঘটনাক্রমে rm
ফাইলগুলির একটি সেট করেছিলাম এবং এটি আমার মনে হয়েছিল যে এই ফাইলগুলি ঠিক কোথায়?
এর অর্থ হ'ল কোনও জিইউআইয়ের সাথে কাজ করার সময় মুছে ফেলা ফাইলগুলি ট্র্যাশে যায়। এর সমতুল্য কি rm
এবং কোনও rm
আদেশ কমানোর উপায় আছে ?
উত্তর:
কোথাও নেই, চলে গেছে, নিখোঁজ হয়েছে। ভাল, আরও নির্দিষ্টভাবে, ফাইলটি লিঙ্কমুক্ত হয় lin ডেটা এখনও সেখানে ডিস্কে বসে আছে, তবে এর লিঙ্কটি সরানো হয়েছে। এটি ডেটা পুনরুদ্ধার করা সম্ভব ছিল, কিন্তু আজকাল মেটাডেটা সাফ হয়ে গেছে এবং কিছুই উদ্ধারযোগ্য নয়।
এখানে কোনও ট্র্যাশ ক্যান নেই rm
, থাকাও উচিত। আপনার যদি ট্র্যাশ ক্যানের প্রয়োজন হয় তবে আপনার একটি উচ্চ-স্তরের ইন্টারফেস ব্যবহার করা উচিত। trash-cli
উবুন্টুতে একটি কমান্ড-লাইন ইউটিলিটি রয়েছে তবে বেশিরভাগ সময় জিইউআই ফাইল ম্যানেজার যেমন নটিলাস বা ডলফিন ব্যবহার করা হয় স্ট্যান্ডার্ড ট্র্যাশ ক্যান সরবরাহ করতে। ট্র্যাশ নিজেই স্ট্যান্ডার্ড। ডলফিনে ট্র্যাশ করা ফাইলগুলি নটিলাস থেকে ট্র্যাশে প্রদর্শিত হবে।
ফাইলগুলি ~/.local/share/Trash/files/
ট্র্যাশ করার সময় সাধারণত অন্য কোথাও স্থানান্তরিত হয় । rm
ইউনিক্স / লিনাক্স কমান্ড সাথে তুলনা করা যায় del
ডস / উইন্ডোস যা মুছে ফেলে এবং নেই উপর না রিসাইকেল বিন ফাইল সরানো। অন্য একটি জিনিস বুঝতে হবে যে আপনার হার্ড ডিস্ক ড্রাইভ থেকে আপনার ইউএসবি ডিস্কের মতো ফাইল সিস্টেমের মধ্যে একটি ফাইল সরিয়ে নেওয়া সত্যিই 1) ফাইল ডেটার একটি অনুলিপি যার পরে 2) মূল ফাইলটিকে সংযুক্ত করে। আপনি চাইবেন না যে আপনার ট্র্যাশগুলি এই অতিরিক্ত অনুলিপি দ্বারা পূর্ণ করা হোক।
libtrash
আরএম এর আচরণ পরিবর্তন করার মতো কিছু ব্যবহার করে সতর্ক থাকব । প্রচুর স্ক্রিপ্ট rm
ফাইল পরিষ্কার করতে ব্যবহার করে এবং আপনি চান না যেগুলি ট্র্যাশে প্রদর্শিত হচ্ছে showing আমি প্যাকেজ trash
থেকে একটি উত্সর্গীকৃত কমান্ড ব্যবহার করার পরামর্শ দিচ্ছি trash-cli
। @pedro আমার যুক্ত করা উচিত যে আমি একবার আমার হোম ডিরেক্টরিতে একটি ফাইল তৈরি করেছিলাম। আমি দুর্ঘটনাক্রমে * উদ্ধৃত করেছিলাম যখন আমার এটি তৈরি করা উচিত নয় তাই আমি আরএম * দিয়ে এটিকে অপসারণের সিদ্ধান্ত নিয়েছি n আমি যখন বুঝতে পারি আমি কী করেছি তাড়াতাড়ি কমান্ডটি মেরে ফেলেছি তবে এটি ইতিমধ্যে আমার হোম ডিরেক্টরিতে থাকা বেশ কয়েকটি ফাইল মুছে ফেলেছে।
cp
, এবং mv
যাও, cp -i
এবং mv -i
যখন রুট হিসাবে চলছে। এটি ডিফল্ট আচরণ পরিবর্তন করে যাতে বিদ্যমান ফাইলগুলি ওভাররাইট করার আগে সেই আদেশগুলি সর্বদা জিজ্ঞাসা করবে। কিছু সিসাডমিনস বিশেষভাবে এই এলিয়াসগুলি মুছে ফেলার জন্য সুপারিশ করেছিল যাতে আপনি সেই আচরণের প্রত্যাশা না করেন যা ডিফল্ট আচরণ অনুসরণ করে এমন কোনও সিস্টেমে মারাত্মক হতে পারে।
, Ext3 / ext4 এই জন্য, আপনি মত সরঞ্জাম ব্যবহার করে ফাইলগুলি পুনরুদ্ধার করার চেষ্টা করতে পারেন extundelete বা ext3grep , অথবা এমনকি যেতে তালগোল পাকানো নিম্নস্তরের কাঠামোর সঙ্গে ম্যানুয়ালি (না হৃদয়ের ভীরু জন্য); অনেক ফাইল সিস্টেমের জন্য, আপনি নির্দিষ্ট নিদর্শন দ্বারা অ-এখনও-ওভার- রাইটেড ব্লকগুলি অনুসন্ধান করার চেষ্টা করতে পারেন (যেমন ম্যাজিক্রেস জেপিইজি শিরোনামগুলি সন্ধান করতে পারে অন্যান্য জিনিসগুলির মধ্যে)। নোট করুন যে এগুলি পেছনের বাম মেটাডেটা থেকে ফাইলগুলি পুনরুদ্ধার করার জন্য হিউরিস্টিক্স ব্যবহার করছে, তাই সম্পূর্ণ পুনরুদ্ধারের গ্যারান্টি দেওয়া হয় না - এটি শেষ-সুযোগের বেট বেশি (যেমন ফাইলগুলির কিছু চিহ্ন জার্নালে থাকা দরকার এবং ব্লকগুলি এখনও ওভাররাইট করা হয়নি)।
সুতরাং, সমস্ত অভিপ্রায় এবং উদ্দেশ্যে, মুছে ফেলা ফাইলগুলি rm
চলে গেছে - আপনি এই সরঞ্জামগুলির প্রস্তাব হিসাবে যেমন নেক্রোমেন্সির চেষ্টা করতে পারেন তবে এটির উপর নির্ভর করবেন না: অন্য সমস্ত কিছু ব্যর্থ হলে চেষ্টা করার জন্য এই সরঞ্জামগুলি। আপনার সর্বশেষতম ব্যাকআপগুলি খনন করা ভাল (আপনি ব্যাকআপ তৈরি করছেন, ঠিক আছে? ওহ ভাল, লাইভ এবং শিখুন ...)।
এর প্রভাবগুলি পূর্বাবস্থায় ফেলার বিষয়ে rm
:
প্রদত্ত যে বেশিরভাগ ফাইল সিস্টেমগুলি কেবল ডেটার রেফারেন্সটিকে সরিয়ে দেয় এবং ব্লককে নিখরচায় চিহ্নিত করে, আপনি সরাসরি ডিভাইস থেকে আপনার ডেটা পঠন সনাক্ত করতে চেষ্টা করতে পারেন। কিছুটা ভাগ্যের সাথে আপনার ফাইল (গুলি) যুক্ত ব্লকগুলিকে অন্য কোনও কিছুর জন্য দাবি করা হয়নি been
এটি ধরে নিয়েছে যে root
সিস্টেমে আপনার কাছে কিছু অনন্য আছে, এবং আমি অনুমান করছি যে একাধিক ফাইল সিস্টেম ব্লক (সম্ভবত 4 কে) বিস্তৃত হতে পারে এমন একসাথে পাইকিং করার চেষ্টা করা যেতে পারে যদি ফাইল সিস্টেমটি পরিচালনা না করে quite ফাইলগুলিকে সংযুক্ত ব্লকের মধ্যে রাখার জন্য।
ফাইল সিস্টেমটি চালু রয়েছে এমন ডিভাইসে স্ট্রিং চালিয়ে এবং grep
একটি বৃহত প্রসঙ্গে ( -C
) প্রবন্ধের সাহায্যে এই ফাইলগুলি থেকে কিছু সন্ধান করে আমি বেশ কয়েকটি সাফল্য-পাঠ্য ফাইলের সামগ্রী সফলভাবে উদ্ধার করেছি । (এবং এই ঘটনার শীঘ্রই, সংস্থাটি ব্যাকআপগুলি বাস্তবায়নে কিছু সংস্থান ব্যয় করার সিদ্ধান্ত নিয়েছে)
magicrescue
যা তাদের স্বতন্ত্র নিদর্শনগুলির দ্বারা চিত্র বা শোনার চেষ্টা করে।
আপনি যখনই rm
কমান্ড ব্যবহার করে কোনও ফাইল মুছবেন তখন ফাইলের ডেটা কখনই মুছবে না। অন্য কথায় ডেটাযুক্ত ফাইল সিস্টেমে ব্লকগুলি এখনও রয়েছে।
যখন আপনি rm
কমান্ডটি চালাবেন তখন যা ঘটে তা হ'ল সিস্টেমটি সেই ফাইলের অন্তর্গত ইনোডটিকে অব্যবহৃত হিসাবে চিহ্নিত করে এবং সেই ফাইলটির ডেটা ব্লকগুলি অব্যবহৃত হিসাবে চিহ্নিত করা হয় (তবে মুছে ফেলা হয় না)। তবে ext3
কোনও ফাইল মুছে ফেলা হলে ইনোডের বেশিরভাগ ক্ষেত্রটি শূন্য করে।
অব্যবহৃত এই সাধারণ চিহ্নিতকরণটি গতির জন্য করা হয় ... অন্যথায় মুছে ফেলার জন্য আরও কিছুটা সময় লাগবে। এ কারণেই আপনি উল্লেখ করেছেন যে এমনকি বড় ফাইলগুলি মুছে ফেলাও দ্রুত হয় (যদি ডেটা ব্লকগুলি ওভাররাইট না করা হয় তবে আপনি ডেটা পুনরুদ্ধার করতে পারেন)।
আরও তথ্য: ইনোড স্ট্রাকচার , কীভাবে ফাইল মোছা কাজ করে
chattr +s
("শ্যাড") বৈশিষ্ট্যের সাথে। এটি ফাইল সিস্টেমটিকে মুছে ফেলার শূন্যের সাথে এই ফাইলটিকে বিশেষ করে ওভাররাইট করতে বলে। কেবলমাত্র কিছু ফাইল সিস্টেমগুলি সেই বৈশিষ্ট্যটিকে সমর্থন করবে।
ইউনিক্স-স্টাইলের ফাইল সিস্টেমগুলিতে (লিনাক্স সহ) ফাইলগুলি কোনও নির্দিষ্ট জায়গায় সত্যই "এ" থাকে না। পরিবর্তে, সিস্টেমটি হার্ডলিঙ্কগুলি ব্যবহার করে ডেটার একটি বৃহত পরিমাণে কী পরিমাণ তা টুকরো টুকরো করে। সুতরাং আপনি যখন কোনও ফাইল তৈরি করেন, আপনি এটির প্রথম হার্ডলিংকটিও তৈরি করেন: প্রকৃতপক্ষে এমন একটি যেখানে আপনি ফাইলটি "সংরক্ষণ" করেছেন at আপনি যদি আরও হার্ডলিঙ্কগুলি করেন তবে সিস্টেমটি যতদূর জানে, ফাইলটি একসাথে বেশ কয়েকটি স্থানে উপস্থিত থাকে।
আপনি যখন কোনও ফাইল "মুছুন" করেন, সাধারণত আপনি কেবলমাত্র আপনার নির্দিষ্ট স্থানে থাকা হার্ডলিঙ্কটি মুছবেন। এই কারণেই ফাইলগুলি মুছতে সিস্টেম কলকে ডাকা হয় unlink()
। সিস্টেমটি ফাইলটি মুছবে না যতক্ষণ না এতে কোনও হার্ডলিঙ্ক থাকে না। কিন্তু একবার যখন শেষ হার্ডলিঙ্কটি ধ্বংস হয়ে যায়, তেমনি ডেটাও হয়।
সুতরাং, আপনি মুছে ফেলা ফাইলগুলি কোথায় যান? যদি এখনও হার্ডলিঙ্কগুলি থাকে তবে সেগুলি ফাইলগুলি যেখানে আপনি মুছে না এমন হার্ডলিঙ্কগুলি যেখানেই রয়েছে are যদি কোনও হার্ডলিঙ্কগুলি না থাকে তবে ফাইলগুলি চলে যায়।