আমাদের যদি ইতিমধ্যে জিএনইউ / লিনাক্স ডিরেক্টরি ট্রি সম্পর্কে কিছু ধারণা থাকে তবে আমাদের কমপক্ষে / ডিভ / রেফারেন্সের সাথে পরিচিত হওয়া উচিত, যা কার্যকরভাবে যেখানে সম্পর্কিত সমস্ত ফাইল হার্ডওয়্যার ডিভাইস.
আমরা যদি ডিরেক্টরিতে দেখি / দেব / আমরা একটি "ফাইল" কল করব অকার্যকর, তবে আমরা যদি এটির সামগ্রী দেখতে এটি খুলতে চাই, সিস্টেমটি আমাদের জানিয়ে দেবে যে এটি সাধারণ বিষয়বস্তু না হওয়ায় এটি সম্ভব নয়। আমি শব্দ ফাইলটি বন্ধ করে দিয়েছি কারণ আপনি যেমন সবাই লিনাক্সের জন্য জানেন (ফাইল এবং হার্ডওয়্যার) ফাইল হিসাবে প্রদর্শিত হয়। |
/ ডিভ / নাল কোন ডিভাইসের সাথে মিল রয়েছে?
ব্যবহারিক উদ্দেশ্যে, কোনও আবর্জনা ক্যান, একটি তলবিহীন গর্ত বা বাইরের স্থানের কল্পনা করুন যাতে এটি পুনরুদ্ধারের সম্ভাবনা ছাড়াই কোনও কিছু ফেলে দিতে পারে (নাসা থেকে আসা লোকেরা যতই চেষ্টা করুক না কেন)।
তবে আমার কাছে যদি ইতিমধ্যে আরএম এর মতো কমান্ড থাকে তবে আমি কেন নতুন কিছু মুছতে চাই?
কারণ উভয় "ব্ল্যাকহোল" কাজ সম্পূর্ণ আলাদা: রানটাইম চলাকালীন শেল স্ক্রিপ্টের মধ্যে একটি কমান্ডের একটি ত্রুটির মানক আউটপুটকে ওভাররাইড করার বিষয়ে আপনি কীভাবে যাবেন? এখানেই / dev / নাল আসে।
আসুন এটি একটি উদাহরণ সহ দেখুন।
"হ্যালো ওয়ার্ল্ড" স্ট্রিং সহ আমরা টেস্ট নামে একটি ফাইল তৈরি করেছি। আমরা যদি কমান্ড লাইনে সেই ফাইলটির বিষয়বস্তু উপস্থাপন করতে চাই, তবে আমরা নিম্নলিখিত পদ্ধতিতে এটি করতে পারি:
ব্যবহারকারী @ ল্যাপটপ: $ $ বিড়াল পরীক্ষা
ওহে বিশ্ব
যদি ফাইলটির অস্তিত্ব না থাকে বা পরীক্ষার নামকরণ হয় (শেষে 's' সহ), আমরা কনসোলে নিম্নলিখিত ত্রুটিটি পেয়ে যাব:
ব্যবহারকারী @ ল্যাপটপ: $ $ বিড়াল পরীক্ষা
বিড়াল: পরীক্ষা: ফাইল বা ডিরেক্টরি বিদ্যমান নেই
ত্রুটি বার্তা এড়াতে আমরা কী করতে পারি? আচ্ছা, ত্রুটির ক্ষেত্রে কেবল কমান্ডের আউটপুটটিকে "ট্র্যাশ ক্যান" - এ / dev / null এ পুনঃনির্দেশ করুন
ত্রুটির ক্ষেত্রে আমরা এটি কীভাবে নির্দিষ্ট করব? এখানে আপনি একটি প্রোগ্রামের জন্য স্ট্যান্ডার্ড ইনপুট, আউটপুট এবং ত্রুটির মান লিখুন: STDIN, STDOUT এবং STDERR (যা যথাক্রমে 0, 1 এবং 2 এর জন্য প্রতিস্থাপিত হতে পারে)। এইভাবে, যদি আমরা রাখি ...
ব্যবহারকারী @ ল্যাপটপ: $ $ বিড়াল পরীক্ষা 2> / দেব / নাল
ব্যবহারকারী @ ল্যাপটপ: ~ $
… আমরা দেখব যে ত্রুটি বার্তাটি কনসোলে উত্পাদিত হবে না।
আপনার যত্নবান হতে হবে কারণ বাক্য গঠনটি অপরিহার্য: 2 এবং> অক্ষরের মধ্যে কোনও স্থান থাকা উচিত নয় no অন্যথায়, এটি নিম্নলিখিত দিতে হবে:
ব্যবহারকারী @ ল্যাপটপ: $ $ বিড়াল পরীক্ষা 2> / দেব / নাল
বিড়াল: পরীক্ষা: ফাইল বা ডিরেক্টরি বিদ্যমান নেই
বিড়াল: 2: ফাইল বা ডিরেক্টরি বিদ্যমান নেই
বিপরীতে,> এবং / dev / নাল এর মধ্যে একটি স্থান ফলাফলটিকে নেতিবাচকভাবে প্রভাবিত করবে না।
আমরা ত্রুটি পুননির্দেশনাও ব্যবহার করতে পারি, উদাহরণস্বরূপ, লগ ফাইলে ত্রুটিগুলি নিম্নরূপে ক্যাপচার করতে:
ব্যবহারকারী @ ল্যাপটপ: $ $ বিড়াল পরীক্ষা 2> এরআরলগ
আর একটি আকর্ষণীয় কেস হ'ল অন্য ফাইলের ফলাফল সংগ্রহ করা যতক্ষণ ত্রুটি না ঘটে ততক্ষণ আমরা এর জন্য লিখব:
ব্যবহারকারী @ ল্যাপটপ: $ $ বিড়াল পরীক্ষা 1> আউটপুট_সাল্ট 2> এরআরলগ
অবশেষে, এটি «> / dev / null 2> & 1 the এক্সপ্রেশনটি রাখা মূল্যবান যাতে স্ট্যান্ডার্ড আউটপুট এবং ত্রুটি আউটপুট একত্রিত হয়, সেগুলি পুনর্নির্দেশ করে যাতে কোনও ক্ষেত্রে আউটপুট তথ্য না পাওয়া যায়।
আহ, তবে সবচেয়ে বেশি ব্যবহৃত ইউটিলিটিগুলি যা / dev / নাল অনুপস্থিত রয়েছে যা ফাইলগুলি খালি করছে: $ cat / dev / null> file.log এইভাবে, ফাইল.লগ ফাইলটি খালি থাকবে। এটি যোগ করুন!
তিনি যে অনুসন্ধানটি খুঁজছিলেন তা অবিকল ছিল।
আমি এটিকে যুক্ত করার গতিটিকে সমর্থন করি =)
গ্রিটিংস!
হ্যালো, প্রথম নিবন্ধটি খুব ভাল! দ্বিতীয়টি আমি এই লিঙ্কটিতে কিছু অবদান রাখতে চাই সিপিএনেল থেকে পিএইচপি ক্রোন জব এবং ব্লগের জন্য তৃতীয় অভিনন্দন!
দেব / নাল সম্পর্কে দুর্দান্ত নিবন্ধ, আমার কী লজ্জা মনে হয় আমি ভুল জায়গায় আগে ভুল জায়গায় মন্তব্য করেছি! আমি ক্ষমা প্রার্থনা করছি
ধন্যবাদ আপনাকে ভাল অবদান
শুভেচ্ছা আমি নালীর আক্রমণ পেয়ে যাচ্ছি। আমি andrirc ব্যবহার করি এবং আমি আমার ডাক নাম থেকে নুল শব্দটি দিয়ে একটি প্রাইভেট পাই। 2 সেকেন্ড পরে প্রোগ্রামটি বন্ধ হয়ে যায় আমি পড়ছি এবং যা দেখছি তা কেবল শেল দ্বারা করা যেতে পারে, বাইরের কেউ নয়। আমি নিজেকে উপেক্ষা করার চেষ্টা করেছি / lrpcntikd এবং কিছুই আশ্চর্য করে না যে আদেশটি আসতে থাকে keeps আপনার যদি কোনও উপায় অবরুদ্ধ করার চেষ্টা করে থাকে তবে আমি এটির প্রশংসা করব। চিয়ার্স
বাক্যটি সম্পাদন করার সময় প্রতীক> স্থাপন না করা হলে কী হবে?
কেউ আমাকে গাইড করতে পারেন?
গুড মর্নিং, আমি ACER Extensa 5620Z – 32 bit-এ Debian netinst ইনস্টল করেছি। একবার USB থেকে ইনস্টলেশন শেষ হয়ে গেলে এবং পেনড্রাইভটি সরিয়ে ফেলা হয় যাতে এটি হার্ডডিস্ক থেকে বুট হয় (পেন থেকে পুনরায় ইনস্টল করবেন না) কিন্তু বুট করার মুহূর্তে সিস্টেম সে আমাকে জিজ্ঞাসা করে:
ডেবিয়ান লগইন: xxxxxxxx (ঠিক আছে)
পাসওয়ার্ড: xxxxxxxx (ঠিক আছে)
nil@debian:~$ ???? এটা কি? আমি সেখানে কি রাখা উচিত?
এই কমান্ডটি ছাড়া আমি সিস্টেম বুট দিয়ে এগিয়ে যেতে পারি না।
আপনি কি আমাকে সাহায্য করতে পারেন? আমি জানি না কিভাবে আমার চালিয়ে যেতে হবে।
আপনাকে অনেক ধন্যবাদ. শুভেচ্ছান্তে.