">" এবং ">>" এর মধ্যে পার্থক্য কী?


12

মধ্যে পার্থক্য কি ls >এবং ls >>? আমার জিসিএসই কম্পিউটিংয়ের জন্য আমার এটি বুঝতে হবে তবে পার্থক্য কী তা জানি না।


1
নীচের সুন্দর উত্তরের পাশাপাশি, দয়া করে স্ট্যাকওভারফ্লো.com/a/984761/1841533 - তে দ্বিতীয় (এবং সর্বাধিক উত্সাহিত) উত্তরটি দেখুন: >> কোনও ফাইলে লেখার জন্য >> (লগ: লগ) এর সুন্দর পার্শ্ব প্রতিক্রিয়াও রয়েছে প্রক্রিয়াটি এখনও লেখার সময় যদি ফাইলটি কেটে ফেলা হয় তবে সাইফ ফাইলের শুরুতে "নুল" অক্ষর উপস্থিত হবে না! (উদা: লগ ফাইল রোটেশনের সময়)। যেহেতু "foo> ফাইল" সন্ধান করে না, এটি আকারের পরিবর্তনটি লক্ষ্য করে না এবং এখনও শুরু থেকে আরও পয়েন্ট করে, ওএস নুলের সাথে পূরণ করে। foo >> ফাইল সন্ধান করে এবং তাই নতুন অবস্থানের (সূচনা) দিকে নির্দেশ করে।
অলিভিয়ার ডুলাক

যেহেতু এটি একটি শিক্ষামূলক প্রশ্ন, আমি আপনাকে প্রাসঙ্গিক ডকুমেন্টেশনগুলির সাথে কাজ করতে শিখতে পরামর্শ দিই: বাশ রেফারেন্স ম্যানুয়াল, বিভাগ "পুনর্নির্দেশগুলি" (এর মাধ্যমেও অ্যাক্সেসযোগ্য man bash)।
ডেভিড ফোরস্টার

উত্তর:


28

>& >>পুনঃনির্দেশ অপারেটর হয়; তারা lsঅন্য কোনও জায়গায় এই ক্ষেত্রে কোনও কিছুর আউটপুট স্থানান্তর করে। যদি এই আউটপুট কোনও ফাইলে যায় >তবে ফাইলটি কেটে যাবে - অর্থাত্ পূর্ববর্তী কোনও সামগ্রী মুছে >>ফেলবে , যেখানে পূর্ববর্তী সামগ্রী রেখে ফাইলের শেষের দিকে নতুন ডেটা যুক্ত করা হবে। এটি যে কোনও ইনপুট নিয়ে কাজ করবে, সুতরাং echo& catউদাহরণস্বরূপ, এইভাবেও ব্যবহার করা যেতে পারে।

|অপারেটরটি হ'ল অপারেটর, যা অন্য অ্যাপ্লিকেশনটিতে ডেটা পাস করে - তাই ls | cat -nআপনাকে একটি লাইন-সংখ্যাযুক্ত তালিকা দেবে!

পাইপ প্রাসঙ্গিক শব্দ।


2
কাটা বা ওভাররাইট?
ডি কে বোস

2
থেকে @DKBose straceজন্য আউটপুট bash -c 'echo a > blah': open("blah, O_WRONLY|O_CREAT|O_TRUNC, 0666), তাই আরোপ অধিকার শব্দটি হবে।
মুড়ু

"পাইপস" এবং "আউটপুট পুনঃনির্দেশ", যা আপনি নিজের উত্তরটিতে সাজান হিসাবে ব্যবহার করেছেন। সাবাশ.
0x শিপডগ

আমি যা বলতে চাইছিলাম তা খুঁজে পেয়েছি: দয়া করে স্ট্যাকওভারফ্লো . com / >>a/ 984761 / 1841533 এ দ্বিতীয় (এবং সর্বাধিক উত্সাহিত) উত্তরটি দেখুন : একটি ফাইল লিখতে ব্যবহার করার জন্য (যেমন: একটি লগ) এরও সুন্দর দিক রয়েছে প্রভাব না যদি সময় প্রক্রিয়া এখনও এটা লিখতে ফাইল ছেঁটে ফেলা হয়েছে আছে "Nul" অক্ষর সাইফ ফাইলের শুরুতে প্রদর্শিত! (উদা: লগ ফাইল রোটেশনের সময়)। যেহেতু "foo> ফাইল" সন্ধান করে না, এটি আকারের পরিবর্তনটি লক্ষ্য করে না এবং এখনও শুরু থেকে আরও পয়েন্ট করে, ওএস নুলের সাথে পূরণ করে। foo >>fileসন্ধান করে এবং তাই নতুন অবস্থানের (সূচনা) দিকে নির্দেশ করে।
অলিভিয়ার ডুলাক

5

চিহ্নগুলি >এবং >>কোনও ফাইলে আউটপুট পুনর্নির্দেশ করতে ব্যবহৃত হয়।

ফাইল বিদ্যমান না থাকলে উভয়ই ফাইল তৈরি করবে। যদি ফাইলটি ইতিমধ্যে বিদ্যমান থাকে তবে >ফাইলটি ওভাররাইট করে যেখানে ফাইলটিতে >>ডেটা যুক্ত হবে।

সুতরাং এটি উপস্থিত না থাকলে ls > myfileএকটি নামক দলিল তৈরি করবে myfile। যদি myfileইতিমধ্যে উপস্থিত থাকে এবং এতে কিছু ডেটা থাকে, তবে আপনি যে নতুন ডেটা এটি পাস করবেন তার সাথে এটি ওভাররাইট করা হবে।

যেখানে ls >> myfileঅস্তিত্ব না থাকলে একটি ফাইল তৈরি করবে এবং এতে ডেটা লিখবে। ফাইলটি যদি কিছু ডেটা সহ উপস্থিত থাকে তবে তার শেষের সাথে নতুন ডেটা যুক্ত হয়।


0

যদি আপনি কোনও একক> ব্যবহার করেন, তবে এটি ইতিমধ্যে বিদ্যমান থাকলে ফাইলটি ওভাররাইট করে। আপনি যখন এটি ব্যবহার করেন তখন খুব সাবধান হন।

আপনি যদি দুটি >> ব্যবহার করেন তবে এটি ইতিমধ্যে উপস্থিত থাকলে (অন্যথায়, ফাইলের নীচে লেখা শুরু করুন) যদি এটি ইতিমধ্যে বিদ্যমান থাকে। অন্যথায়, এটি বিদ্যমান না থাকলে এটি একটি নতুন ফাইল তৈরি করে।


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