উত্তর:
লিনাক্স (অন্যান্য ইউনিক্সের মতো) স্থানীয়ভাবে একটি পূর্বাবস্থায় ফিচার সরবরাহ করে না। দর্শন হ'ল এটি যদি চলে যায় তবে চলে যায়। এটি যদি গুরুত্বপূর্ণ হয় তবে এটির ব্যাকআপ নেওয়া উচিত ছিল।
একটি ফিউজ ফাইল সিস্টেম রয়েছে যা পুরানো সংস্করণগুলির অনুলিপি স্বয়ংক্রিয়ভাবে রাখে: সমস্ত ভাল বিতরণে কপিফগুলি উপলব্ধ। অবশ্যই, এটি প্রচুর সংস্থান ব্যবহার করতে পারে।
এই জাতীয় দুর্ঘটনার হাত থেকে রক্ষা করার সর্বোত্তম উপায় হ'ল সংস্করণ নিয়ন্ত্রণ ব্যবস্থা (সিভিএস, বাজার, ডার্কস, গিট, ম্যুরিয়ালিয়াল, সাবভারশন, ...) ব্যবহার করা। এটি শিখতে একটু সময় লাগে তবে এটি মাঝারি এবং দীর্ঘ মেয়াদে দুর্দান্তভাবে প্রদান করে।
দুর্ভাগ্যক্রমে না.
-i
বিকল্পটি পছন্দ করি না rm
। আমার ইউনিক্স সিস্টেমগুলিকে আমার হাত ধরে রাখা উচিত নয়।
না কোনও ইউনিক্সে কোনও magন্দ্রজালিক পূর্বাবস্থা নেই। ইউনিক্স ধরে নেয় যে আপনি কী করছেন তা আপনি জানেন। পূর্বাবস্থায় সহায়তার জন্য একটি ভিসিএস ব্যবহার করুন (আপনার পাঠ্য সম্পাদক সম্ভবত এটি অন্তর্নির্মিত করেছেন)।
বেশিরভাগ ফাইল সিস্টেমে এটি স্বচ্ছতার সাথে করার ক্ষমতা নেই।
যথাক্রমে ম্যাক এবং উইন্ডোতে টাইম মেশিন এবং সিস্টেম পুনরুদ্ধার হ'ল কেবল ব্যাকআপ / পরিবর্তন নিয়ন্ত্রণ সিস্টেম change
কমান্ড লাইনে কোনও পূর্বাবস্থা নেই। তবে আপনি rm -i
এবং হিসাবে কমান্ড চালাতে পারেন mv -i
। এটি আপনাকে "আপনি কি নিশ্চিত?" কমান্ড কার্যকর করার আগে প্রশ্ন করুন।
এটির জন্য একটি প্রারম্ভিক স্ক্রিপ্টে (যেমন ~/.bashrc
বা /etc/bash.bashrc
) একটি উপনাম যুক্ত করাও সম্ভব :
alias remove='rm -i'
alias move='mv -i'
সম্পাদনা করুন: নীচের পরামর্শ অনুসারে, আমি আমার পরামর্শটি ওরফে পূর্বনির্ধারিত আদেশগুলি সরিয়ে দিয়েছি। পরিবর্তে, এটি এখন নতুন আদেশগুলি প্রবর্তন করে)।
mv -i
কেবল তখনই অনুরোধ জানানো হয় যখন এটি কোনও ফাইলকে ওভাররাইট করবে (যা এটি দরকারী এবং অসুবিধায়িত করে না)। একই শিরা alias cp='cp -i'
,।
লিনাক্স / ইউনিক্স সিস্টেমগুলির যেহেতু বেশিরভাগ ফাইল সিস্টেমগুলি তাদের তথ্য সংরক্ষণ করে সেগুলি থেকে একটি মুছে ফেলা স্টেম না থাকার কারণ। ফাইল মেটা-তথ্য সমস্ত ডিস্কের সামনের অংশে বাকী ডিস্কের ইনোডের রেফারেন্স সহ সঞ্চিত থাকে। সাধারণত, বেশিরভাগ ফাইল সিস্টেমগুলি এই মেটা-অঞ্চলে একটি ফাইলকে 10 টি ব্লক বরাদ্দ করে। প্রথম 7 প্রথম 7 ইনোডগুলিকে উল্লেখ করে। অষ্টম এবং নবম আইওনডগুলির তালিকাতে (দ্বিগুণ সংযুক্ত ব্লকগুলি) যান এবং 10 তম তালিকাগুলির তালিকাগুলির তালিকায় যায় (ট্রিপলি লিঙ্কযুক্ত ব্লক)। এটি ফাইল সিস্টেম থেকে ফাইল সিস্টেমে পরিবর্তিত হয় (ext4, jfs, xfs, ইত্যাদি) তবে ব্লকগুলির এই তালিকাগুলি সাধারণত 2GB থেকে একাধিক টিবি ফাইলের আকারকে সম্বোধন করতে পারে।
তবে এই সমস্ত তথ্য ডিস্কের সম্মুখভাগে সঞ্চিত রয়েছে, যখন কোনও ফাইল মুছে ফেলা হয়, তখন ডিস্কের ইনোডগুলি কোনও মেটা-ডেটা ব্যবহার করে সেগুলি উল্লেখ করার উপায় নেই। বিপরীতে FAT32 এবং এনটিএফএস আসলে ফাইলগুলির সাথে কিছু শিরোনামের তথ্য সংরক্ষণ করে যে কোনও ফাইলের মধ্যে কোন ব্লক ব্যবহার করা যায় তা চিহ্নিত করা সহজ করে তোলে (যতক্ষণ না নতুন স্থান দ্বারা সেই স্থানটি পুনরুদ্ধার করা হয়নি)। লিনাক্সের কাজে, আপনি যখন কোনও কিছু মুছবেন, দক্ষতার জন্য নতুন ডেটা দ্বারা তাত্ক্ষণিকভাবে লিখিত হওয়া প্রায় সর্বদা প্রথম জিনিস।
আপনি যদি সত্যিই একটি পূর্বাবস্থায় ফিরিয়ে আনতে চান তবে উত্স নিয়ন্ত্রণ ব্যবহার করুন। সাবভার্সন আসলে একটি একক ব্যবহারকারী মেশিনে খুব ভাল কাজ করে। আমি এটি আমার হোম সিস্টেমে আমার সমস্ত ব্যক্তিগত ফাইলগুলি নিয়ন্ত্রণ করতে ব্যবহার করি। এটি দুর্ঘটনার আগ পর্যন্ত ওভারকিলের মতো মনে হয়, একটি দুর্বৃত্ত স্ক্রিপ্ট বা কমান্ড লাইন টাইপ হিট।
rm -r .
যদিও আপনাকে রক্ষা করবে না । ;)
rm -r project.git
। ভাগ্যক্রমে আপনি যদি রিমোট সার্ভারে অন্য কোনও সংস্করণ রাখেন যা হওয়ার সম্ভাবনা নেই
rm -r .
। সত্যিই আমার বোকা।
আমি আমার .bashrc এ যুক্ত করতে চাই এমন একটি বিষয় হ'ল একটি অনুলিপি এবং মুছে ফাংশন। কিছুটা এইরকম:
cprm(){
cp -p $1 ~/deleted/$1
rm $1
}
তবে আপনাকে সিএমপিএম নয়, আরএমপি টাইপ করার অভ্যাসে যেতে হবে।
স্পষ্টতই যদি আপনার সীমিত ডিস্কস্পেস থাকে তবে আপনার মুছে ফেলা অঞ্চলের শীর্ষে রাখতে হবে।
"$1"
।
গিটএফএস হ'ল একটি ফিউজ-ভিত্তিক ফাইল সিস্টেম যা স্বয়ংক্রিয়ভাবে diff
সংস্করণগুলির মধ্যে গুলি গণনা করে এবং সেগুলি জুড়ে পুনরুদ্ধার / ব্রাউজ করার অনুমতি দেয়।
ওয়েবপৃষ্ঠা: https://www.presslabs.com/gitfs