কেন লিনাক্স এলএলএফটিকে নতুন লাইনের চরিত্র হিসাবে ব্যবহার করে?


87

যতদূর আমি জানি, প্রতিটি অপারেটিং সিস্টেমে লাইনটির শেষ (EOL) অক্ষর চিহ্নিত করার আলাদা উপায় রয়েছে। বাণিজ্যিক অপারেটিং সিস্টেমগুলি EOL- এর জন্য ক্যারেজ রিটার্ন ব্যবহার করে (উইন্ডোজটিতে ক্যারেজ রিটার্ন এবং লাইন ফিড, কেবল ম্যাকের উপরে ক্যারিয়ার রিটার্ন)। অন্যদিকে, লিনাক্স কেবল EOL এর জন্য লাইন ফিড ব্যবহার করে।

কেন লিনাক্স EOL (এবং পরিবর্তে সম্পূর্ণ লাইন ফিড) এর জন্য ক্যারেজ রিটার্ন ব্যবহার করে না?


77
ম্যাকস কেবল ওএস এক্স এর আগে থেকেই সিআর ব্যবহার করেনি ... এখন * নিক্স স্টাইলের এলএফ ব্যবহার করুন, আমি বিশ্বাস করি।
বি লেয়ার

33
আমার মনে হয় অনেকগুলি ইউনিক্সি ওএস রয়েছে / রয়েছে: সেগুলিও।
ilkkachu

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

74
দ্বিতীয় অনুচ্ছেদটি একটি বৈধ প্রশ্ন, তবে প্রথম অনুচ্ছেদটি এতটা ওভারসিম্প্লিফিকেশন এবং সম্পূর্ণ ত্রুটি দ্বারা পরিপূর্ণ যে এটি এটিকে ডুবিয়ে দিচ্ছে, উত্তরদাতাদের এমনকি প্রশ্নে ওঠার আগেই ইফফি এবং ত্রুটিযুক্ত প্রাঙ্গনে পুরো গুচ্ছটি সংশোধন করতে হবে।
JdeBP

21
কি? লিনাক্স ইউএনআইএক্স নামে পরিচিত একটি বাণিজ্যিক ওএস স্ট্যান্ডার্ডের একটি মুক্ত অনুমান। ইউনিক্স-কমপ্লায়েন্ট সিস্টেমে তখন প্রচুর অর্থ ব্যয় হয় এবং আজও তারা তা করে।
ভুল কাজ

উত্তর:


334

উইন্ডোজ ব্যবহার করে CRLFকারণ এটি এমএস-ডস থেকে উত্তরাধিকার সূত্রে পেয়েছে।

এমএস-ডস ব্যবহার করে CRLFকারণ এটি সিপি / এম দ্বারা অনুপ্রাণিত হয়েছিল যা ইতিমধ্যে ব্যবহার করেছিল CRLF

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

Gnu / Linux ব্যবহার করে LFকারণ এটি একটি ইউনিক্স ক্লোন1

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

LFCRপরবর্তীতে এখনও একটি নির্দিষ্ট ব্যবহার ছিল কারণ এটি পছন্দ করা হয়েছিল । একই রেখার শুরুতে মুদ্রিত অক্ষরটিকে প্রতিস্থাপনের মাধ্যমে এটি ইতিমধ্যে টাইপযুক্ত অক্ষরগুলিকে ওভারস্ট্রাইক করতে দেয়।

অ্যাপল প্রাথমিকভাবে একটি একক অক্ষর ব্যবহার করার সিদ্ধান্ত নিয়েছে কিন্তু কিছু কারণে অন্যটি বাছাই করা: CR। এটি যখন একটি BSD ইন্টারফেসে স্যুইচ করা হয়েছে, এটি সরানো হয়েছে LF

কোনও ওএস বাণিজ্যিক হয় বা হয় না এর সাথে এই পছন্দগুলির কোনও সম্পর্ক নেই।

1 এটি আপনার প্রশ্নের উত্তর।


20
মাল্টিকস সমসাময়িক আইএসও / আইইসি 64৪6 এর সাথে একমত হয়ে লাইন ফিড ব্যবহার করেছেন, যা একক চরিত্রের উপস্থাপনের প্রয়োজন হলে, একক চরিত্রে, একক চরিত্রে, ক্যারিজ রিটার্ন এবং লাইন ফিড উভয়কেই উপস্থাপন করার উপায় হিসাবে নির্ধারিত হয়েছিল।
JdeBP

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

14
তা সত্ত্বেও, সল্টজার এবং ওসান্না কর্তৃক 1970 এর পেপার ( মাল্টিক্সে রিমোট টার্মিনাল ক্যারেক্টার স্ট্রিম প্রসেসিং ) বেশ স্পষ্ট যে ডিভাইসের স্বাধীনতার কারণ ছিল
JdeBP

3
@JdeBP এই কাগজ রাজ্যের হ্রাস এবং দূরবর্তী টার্মিনাল থেকে পাশ করার অক্ষরের স্ট্রীমের ক্যানোনিকাল ফর্মে এই কাগজের সাপেক্ষে । একটি প্রচলিত ফর্ম হ্রাস স্থান সংরক্ষণ করার একটি উপায় ছিল (খুব)। পৃথকভাবে প্রকাশ করা হয়েছে, দুটি অক্ষর ব্যবহার করা ছিল স্থানের অকার্যকর এবং দ্ব্যর্থহীন অপচয় waste
jlliagre

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

17

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

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

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

লিনাক্স অবশ্যই ইউনিক্সের পুনরায় বাস্তবায়ন করেছিল এবং ইউনিক্স তার বহু নকশার সিদ্ধান্ত মাল্টিক্সের কাছ থেকে নিয়েছিল, তাই দেখে মনে হচ্ছে মূল সিদ্ধান্তটি 1964 সালে হয়েছিল made


12

অন্যান্য উত্তরগুলি 1960 এর দশকে উত্তরাধিকার শৃঙ্খলা এবং টেলি টাইপগুলি আবিষ্কার করেছে। তবে এখানে একটি দিক তারা coverাকেনি।

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


এই সঠিক স্মৃতি জন্য আপনাকে ধন্যবাদ। সাহসী বা আন্ডারলাইন করা চরিত্রগুলি তৈরি করতে প্রিন্টারে ব্যাকস্পেস এবং ক্যারিজ রিটার্ন (একা) ব্যবহৃত হত। এবং উত্স ফিরে যেতে, এই দুটি কমান্ড ইতিমধ্যে 1930 সালে বিদ্যমান ছিল "গাড়ী" "তার বামতম অবস্থানে" ফিরিয়ে আনার জন্য, "অতিরিক্ত লাইন" বা "নতুন লাইনের" সাহায্যে একটি নতুন রেখা শুরু করার অনুমতি দেওয়ার জন্য কীটি বেলনটিকে এক ধাপে ঘোরান। দেখুন: en.wikedia.org/wiki/IBM_Electric_typewriter । সুতরাং "সিআর" + "এলএফ" কম্পিউটার ইতিহাসের আগে ডেটিং করছে।
ড্যান

এটি লক্ষণীয়ও হতে পারে যে কিছু টেলিটি টাইপগুলির দরকার ছিল যে পরবর্তী মুদ্রণ চরিত্রটি আসার আগে গাড়ীর পুরোপুরি চক্র চালানোর জন্য একটি সিআর একটি নন-প্রিন্টিং চরিত্র অনুসরণ করা উচিত ছিল, এবং মোটেও ব্যাকস্পেসিং সমর্থন করে না, তাই সিআর পরে এলএফ প্রেরণ কোনও কিছুরই ব্যয় হয়নি, ওআরপ্রিন্টিংয়ের একমাত্র উপায় ছিল সিআর হয়ে।
সুপারক্যাট

"টেলটাইপের দিনগুলি" কম্পিউটার যুগের আগেই শুরু হয়। 1960 এর দশকে অনেকগুলি কম্পিউটারের অপারেটরের জন্য একটি কনসোল টেলি টাইপ ছিল এবং এরপরে আরও বেশি কিছু ASCII কে তাদের চরিত্রের সেট হিসাবে ব্যবহার করেছিল।
ওয়াল্টার মিট্টি

7

আপনি যখন languageতিহাসিক প্রশ্নটিকে সি ভাষা সম্পর্কে কোনও প্রশ্নে অনুবাদ করতে পেরেছিলেন, কারণ লিনাক্স এবং সমস্ত পসিক্স-কনফর্মিং বা পসিক্স-ইশ সিস্টেমগুলি অবশ্যই নতুন লাইন হিসাবে ছেদ করার ফলাফল হিসাবে ব্যবহার করতে হবে LF(বা কমপক্ষে সি '\n'বর্ণটি যা কিছু হোক ) ব্যবহার করতে হবে সি এবং পসিক্সের প্রয়োজনীয়তার বিষয়ে। সি যখন "পাঠ্য ফাইল" এবং "বাইনারি ফাইলগুলি" পৃথক করতে দেয় (প্রকৃতপক্ষে পাঠ্য ফাইলগুলি ডস / উইন্ডোজ / এ / লাইক-তে '\n'অনুবাদ CR/ LFপছন্দ করা যেমন কম বিদেশী জিনিস ছাড়াও লাইন রেকর্ডগুলির ক্রম সমন্বিত রেকর্ড-ভিত্তিক হতে পারে ), পসিক্স আদেশ দেয় যে পাঠ্য এবং বাইনারি মোড একই আচরণ করে। কমান্ড লাইন সরঞ্জামগুলি পছন্দ করে এমনটিই মূলত এটিcatশক্তিশালী / দরকারী; তারা কেবলমাত্র বাইনারি নিয়ে কাজ করেছে বা কেবল পাঠ্য দিয়ে কাজ করেছে তবে উভয়ই এগুলি অনেক কম হবে।


13
এই পছন্দটি অনেক বছর ধরে পসিক্সের পূর্বাভাস দেয়। জেলিগ্রে এর উত্তরে উল্লিখিত হিসাবে, এটি ইউনিক্সের শুরুতে ফিরে যায়, যা এটি মাল্টিক্স থেকে অনুলিপি করে।
বার্মার

4
লিনাক্সের পছন্দটি অনেক বছর ধরেই পসিক্সের পূর্ববর্তী হয় না। অবশ্যই পসিক্স যা ইতিমধ্যে বিদ্যমান অনুশীলন কোড করেছিল, যেহেতু এটির উপস্থিতির পুরো কারণ ছিল।
আর ..

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

@ জেলিয়াগ্রে: এলোমেলো অকৃত্রিম অসম্পূর্ণতাগুলির চেয়ে বিদ্যমান অনুশীলনের সাথে সামঞ্জস্যপূর্ণ কিছু করা এখনও পছন্দ ছিল। আপনি কেবল এটিই বলতে পারেন যে লিনাক্সের সাফল্য ধরে নেওয়ার প্রেক্ষাপটে পছন্দ ছিল না। প্রচুর লোক খেলনা শখের শখের ওএসের কৃতজ্ঞতাপূর্ণভাবে বাজে পছন্দগুলিতে পূর্ণ করে এবং তারা কখনই কোথাও যায় না।
আর ..

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