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

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

কমান্ড লাইন শেল কমান্ড লাইন সম্পূর্ণতা জাতীয় বৈশিষ্ট্য প্রদান করতে পারে, যেখানে অনুবাদক ব্যবহারকারী কর্তৃক ইনপুটকৃত কিছু বর্ণ কমান্ড বিস্তৃত করতে পারে। কমান্ড লাইন অনুবাদক হিস্টোরি ফাংশনের ব্যবস্থা প্রদান করতে পারে যাতে ব্যবহারকারীরা সিস্টেমে জারিকৃত পূর্বের কমান্ডগুলো কিছু সংশোধনের মাধ্যমে পুনরায় ডাকতে পারে এবং ব্যবহার করতে পারে। যেহেতু অপারেটিং সিস্টেমের সকল কমান্ডসমূহ ব্যবহারকারী কর্তৃক সম্পাদন করতে হয় তাই সংক্ষিপ্ত কমান্ড নাম এবং প্রতিনিধিত্বমূলক প্রোগ্রামের জন্য নিবিড় সিস্টেম অপশন ছিল খুবই সাধারণ। সংক্ষিপ্ত নাম ছিল ব্যবহারকারীদের মনে রাখার জন্য কিছুটা কঠিন এবং পূর্বেকার সিস্টেমসমূহ বিশদ অন-লাইন নির্দেশ ব্যবহার গাইড সংরক্ষণ কৌশল প্রদান করার ক্ষমতা ছিল না।

বিভিন্ন ইউনিক্স শেল এবং তাদের ডেরাইভেটিভসরা যেমন ডস শেল উপস্থিত ছিল।

মাইক্রোসফট উইন্ডোজ
টেক্সট শেল
অন্যান্য ব্যবহার
ইউনিক্স জাতীয় সিস্টেমসমূহ