কমান্ড লাইন বিকল্পের জন্য কেন সংক্ষিপ্ত এবং দীর্ঘ বিকল্প রয়েছে?


23

বেশিরভাগ ইউনিক্সয়েড কমান্ডগুলিতে কমান্ড লাইন বিকল্পগুলির মতো সংক্ষিপ্ত এবং দীর্ঘ বিকল্প বৈশিষ্ট্য রয়েছে, যেমন ls -aএবং ls --all, ls -Aএবং এবং ls --almost-all। কেন এই দুটি উপায় বিদ্যমান? একটি টাইপ করতে সংক্ষিপ্ত, অন্যটি পড়া এবং বুঝতে সহজ। তবে প্রতিবার আমি যখন শেল স্ক্রিপ্ট লিখি, তখন আমি কোনটি ব্যবহার করতে চাই তা সিদ্ধান্ত নিতে হবে। কেন দুটি বিকল্প বিদ্যমান তা জানা যায়? কোনটি প্রথমে ছিল, অন্যটির পরিচয় কেন হয়েছিল। উদাহরণস্বরূপ ডস / উইন্ডোজে কেবলমাত্র ক্ষেত্রে-সংবেদনশীল ওয়ান-লেটারের বিকল্প রয়েছে।

উত্তর:


24

মূলত কেবলমাত্র একক-চরিত্রের বিকল্প ছিল। কিছু প্রোগ্রাম একাধিক-অক্ষর বিকল্প গ্রহণ করেছে, তবে এখনও একটি ড্যাশ সহ। আফাইক ডাবল-ড্যাশ একাধিক-চরিত্রের বিকল্পগুলি জিএনইউ থেকে আসে ; এগুলি পরিচয় করিয়ে দেওয়া হয়েছিল কারণ এগুলি আরও পঠনযোগ্য এবং প্রায়শই বেশি স্মরণীয় (এবং আপনার 52 টিরও বেশি থাকতে পারে)। অনেকগুলি প্রোগ্রামে এখন উভয়ই রয়েছে: আপনি যখন কমান্ড লাইনে টাইপ করছেন এবং অক্ষরটি স্মরণ করবেন তার জন্য সংক্ষিপ্ত বিকল্পগুলি, স্ক্রিপ্টগুলির জন্য বা কমান্ড লাইনে দীর্ঘ বিকল্পগুলি যদি আপনি কেবলমাত্র দীর্ঘতর বিকল্পের নামটি মনে করেন।


15
স্ক্রিপ্টগুলির জন্য দীর্ঘ বিকল্পগুলি আরও ভাল উল্লেখ করার জন্য +1, কারণ তারা নথির জিনিসগুলিতে সহায়তা করে
নরম্যান গ্রে

5
"তাদের মধ্যে কেবল 52" হিসাবে: চেষ্টা করুন ls -BartSimpsonIsJustCool(বা Greatআপনি যদি সোলারিসে থাকেন তবে
অ্যারোন ডিজিগলা

1
@ আরনডিগুল্লা কি এই ইস্টার ডিম?
ব্যবহারকারী 712092

5
@ user712092 না, এটি একটি কৌশল। লিনাক্সের অধীনে, এর পরে সমস্ত Iকিছুই -Iবিকল্পের পক্ষে যুক্তিযুক্ত , সুতরাং sJustCoolআপনার বর্তমান ডিরেক্টরিতে কোনও ফাইল ডেকে এলে এটি কেবলমাত্র তাত্ক্ষণিক হয়। -BartSimpsonঅংশ পুনর্বিন্যস্তভাবে করা যেতে পারে, ছাড়া S(সাজানোর আকার দ্বারা) পর থাকার হয়েছে t(সাজানোর তারিখ অনুসারে)। এছাড়াও mকোনো প্রভাব যখন হয়েছে nবা oউপস্থিত থাকে। সুতরাং কমান্ডটি সমতুল্য ls -BSainopsr, এবং যদি আমি কোনও কিছু না মিস করি তবে একই আউটপুট অর্জনের জন্য আপনি অন্য কোনও অক্ষর সরাতে পারবেন না এবং আপনি এই অক্ষরগুলি অবাধে পুনঃক্রম করতে পারেন।
গিলস 'অশুভ হওয়া বন্ধ করুন'

2
@ গিলস: যাইহোক, যথাসম্ভব নির্ভুল হওয়ার জন্য, 52২ টি নয়, 62 টি বিভিন্ন সংক্ষিপ্ত বিকল্প থাকতে পারে ( gzip -9 filenameউদাহরণ সহ) instance উদাহরণস্বরূপ বিবেচনা করুন ।
র‌দকো দিনভ

1

আপনি অনুমান করতে পারেন যে এটি স্বাদের বিষয়। কমান্ড লাইনে টাইপ করার সময় একটি সংক্ষিপ্ত বিকল্প পছন্দ হতে পারে, বিশেষত রান-একসাথে-বিকল্পগুলির ক্ষেত্রে (যেমন ls -AL)) উদ্দেশ্যগুলি জানাতে দীর্ঘ বিকল্পগুলি আরও ভাল, সুতরাং আপনি যখন পড়বেন তখন আপনাকে ম্যান পৃষ্ঠাটি ব্যবহার করার দরকার নেই ls --almost-all --dereference

স্বাভাবিকভাবেই, আপনি অভিজ্ঞতা অর্জন করার সাথে সাথে আপনি শিখতে পারবেন যে উভয় -Aএবং -Lসংক্ষিপ্ত বিকল্পগুলি যথেষ্ট পরিমাণে সুপরিচিত, এবং এই অতিরিক্ত ডকুমেন্টেশনের প্রয়োজন নেই। বিশেষত একটি জটিল কমান্ড যা মূল্যায়ন, পুনর্নির্দেশকরণ ইত্যাদির সাথে আকর্ষণীয় উপায়ে বেশ কয়েকটি কমান্ড একত্রিত করতে পারে এমন ক্ষেত্রে আপনি ডকুমেন্টেশনের চেয়ে ব্রেভিটি পছন্দ করতে পারেন।


1

প্যারামিটারগুলি (সংক্ষিপ্ত এবং দীর্ঘ) নির্দিষ্ট করার বিভিন্ন উপায় আমি দেখতে পাচ্ছি যে টাইপ করার সময় ইউনিক্স / লিনাক্স কমান্ড-লাইন লোকেরা যতটা সম্ভব কমান্ড হিসাবে সংক্ষিপ্ত থাকতে পছন্দ করে। যাইহোক, সেগুলি ক্রিপ্টিক হয়ে উঠতে পারে এবং যদি এই লিখিত সংক্ষিপ্ত সংস্করণগুলি ব্যবহার করে কোনও স্ক্রিপ্ট লেখা হয় তবে তারা রাস্তাটি বোঝা শক্ত হয়ে উঠতে পারে। দীর্ঘ সংস্করণ ব্যবহার করে একই কমান্ড আরো পাঠযোগ্য এবং কেউ নয় দ্বারা বোধগম্য করে তুলতে পারে , এই কম্যান্ডের গুরু বিশেষত যদি এই কমান্ড আসলে একটি স্থানীয়ভাবে লিখিত স্ক্রিপ্ট যেমন একটি সুপরিচিত কমান্ড বিরোধিতা নেই।

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