শেল catকমান্ড লাইনে কমান্ড কার্যকর করার আগে , এটি পুনর্নির্দেশগুলির সন্ধান করে।
দুটি পুনঃনির্দেশ রয়েছে:
>file1 এটি কমান্ডের স্ট্যান্ডার্ড আউটপুটটিতে যাবে file1।
<file2 এটি কমান্ডের স্ট্যান্ডার্ড ইনপুটটি আসবে file2।
এই পুনর্নির্দেশগুলি কমান্ড লাইনে একটি জঞ্জাল স্থানে স্থাপন করা হয়েছে তাতে কিছু আসে যায় না।
$ cat <file2 >file1
এটার মতই
$ <file2 cat >file1
যা হিসাবে একই
$ <file2 >file1 cat
etc.¹
মনে রাখবেন যে, catএই ক্ষেত্রে সব ইউটিলিটি কার্যকর কোন কমান্ড লাইন আর্গুমেন্ট ছাড়া । পুনর্নির্দেশগুলি catকমান্ডের অপারেশন নয় , কমান্ডের বাইরে এবং বাইরে পুনর্নির্দেশগুলি সেট করার জন্য তারা শেলকে নির্দেশ দেয় (এর স্ট্যান্ডার্ড ইনপুট এবং আউটপুটটিকে ফাইলে সংযুক্ত করে)। শেলটি কমান্ডটি চাওয়ার আগে পুনর্নির্দেশগুলি সেট আপ করে ।
cat fileএবং cat <file(বা, যদি আপনি চান <file cat) এর মধ্যে পার্থক্য হ'ল প্রথম ক্ষেত্রে, catইউটিলিটি নিজেই ফাইলটি খোলার জন্য যা কমান্ড লাইনে অপারেন্ড হিসাবে দেওয়া হয়, পড়ার জন্য, যখন দ্বিতীয় ক্ষেত্রে শেলটি হবে ফাইলটি খুলুন এবং এর সাথে catইনপুট স্ট্রিমটি সংযুক্ত করুন ² দ্বিতীয় ক্ষেত্রে, catখেয়াল করবেন এটি কোনও ফাইল অপরেন্ড দেওয়া হয়নি এবং স্বয়ংক্রিয়ভাবে এর স্ট্যান্ডার্ড ইনপুট থেকে পড়াতে স্যুইচ করবে। এটি catসমস্ত ইউটিলিটিগুলি এমন কিছু নয় যা কিছু অন্যান্য ইউটিলিটির বৈশিষ্ট্য।
catঅপারেন্ড দেওয়া থাকলে এর মানক ইনপুট থেকেও পড়বে -। আবার এটি কেবল catএবং অন্যান্য কিছু ইউটিলিটিগুলির জন্য বিশেষ (যেমন শেলটি কিছুই করে না)। catবর্তমান ডিরেক্টরিতে যার নাম সেই ফাইলটিতে ব্যবহার করতে , ফাইলের নামের সাথে - একটি পাথ যুক্ত করুন ./-।
Some পুনর্নির্দেশগুলির ক্রমটি কিছু পরিস্থিতিতে এখনও গুরুত্বপূর্ণ; সঙ্গে cat <file2 >file1, উদাহরণস্বরূপ, file1যদি ছেঁটে ফেলা হবে না file2অ্যাক্সেসযোগ্য নয় (পুনঃনির্দেশগুলি বাঁ দিক থেকে ডানদিকে পার্স করা হয়)। শব্দের আপেক্ষিক স্থান নির্ধারণ catযদিও এখনও স্বেচ্ছাচারী এবং এটি প্রভাবিত করবে না।
² এর আরও দেখুন প্রশ্ন " যখন অ বিদ্যমান ফাইল খোলার বিড়াল বিভিন্ন ত্রুটি দেয় "।
কমান্ড লাইনে কমান্ড কার্যকর করার আগেও শেলটি পুনর্নির্দেশগুলি সেট আপ করে দেয় এই কারণে যে এই জাতীয় জিনিসগুলি ব্যর্থ হয় এবং আপনি খালি আউটপুট ফাইলটি দিয়ে শেষ করেন:
$ sort file >file
এখানে, শেলটি ফাইলের স্ট্যান্ডার্ড আউটপুট fileনির্বাহ sort fileএবং সংযোগ করার আগে ফাইলটি কেটে যাবে (খালি) sort। sortউপযোগ তারপর খুলবে fileএবং এটির সামগ্রীগুলি সাজাতে (যা কিছুই নয়)। ফলাফল (কিছুই) স্ট্যান্ডার্ড আউটপুট স্ট্রিমের মধ্য দিয়ে যায় file।
এই নির্দিষ্ট ক্ষেত্রে প্রতিকারটি ("ফাইল-ইন-প্লেস" বাছাই করার জন্য)
$ sort -o file file
অথবা
$ sort file >file.sorted && mv file.sorted file
আউটপুট ফাইলের নাম নির্দিষ্ট করতে ফাইলটি sortব্যবহার করার সময় যা কমবেশি হয় -o।
পুনঃনির্দেশগুলি কমান্ড লাইনে ইউটিলিটির প্রকৃত নামের আগে থাকতে পারে:
একটি "সিম্পল কমান্ড" হ'ল variচ্ছিক পরিবর্তনশীল অ্যাসাইনমেন্ট এবং পুনঃনির্দেশগুলির ক্রম, কোনও ক্রমে, বিকল্পভাবে শব্দ এবং পুনঃনির্দেশগুলি অনুসরণ করে, একটি নিয়ন্ত্রণ অপারেটর দ্বারা সমাপ্ত হয় ated [রেফ: পোসিক্স শেল কমান্ড ভাষা ২.৯.১ সরল কমান্ড]
এবং পুনঃনির্দেশটি ইউটিলিটির অপারেন্ডগুলির অংশ না হওয়ার বিষয়ে:
Utedচ্ছিক নম্বর, পুনর্নির্দেশ অপারেটর এবং শব্দটি কার্যকর করার জন্য আদেশটি সরবরাহ করা যুক্তিগুলিতে উপস্থিত হবে না (যদি থাকে)। [রেফ: পোসিক্স শেল কমান্ড ভাষা ২. 2. পুনঃনির্দেশ]