ফাইলটি কি পুনরুদ্ধারযোগ্য?
সংক্ষিপ্ত উত্তর: সাধারণত না।
@ মার্ক প্লটনিক মন্তব্যগুলিতে উল্লেখ করেছেন, আপনি আনকম্পাইল ব্যবহার করে .py
ফাইলগুলি পুনরুদ্ধার করতে পারেন । এটি আপনার পরিস্থিতির জন্য উপযুক্ত হতে হবে।.pyc
সাধারণভাবে, যদিও এটি অনেক কঠিন। তাত্ত্বিকভাবে আপনি ফাইলগুলি মুছে ফেলার জন্য ফরেনসিক সরঞ্জামগুলি ব্যবহার করতে পারেন। সম্ভবত আমি সবচেয়ে সহজ testdisk
ব্যবহারটি হ'ল (ওরফে "ফটোরেক")। এটি কেবল কখনও কখনও কাজ করে এবং এটি একটি ধীর প্রক্রিয়া। এটি সাধারণত এটির পক্ষে উপযুক্ত নয়, সুতরাং, হ্যাঁ, এটি সম্ভব , তবে আসল উত্তরটি "না"।
পারি > ঊর্ধ্বলিপি এক্সেকিউটেবল না পরিবর্তন করা?
না। শেলটি কেবলমাত্র এক্সিকিউটেবল হিসাবে চিহ্নিত ফাইলগুলির জন্য পুনর্নির্দেশের জন্য শেলকে বলার কোনও আদর্শ উপায় নেই। এখানে "নোক্লোবার" রয়েছে যা বিদ্যমান ফাইলগুলিতে পুনর্নির্দেশকে কার্যকর করতে পারে বা না করতে পারে তবে নীচে সে সম্পর্কে আমার মন্তব্য দেখুন।
ভবিষ্যতে কী করব?
এটি নির্বোধ শোনায় তবে ভবিষ্যতের ভুলগুলি রোধ করতে আপনার সম্ভবত কিছু করার দরকার নেই। আমার বাজি আপনি ইতিমধ্যে এই পাঠ শিখেছি হয়।
আমি দীর্ঘদিন ধরে ইউনিক্সটি ব্যবহার এবং শেখাচ্ছি এবং লোকেরা প্রায়শই একবার এই ভুলটি করে, তারা খুব কমই এটি পুনরাবৃত্তি করে। কেন না? ছুরির অভিজ্ঞ ব্যক্তি একই কারণে সম্ভবত তাদের কাটবে না: মানুষ শেখায় ভাল at অবশেষে, সঠিক কাজটি করা দ্বিতীয় প্রকৃতিতে পরিণত হয়।
এমন পাঠ্য সম্পাদক ব্যবহার করুন যা আপনার জন্য ব্যাকআপ তৈরি করে। উদাহরণস্বরূপ, আপনি যদি ব্যবহার করেন তবে emacs
আপনার প্রোগ্রামের পূর্ববর্তী সংস্করণটি mac_ip.py ~ এ সংরক্ষণ করা হবে ~ অন্যান্য সম্পাদকদের একইভাবে কাজ করার জন্য কনফিগার করা যেতে পারে (যেমন, "ব্যাকআপ সেট করুন" .nanorc
)। স্বয়ংক্রিয় ব্যাকআপগুলিকে সমর্থন করে না এমন সম্পাদকদের জন্য, আপনি আপনার .bashrc এ একটি সরল ফাংশন করতে পারেন:
myeditor() { cp -p "$1" "$1~"; editor "$1"; }
অনুলিপিগুলি তৈরি করা আপনার পক্ষে সহজ করুন। উদাহরণস্বরূপ, আপনি যে প্রকল্পে কাজ করছেন তার ডিরেক্টরিতে আপনার একটি মেকফিল থাকতে পারে এটির মতো লক্ষ্য সহ:
# Use `make tar` to backup all files in this directory.
# Tar filename will be ../<currentdirectory>-<date>.tar.gz
DIRNAME = $(shell basename `pwd`)
TIMESTAMP = $(shell date +%s)
tar:
@echo "[Tarring up ${DIRNAME}.tar.gz]"
(cd .. ; tar -zcvf "${DIRNAME}-${TIMESTAMP}.tar.gz" "${DIRNAME}")
(দ্রষ্টব্য: স্ট্যাকেক্সচেঞ্জটি 4 টি স্পেস হিসাবে উপরের ট্যাবগুলিকে মিথ্যা প্রতিস্থাপন করছে))
একইভাবে, আপনি একটি মেকফিল লক্ষ্য তৈরি rsync
করতে পারেন যা আপনার যে ssh
অ্যাক্সেস রয়েছে এমন একটি রিমোট ইউনিক্স হোস্টকে করে। (ব্যবহার করুন ssh-copy-id
যাতে আপনাকে বারবার আপনার পাসওয়ার্ড জিজ্ঞাসা করা হবে না))
ব্যবহার git
। শুরু করার জন্য অনেক দুর্দান্ত টিউটোরিয়াল রয়েছে। চেষ্টা করুন man gittutorial
, man gittutorial-2
এবং man giteveryday
। আপনার নিজস্ব গিট সংগ্রহস্থল স্থাপন শক্ত নয়, তবে আপনি গিথুব ডট কম এ বিনা মূল্যে একটি রিমোট রিপোজিটরিও তৈরি করতে পারেন
যদি উপরের সমাধানগুলি খুব ভারী ওজন হয় তবে আপনি gist.github.com এ ছোট স্ক্রিপ্টগুলি সংরক্ষণ করতে পারেন । ওয়েব ব্রাউজার থেকে আটকানো বা আপলোড করা সম্ভব হলেও, জিনিসগুলি খুব সহজ করে তুলতে আমি একটি কমান্ড লাইন গিস্ট ইন্টারফেস ব্যবহার করার পরামর্শ দিই ।
আমি "নোক্লোবার" ব্যবহার করে দৃ strongly়ভাবে নিরুৎসাহিত করি।
হ্যাঁ, আপনি যদি চয়ন করেন তবে আপনি এটি করতে পারবেন set -o noclobber
যখনই আপনি বিদ্যমান ফাইলটি ওভাররাইট করার চেষ্টা করবেন ত্রুটি বার্তা পাবেন। এটি আমার মতে একটি খারাপ ধারণা। *
এটি শেলটি সক্ষম করে কিনা তা কোনও দৃশ্যমান ইঙ্গিত ছাড়াই একটি অ-মানক উপায়ে শেলটিকে কাজ করে। সাধারণ জিনিসগুলি করার জন্য আপনাকে আলাদা সিনট্যাক্স ব্যবহার করতে হবে। সবচেয়ে খারাপ, আপনি যদি নোক্লোবার ব্যবহার করতে অভ্যস্ত হন তবে কোনও দিন আপনি নোক্লোবার ছাড়াই অন্য একটি ইউনিক্স মেশিন ব্যবহার করবেন এবং এই ধরণের দুর্ঘটনা আবার ঘটতে পারে।
আপনি সম্ভবত জানেন যে, ইউনিক্স শেলটি বিশেষজ্ঞদের জন্য একটি ধারালো সরঞ্জাম হিসাবে নকশা করা হয়েছিল। এটি ব্যবহার করা দ্রুত এবং আপনার পথে পাবে না - এবং আপনি যদি শেষটি ক্ষুদ্র হয় ভুলে যান তবে এটি আপনাকে কেটে ফেলবে। তবে, আপনি যত বেশি এটি ব্যবহার করবেন, তত বেশি আমি মনে করি আপনি এটি প্রশংসা করবেন যে এটি ভাল জিনিস হতে পারে।
* পাদটীকা: সম্ভবত আমার মতামত লবণ একটি দানা সঙ্গে নিতে। আমি সাইকেলের প্রশিক্ষণের চাকাগুলি খারাপ ধারণা বলে মনে করি সেই ধরণের ব্যক্তিও।
set -o noglobber
এবং ব্যাশ আর বিদ্যমান ফাইলগুলিতে পুনর্নির্দেশ করবে না। বিস্তারিত জানার জন্য এখানে দেখুন: cyberciti.biz/tips/howto-keep-file-safe-from-overwriting.html