আমি ডিরেক্টরিতে সমস্ত ফাইলের জন্য একটি এমডি 5 চেকসাম তালিকা তৈরি করতে চাই।
আমি চাই cat filename | md5sum > ouptput.txt
। আমি আমার ডিরেক্টরিতে সমস্ত ফাইলের জন্য 1 ধাপে এটি করতে চাই।
কোন সহায়তা দুর্দান্ত হবে।
আমি ডিরেক্টরিতে সমস্ত ফাইলের জন্য একটি এমডি 5 চেকসাম তালিকা তৈরি করতে চাই।
আমি চাই cat filename | md5sum > ouptput.txt
। আমি আমার ডিরেক্টরিতে সমস্ত ফাইলের জন্য 1 ধাপে এটি করতে চাই।
কোন সহায়তা দুর্দান্ত হবে।
উত্তর:
আপনি md5sum
একাধিক ফাইলের নাম বা ব্যাশ বিস্তৃত করতে পারেন :
$ md5sum * > checklist.chk # generates a list of checksums for any file that matches *
$ md5sum -c checklist.chk # runs through the list to check them
cron: OK
database.sqlite3: OK
fabfile.py: OK
fabfile.pyc: OK
manage.py: OK
nginx.conf: OK
uwsgi.ini: OK
যদি আপনি অভিনবতা পেতে চান তবে আপনি find
ফাইলগুলি ড্রিল এবং ফিল্টার করার পাশাপাশি পুনরাবৃত্তভাবে কাজ করার মতো জিনিসগুলি ব্যবহার করতে পারেন :
find -type f -exec md5sum "{}" + > checklist.chk
md5sum
সাব ডিরেক্টরি ভিতরে ফাইল, উপরে md5sum *
বলার অপেক্ষা রাখে না ... দ্বারা সাব স্তর মধ্যে যাওয়া emitting একটি ডিরেক্টরি হয়
find -type f -exec md5sum '{}' +
এবং `সন্ধান করুন-টাইপ f -exec md5sum '{}'` আমি এটি পেতে সক্ষম হয়েছি। ধন্যবাদ :)
openssl md5 * > checklist.txt
**
: যাও recursively (যেমন zsh হিসাবে), এটা এমনকি সহজ এরmd5sum **/* 2>/dev/null
একটি দুর্দান্ত চেকসাম তৈরি / যাচাইকরণের প্রোগ্রামটি র্যাশ। এটি এমনকি এসএফভি সামঞ্জস্যপূর্ণ ফাইলগুলি তৈরি করে এবং সেগুলিও পরীক্ষা করে।
এটি md4, md5, sha1, sha512, crc32 এবং অন্যান্য অনেকগুলি সমর্থন করে।
তবুও এটি এমডি 5 ডিপি বা শ 1 প্রদীপের মতো रिकर्सিভ ক্রিয়েশন (-r বিকল্প) করতে পারে।
সর্বশেষে তবে অন্তত আপনি চেকসাম ফাইলের আউটপুট ফর্ম্যাট করতে পারবেন না; উদাহরণ স্বরূপ:
rhash --md5 -p '%h,%p\n' -r /home/
/home
ডিরেক্টরিগুলির সাথে পুনরাবৃত্তিভাবে শুরু হওয়া ফাইলগুলির পুরো পথ সহ একটি সিএসভি ফাইল আউটপুট করে ।
আমি crc32 যোগফল filesুকিয়ে দিয়ে -e বিকল্পের পুনরায় নামকরণের ফাইলগুলি অত্যন্ত দরকারী বলে মনে করি।
আপনি ফিনিক্স এনএল 72 এর উদাহরণগুলিতে "rhash" দিয়ে "md5sum" পরিবর্তন করতে পারেন।
এখানে আরও দুটি বিস্তৃত উদাহরণ রয়েছে:
প্রতিটি ডিরেক্টরিতে একটি এমডি 5 ফাইল তৈরি করুন যার ইতিমধ্যে একটি নেই, পরম পাথ সহ:
find "$PWD" -type d | sort | while read dir; do [ ! -f "${dir}"/@md5Sum.md5 ] && echo "Processing " "${dir}" || echo "Skipped " "${dir}" " @md5Sum.md5 already present" ; [ ! -f "${dir}"/@md5Sum.md5 ] && md5sum "${dir}"/* > "${dir}"/@md5Sum.md5 ; chmod a=r "${dir}"/@md5Sum.md5;done
প্রতিটি ফোল্ডারে একটি এমডি 5 ফাইল তৈরি করুন যার ইতিমধ্যে একটি নেই: কোনও পথ নেই, কেবল ফাইলের নাম:
find "$PWD" -type d | sort | while read dir; do cd "${dir}"; [ ! -f @md5Sum.md5 ] && echo "Processing " "${dir}" || echo "Skipped " "${dir}" " @md5Sum.md5 allready present" ; [ ! -f @md5Sum.md5 ] && md5sum * > @md5Sum.md5 ; chmod a=r "${dir}"/@md5Sum.md5 ;done
1 এবং 2 এর মধ্যে পার্থক্যটি কীভাবে ফাইলগুলি এমডি 5 ফলাফল হিসাবে উপস্থাপন করা হয়।
কমান্ডগুলি নিম্নলিখিতটি করে:
এই সম্পূর্ণ স্ক্রিপ্টের আউটপুট কোনও ফাইলের (.....; সম্পন্ন> টেস্ট.লগ) পুনর্নির্দেশ করা যেতে পারে বা অন্য প্রোগ্রামে পাইপ করা যায় (গ্রেপের মতো)। আউটপুট কেবল আপনাকে জানায় যে কোন ডিরেক্টরিগুলি এড়িয়ে গেছে এবং কোনটি প্রক্রিয়াজাত হয়েছে।
একটি সফল রান করার পরে, আপনি আপনার বর্তমান ডিরেক্টরিটির প্রতিটি উপ ডিরেক্টরিতে একটি @ md5Sum.md5 ফাইল দিয়ে শেষ করবেন
আমি @ md5Sum.md5 ফাইলটির নাম দিয়েছি যাতে এটি একটি সাম্বা ভাগ করে ডিরেক্টরিতে শীর্ষের উপরে তালিকাভুক্ত হবে।
সমস্ত @ md5Sum.md5 ফাইল যাচাই করা পরবর্তী আদেশগুলি দ্বারা করা যেতে পারে:
find "$PWD" -name @md5Sum.md5 | sort | while read file; do cd "${file%/*}"; md5sum -c @md5Sum.md5; done > checklog.txt
এরপরে আপনি পৃথক পৃথক সমস্ত ফাইলের একটি তালিকা পেতে grep -v ঠিক আছে ব্যবহার করে checklog.txt গ্রেপ করতে পারেন।
একটি নির্দিষ্ট ডিরেক্টরিতে একটি @ md5Sum.md5 পুনঃজেনার করার জন্য, আপনি উদাহরণস্বরূপ ফাইলগুলি পরিবর্তন বা যুক্ত করার সময়, @ md5Sum.md5 ফাইলটি মুছুন বা নাম পরিবর্তন করুন এবং আবার জেনেট কমান্ডটি চালান।
আমি এই সমস্যাটিকে আঘাত করেছি, এবং উপরের সমাধানগুলি মার্জিত হ'ল, আমি এই পরিস্থিতির জন্য একটি দ্রুত এবং নোংরা হ্যাক চেয়েছিলাম: 1 ডিরেক্টরি, যার ভিতরে এটির একটি উপ-ডিরেক্টরি রয়েছে level
সুতরাং, একটি শেলের মধ্যে ডিরেক্টরি লিখুন এবং রান করুন:
md5sum * */* 2>/dev/null > md5sum.md5
এটি শীর্ষ স্তরের ডিরেক্টরিতে সমস্ত ফাইল পায়, সাব ডিরেক্টরিগুলি ডিরেক্টরি হওয়ার বিষয়ে ত্রুটি সতর্কতা সরিয়ে দেয় এবং তারপরে সাব-ডিরেক্টরি ডিরেক্টরিতে md5sums চালায়। সুবিধা: মনে রাখা সহজ, এটি করার কথা বলে ঠিক তাই করে does আমি সিনট্যাক্স সন্ধান করে সর্বদা বিভ্রান্ত হয়ে পড়ি এবং এটি কখনই আমার মাথার উপরের দিক থেকে মনে করতে পারি না, সুতরাং লুপ ইত্যাদির দরকার নেই, ডিরেক্টরি নামে ফাঁকা স্থান নিয়ে কাজ করা, এই এক লাইনার ভাল কাজ করে worked একটি শক্তিশালী শক্তিশালী সমাধান নয়,> 1 টি সাব-ডাইরেক্টরিজগুলির পক্ষে ভাল নয়, তবে সমস্যার দ্রুত এবং সহজ সমাধান।