প্রচুর শূন্য বাইট সহ একটি পরীক্ষা ফাইল তৈরি করুন


25

আমি জানি যে কীভাবে একটি খালি ফাইল তৈরি করতে হয়:

touch /var/tmp/nullbytes

তবে আমি কীভাবে একটি 1 এমবি ফাইল তৈরি করতে পারি যাতে ব্যাশ সহ কমান্ডলাইনে কেবল নলবাইট থাকে?


SU প্রশ্ন বর্ণনা করে: superuser.com/q/609020/151431
terdon

1
+1 টি। আকর্ষণীয় প্রশ্ন। কেউ দয়া করে বিস্তারিত কোন বিবরণে এমন ফাইলের প্রয়োজন হতে পারে ..?
ক্যান্ট পওয়ার

1
Chkrootkit- এ ক্র্যাশ অনুকরণ করার জন্য আমার এটির দরকার ছিল: unix.stackexchange.com/questions/86866/…
রুবো

উত্তর:


56

জিএনইউ সহ truncate:

truncate -s 1M nullbytes

(ধরে nullbytesনিলাম আগে উপস্থিত ছিল না) একটি 1 মেগাবাইট স্পার ফাইল তৈরি করবে। এটি এমন একটি ফাইল যা শূন্যে ভরা প্রদর্শিত হবে তবে এটি ডিস্কে কোনও স্থান নেয় না।

ছাড়া truncate, আপনি ddপরিবর্তে ব্যবহার করতে পারেন :

dd bs=1048576 seek=1 of=nullbytes count=0

(কিছু ddবাস্তবায়ন সহ, আপনি এর সাথে 1048576 প্রতিস্থাপন করতে পারেন 1M)

আপনি যদি লিনাক্স এবং কিছু ফাইল সিস্টেমে ডিস্কের স্থান বরাদ্দ করতে চান তবে আপনি এটি করতে পারেন:

fallocate -l 1M nullbytes

এটি আসলে ডিস্কে ডেটা না লিখে স্থান বরাদ্দ করে (স্থানটি সংরক্ষিত তবে অবিরাম চিহ্নিত হিসাবে চিহ্নিত করা হয়)।

dd < /dev/zero bs=1048576 count=1 > nullbytes

আসলে ডিস্কে শূন্যগুলি লিখবে। এটি সবচেয়ে কম দক্ষ, তবে যদি সেই ফাইলটি অ্যাক্সেস করার সময় আপনার ড্রাইভগুলি স্পিন করার প্রয়োজন হয় তবে আপনি এটিই যেতে চাইবেন।

বা @ মাইকজার্ভের NU ddবাইট তৈরির কৌশল সম্পর্কে কৌশল :

dd bs=1048576 count=1 conv=sync,noerror 0> /dev/null > nullbytes

GNU এর সাথে একটি বিকল্প headযা কোনও ব্লকের আকার নির্দিষ্ট করতে জড়িত না (1 এম ঠিক আছে তবে উদাহরণস্বরূপ 10 জি তা করবে না):

head -c 1M < /dev/zero > nullbytes

বা অগ্রগতি বার পেতে:

pv -Ss 1M < /dev/zero > nullbytes

truncateঅদলবদল ভলিউম হিসাবে খালি ফাইল তৈরি করার জন্য ব্যবহার করবেন না ... এটি কার্যকর হবে না! ব্যবহার করুন ddপরিবর্তে এই ক্ষেত্রে।
ইলিয়াস প্রোবস্ট

1
@ এলিয়াসপ্রোস্ট, এর পরিবর্তে / dev / শূন্য থেকে ITYM অনুলিপি করুন , একটি স্পার ফাইল ব্যবহার করবেন নাddআমি যেমন দেখিয়েছি তেমন স্পার ফাইল তৈরি করতে পারে।
স্টাফেন চেজেলাস

2
fallocate কারণ এটি স্থান সংরক্ষণ করে তৈরি করুন এবং এটি দ্রুত করতে সবচেয়ে ভালো এবং দ্রুত উপায় কিন্তু এটা লেখার কিছু (থেকে মাথা ঘামান না stackoverflow.com/questions/257844/... )
curratore

... বা bs=1kx1k। বা <&1 dd bs=1kx1k conv=sync,noerror count="$rpt" | cat >fileআক্ষরিক জন্য ডিস্ক জিনিস লিখুন। যদিও পড়ার ত্রুটি জোর করে কতটা দক্ষতা হারাতে পারে তার 100% নয়।
মাইকজারভেজ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.