কমান্ড লাইন পরিভাষা: কমান্ডের এই অংশগুলি কী বলা হয়?


21

কমান্ড লাইনে আমি প্রায়শই "সরল" কমান্ড ব্যবহার করি

mv foo/bar baz/bar

তবে এর সমস্ত অংশকে কী বলতে হবে তা আমি জানি না:

┌1┐ ┌──2───┐
git checkout master
│   └──────3──────┘
└───────4─────────┘

আমি (মনে করি) আমি জানি যে 1 টি একটি আদেশ এবং 2 টি একটি আর্গুমেন্ট, এবং আমি সম্ভবত 3 টি যুক্তি তালিকার কল করব (এটি সঠিক?)

যাইহোক, আমি কি 4 কল করতে জানি না ।

কীভাবে আরও জটিল "কমান্ডগুলি" লেবেলযুক্ত?

find transcripts/?.? -name '*.txt' | parallel -- sh -c 'echo $1 $2' {} {/}

আমি এমন উত্তরটির প্রশংসা করব যা ১,২,৩,৪ কল করতে হবে এবং উপরের এই "কমান্ড" এর প্রতিটি অংশকে কী কল করতে হবে তা ভেঙে গেছে।

অনন্য / আশ্চর্যজনক যে আমি এখানে অন্তর্ভুক্ত করি নি সে সম্পর্কে অন্যান্য জিনিস সম্পর্কেও জানতে পেরে ভাল লাগবে।


1
আপনি দেখেছেন এমন manজন্য পৃষ্ঠাগুলি gitএবং findসারসংক্ষেপ অধ্যায়, বিশেষ করে?
এফএমপুরফি

4
আপনি কি গিটের জন্য ম্যান পৃষ্ঠাগুলি দেখেছেন এবং সন্ধান করেছেন তাই প্রশ্নটি লিনাক্সের সাথে gitবা findসাধারণ পরিভাষার সাথে কিছুই করার মতো নয় seems
এট রিগ

ইন বাশ ম্যান পৃষ্ঠা অনুসারে A | B,A | B একটি পাইপলাইন , Aএবং Bরয়েছে কমান্ড (এটা দুর্ভাগ্যজনক যে এই কমান্ড মাত্র প্রথম বিশ্ব নামেই আছে)। আমি প্রথম যুক্তিকে এক্সিকিউটেবল বলতে পারি তবে আমি এমন কোনও উত্স পাই যা আমার সাথে একমত হয় না।
এট রিগ

4
প্রসঙ্গে git checkout ..., checkoutএকটি হল subcommand এবং প্রেক্ষাপটে sh -c ..., -cএকটি হল বিকল্প
wjandrea

এটি প্রকাশের জন্য জোল ধন্যবাদ! আপনি ঠিক অনুমান করেছেন, আমি এটি সম্পাদনা করেছি। এটি কারণ আমি এটি বিভাগটি প্রায় 4 বার পুনরায় লিখেছিলাম কারণ আমি এটি সঠিকভাবে করার চেষ্টা করেছি tried
theonlygusti

উত্তর:


33

প্রতিটি অংশের সাধারণ নামগুলি নিম্নরূপ:

┌1┐ ┌──2───┐
git checkout master
│   └──────3──────┘
└───────4─────────┘
  1. কমান্ডের নাম (প্রথম শব্দ বা কমান্ড লাইনের টোকেন যা কোনও পুনঃনির্দেশ বা পরিবর্তনশীল অ্যাসাইনমেন্ট নয় এবং এলিয়াসগুলি প্রসারিত করার পরে)।

  2. টোকেন, শব্দ, বা আদেশের পক্ষে যুক্তি। ম্যান বাশ থেকে:

    শব্দ: শেল দ্বারা একক ইউনিট হিসাবে বিবেচিত অক্ষরের একটি ক্রম। একটি টোকেন হিসাবে পরিচিত।

  3. সাধারণত: তর্ক

  4. কমান্ড লাইন।

একটি সহ দুটি সাধারণ কমান্ডের সংমিশ্রণ |হ'ল পাইপ অনুক্রম বা পাইপলাইন:

┌─1┐ ┌──────2──────┐ ┌─2─┐ ┌──2──┐   ┌──1───┐ ┌2┐┌2┐┌2┐┌────2─────┐ ┌2┐ ┌2┐
find transcripts/?.? -name '*.txt' | parallel -- sh -c 'echo $1 $2'  {} {/}
│    └────────────3──────────────┘            └────────────3──────────────┘
└───────────────────────────────────4─────────────────────────────────────┘

মনে রাখবেন যে পুনঃনির্দেশ এবং পরিবর্তনশীল কার্যও রয়েছে:

┌──5──┐ ┌1┐ ┌─2─┐ ┌─2─┐   ┌───6──┐ ┌1┐ ┌─5─┐
<infile tee file1 file2 | LC_ALL=C cat >file
└─────────7───────────┘   └───────7────────┘
└─────────────────────4────────────────────┘

যেখানে (উপরের সংখ্যার পাশে):

  1. ফেরৎ।
  2. পরিবর্তনশীল অ্যাসাইনমেন্ট
  3. সরল কমান্ড।

এটি কমান্ড লাইনে থাকা সমস্ত উপাদানগুলির একটি বহিরাগত তালিকা নয়। এই সংক্ষিপ্ত উত্তরের জন্য এই জাতীয় তালিকা খুব জটিল।


2
পসিক্স পরিভাষায়, আপনি যাকে পাইপ বলছেন তা হ'ল পাইপ সিকোয়েন্স বা পাইপলাইন (যদিও পাইপলাইনের !স্থিতি এড়াতে toচ্ছিক বিকল্প থাকতে পারে )। পাইপ পরিবর্তে পাইপলাইনগুলি প্রয়োগ করার জন্য বেশিরভাগ শেল দ্বারা ব্যবহৃত আইপিসি মেকানিজমকে বোঝায় (পাইপলাইনগুলিতে পাইপ ব্যবহার করতে হয় না, উদাহরণস্বরূপ কিছু সিস্টেমে ksh93 সকেটপেইর ব্যবহার করে)। কিছু শাঁস মত আরো কীওয়ার্ড আছে time, noglobপরিবর্তে বা ছাড়াও ব্যবহার করা যেতে পারে যে !এখানে।
স্টাফেন চেজেলাস

1
আইএমএইচও, এই জিনিসগুলিকে আর্গুমেন্ট বলা হয় - অন্য কিছুই নয় তাই আমি মনে করি এই প্রসঙ্গে টোকেন শব্দের অর্থ "বাশের ব্যাকরণের পরমাণু ইউনিট"। এখানে টোকেন শব্দটি কেবল শেল কমান্ড লাইনের প্রসঙ্গেই উপস্থিত রয়েছে, প্রোগ্রামটি সঞ্চালনের প্রসঙ্গে নয়। "এগুলি প্রোগ্রাম টোকেন" বললে কিছুটা অদ্ভুত লাগবে তবে "কমান্ড লাইনের দ্বিতীয় টোকেনটি" পরীক্ষা say একটি পার্থক্য আসে cat $file, এখানে আমি বলতে চাই $fileএকটি টোকেন, কিন্তু ফাইলের মান আর্গুমেন্ট।
এট রিগ

1
@ পিটারকর্ডস আপনি সঠিক, <<< "…" একটি পুনঃনির্দেশ, আর্গুমেন্ট নয়। যদিও এটি এখনও লাইনটির একটি টোকেন। বিভ্রান্তির জন্য দুঃখিত.
ইসহাক

1
@ তুগাম এগুলি স্ট্যান্ডার্ড সংজ্ঞাগুলির সম্পূর্ণ বিপরীত। কলার সরবরাহকারী জিনিসগুলি হ'ল যুক্তি; cf. "ফর্মাল প্যারামিটার", বা এই একই প্রশ্ন
মাইকেল হোমার

1
@ টুগাম "আমি যা দেখি তা পরামিতি" । হুম আমি মনে করি আপনি ঠিক বলেছেন। পসিক্স অনুমান অনুসারে: "শেলটি একটি ফাংশন কার্যকর করে (ফাংশন সংজ্ঞা কমান্ড দেখুন), অন্তর্নির্মিত (বিশেষ বিল্ট-ইন ইউটিলিটিগুলি দেখুন), এক্সিকিউটেবল ফাইল, বা স্ক্রিপ্ট, আর্গুমেন্টের নাম দিয়ে 1 থেকে n নাম্বার স্থিতিক পরামিতি হিসাবে, এবং কমান্ডের নাম (অথবা কোনও স্ক্রিপ্টের মধ্যে কোনও ক্রিয়াকলাপের ক্ষেত্রে, স্ক্রিপ্টের নাম) সংখ্যাযুক্ত 0 হিসাবে প্যারামিটার হিসাবে চিহ্নিত হয় (কমান্ড অনুসন্ধান এবং সম্পাদন দেখুন) " এবং আমি এই সমস্ত বছর ভুল ছিল ... যদিও আমার প্রতিরক্ষার জন্য এটি বলা হয়argv
এট রিগ

15

উপরের @ ইস্যাকের উত্তর ভাল মনে হয়েছে।

আমি কিছু উত্স দিয়ে এটি প্রসারিত করতে চাই।

আমি অনুমান করি যে পসিক্স স্ট্যান্ডার্ডটি কোনও অর্থে ক্যানোনিকাল হিসাবে বিবেচিত হবে । অন্যান্য উত্স হতে পারে man bashএবং man proc

┌1┐ ┌──2───┐
git checkout master
│   └──────3──────┘
└───────4─────────┘

পসিক্স পরামর্শ দেয় যে:

  1. কি কমান্ড নাম (বরং কমান্ড চেয়ে, যদিও এমনকি এই দস্তাবেজটি ব্যবহারসমূহ স্থানে আদেশ)
  2. যুক্তি
  3. আর্গুমেন্ট
  4. কমান্ড (যদিও কমান্ড লাইনman proc ব্যবহার করে )

এটি আরও অনেক জটিল কমান্ডের পরিভাষা রয়েছে।

আমি মনে করি কমান্ডটি বেশ অস্পষ্ট তাই সম্ভবত কমান্ডের নাম এবং কমান্ড লাইনটি স্পষ্টতার জন্য ভাল


প্রোক কি? আমি এর আগে কখনও শুনিনি।
theonlygusti


5
+1 আমি এই উত্তরটি সবচেয়ে পছন্দ করি। (এই নির্দিষ্ট প্রসঙ্গে 2 টি একটি সাবকম্যান্ড , তবে সাধারণত হ্যাঁ, একটি যুক্তি)।
kubanczyk

@ থিওনলিগুস্টি procএকটি বিশেষ উদ্দেশ্যে ফাইল সিস্টেম (ফাইল সংগ্রহ) যা কার্নেলের অভ্যন্তরীণ অবস্থা সম্পর্কে তথ্য সরবরাহ করে। আমি বিশ্বাস করি এটি প্রক্রিয়াগুলির জন্য দাঁড়িয়েছে (এছাড়াও সিএসএফস দেখুন যা প্রক্রিয়াগুলির চেয়ে অন্য বিষয়গুলির জন্য তথ্য সরবরাহ করে)। এটি প্রাসঙ্গিক হওয়ার কারণটি কার্নেল বিকাশকারীরা লিখেছেন , তাই তারা যে ভাষাটি ব্যবহার করেন এটি সম্ভবত কিছুটা প্রথাগত হতে পারে well
এট রিগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.