বিড়াল পুনর্নির্দেশ


11

বলুন একটি ফাইল abcবর্তমান ডিরেক্টরিতে বিদ্যমান এবং এতে এতে কিছু পাঠ্য রয়েছে। আপনি যখন আদেশটি কার্যকর করেন:

cat abc > abc

ফাইলের বিষয়বস্তুগুলি abcঅদৃশ্য হয়ে যায় কেন?
কমান্ডটি এতে থাকা পাঠ্যটি মুছবে এবং ফাইলটি খালি ফাইল হয়ে যাবে?



10
একটি লেজার পয়েন্টার বিড়াল পুনঃনির্দেশের জন্য খুব কার্যকর সরঞ্জাম tool </pun>
ডাব্লুবিটি

আমার বিড়াল পুনঃনির্দেশের জন্য খুব খারাপ প্রতিক্রিয়া জানিয়েছে ...
প্রাক্তন আম্ব্রিস

এই সমস্যাটি এড়াতে, আমি একটি ছোট শেলসক্রিপ্ট ব্যবহার করি যা আমি কুকুর বলেছিলাম :cat abc | dog abc
জোয়েটউইডল

আরেকটি বিকল্প, যদি আপনি স্ক্রিনে আউটপুটটিকে কিছু মনে না করেন তবে তা হ'ল ব্যবহার tee
আন্দ্রে লাজারোটো

উত্তর:


27

আদেশগুলি কীভাবে জিনিসগুলি করা হয় of

যখন তুমি কর:

cat abc > abc

>আউটপুট ফেরৎ অপারেটর, যখন শেল এই দেখেন এটি ব্যবহার ছাঁটাই মোডে ফাইল খোলে হয় O_TRUNCসঙ্গে পতাকা open(2)অর্থাত open("abc", O_TRUNC), তাই যাই হোক না কেন ফাইলে ছিল সর্বস্বান্ত করা হবে। মনে রাখবেন, catকমান্ডটি চালানোর আগে এই পুনর্নির্দেশটি শেল দ্বারা প্রথমে করা হয় ।

সুতরাং যখন কমান্ডটি কার্যকর cat abcকরে, ফাইলটি abcইতিমধ্যে ছাঁটাই হয়ে গেছে তাই catফাইলটি খালি খুঁজে পাবে।


1
বিড়াল ABC সম্পর্কে কি? তাহলে কি হয়?
তুলসী কানোদিয়া

2
@ তুলসিকানোডিয়া - এটি একটি অসীম লুপের কারণ। প্রতিবার বিড়াল একটি লাইন পড়ে, পরের দিকে যাওয়ার আগে এটি অন্যটিকে সংযোজন করে।
ব্যবহারকারীর 3490

3
এটি সনাক্ত এবং প্রতিরোধ করা হয়। পরিবর্তে, পাঠ্য cat: filename: input file is output file( filenameআপনার চয়ন করা ফাইলের নামটি কোথায় ) পুরানো স্টডআউটে মুদ্রিত হয়েছে।
UTF-8


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