خط فرمان لینوکس – مقدمه
من میخواهم داستانی را برایتان تعریف کنم.
نه، نمیخواهم به داستان اینکه چگونه لینوس توروالدز (Linus Torvalds) اولین نسخه از کرنل لینوکس را در سال 1991 نوشت بپردازم. شما میتوانید این داستان را در تعداد زیادی از کتاب های لینوکسی مطالعه کنید. این داستان را هم نمیخواهم تعریف کنم که چگونه چند سال قبل از آن ریچارد استالمن (Richard Stallman)، کار روی پروژه گنو (GNU Project) را برای ساخت یک سیستم عامل شبه یونیکس (Unix-like) آغاز کرد. این هم داستان مهمی است، اما اغلب کتاب های لینوکس به این داستان هم پرداختهاند.
نه، من میخواهم برایتان داستان چگونگی پس گرفتن کنترل کامپیوترتان را تعریف کنم.
وقتی کار با کامپیوتر را به عنوان یک دانشجوی کالج در اواخر دهه 1970 شروع کردم، انقلابی در حال وقوع بود. اختراع ریزپردازنده این امکان را فراهم کرده بود که افراد عادی مثل من و شما واقعا صاحب یک کامپیوتر شویم. تصور این موضوع که وقتی صرفا کسب و کارها و دولت های بزرگ تمام کامپیوترها را مدیریت میکردند دنیا چه شکلی بوده است این روزها برای اغلب مردم دشوار است. فقط میتوانیم بگوییم کار زیادی با کامپیوترها نمیتوانستید انجام دهید.
امروزه دنیا بسیار متفاوت است. کامپیوترها همه جا هستند، از ساعتهای مچی کوچک تا مراکز داده غول پیکر تا هرچیزی که مابین آنها قرار میگیرد. علاوه بر کامپیوترهایی که همه جا هستند، یک شبکه فراگیر هم داریم که آنها را به هم متصل میکند. حاصل این موضوع، عصر جدید و شگفتانگیزی از توانمندی شخصی و آزادی خلاق است، اما در یکی دو دهه اخیر اتفاق دیگری هم در حال وقوع است. تعدادی شرکت بزرگ کنترل خود را روی اغلب کامپیوترهای جهان تحمیل کردهاند و تصمیم میگیرند شما چه کاری با کامپیوترتان میتوانید انجام دهید و چه کاری نمیتوانید انجام دهید. خوشبختانه افرادی از سراسر دنیا در حال انجام کارهایی در این مورد هستند. آنها با نوشتن نرم افزارهای خودشان برای اینکه امکان کنترل کامپیوترهایشان را حفظ کنند مبارزه میکنند. آنها لینوکس را میسازند.
افراد بسیاری از “آزادی” (freedom) با توجه به لینوکس سخن میگویند، اما فکر نمیکنم اغلب مردم بدانند این آزادی واقعا چه معنایی دارد. آزادی، قدرت تصمیمگیری در این مورد است که کامپیوترتان چه کاری انجام میدهد، و تنها راه برای داشتن این آزادی اینست که بدانید کامپیوترتان در حال انجام چه کاری است. آزادی کامپیوتری است بدون اسرار، کامپیوتری که اگر به اندازه کافی درک هرچیزی در مورد آن برایتان مهم باشد بتوانید از آن سردربیاورید.
چرا از خط فرمان استفاده کنیم؟
تاکنون به فیلمهایی توجه کردهاید که در آن وقتی “ابر هکر” – کسی که میتواند به کامپیوتر نظامی فوق ایمن در کمتر از 30 ثانیه نفوذ کند – پشت کامپیوتر مینشیند اصلا به ماوس دست هم نمیزند؟ این موضوع به خاطر آنست که سازندگان فیلم درک میکنند ما به عنوان انسان به طور غریزی میدانیم تنها راه برای اینکه واقعا بتوانیم روی یک کامپیوتر هرکاری را انجام دهیم از طریق تایپ کردن روی صفحه کلید است!
این روزها اغلب کاربران کامپیوتر تنها با رابط کاربری گرافیکی (GUI) آشنا هستند و فروشنده ها و کارشناسان به آنها آموزش دادهاند رابط خط فرمان (CLI) چیز وحشتناکی است که به گذشته تعلق دارد. این مایه تأسف است، چرا که یک رابط خط فرمان خوب روشی شگفت انگیز برای برقراری ارتباط با کامپیوتر است درست به همان شیوهای که کلمه نوشته شده برای انسانهاست. این طور گفته شده است که “واسط های کاربری گرافیکی کارهای ساده را تسهیل میکنند، در حالیکه واسط های خط فرمان کارهای دشوار را امکانپذیر میکنند” و این موضوع امروز هم همچنان بسیار صحیح است.
از آنجایی که لینوکس از خانواده سیستم عاملهای یونیکس الگوبرداری شده است همان میراث غنی ابزارهای خط فرمان یونیکس را به اشتراک میگذارد. یونیکس در اوایل دهه 1980 میلادی پیش از پذیرش گسترده رابط های کاربری گرافیکی مورد توجه قرار گرفت (هرچند برای اولین بار یک دهه پیش از آن توسعه پیدا کرد) و درنتیجه به جای رابط کاربری گرافیکی، یک رابط خط فرمان بزرگ توسعه پیدا کرد. در واقع، یکی از قویترین دلایلی که پذیرندگان اولیه لینوکس آن را به جای ویندوز NT انتخاب کردند همین رابط خط فرمان قدرتمندش بود که “کارهای دشوار را امکانپذیر” میکرد.
متن بالا بخشی از ترجمه کتاب The Linux Command Line (به فارسی: خط فرمان لینوکس) نوشته William Shotts است که نسخه اصلی آن از طریق وبسایت رسمی کتاب (https://linuxcommand.org) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).