آشنایی ابتدایی با ترمینال (Terminal) به زبان ساده

ترمینال، مهم ترین چیز در دنیای ماشین هاست. ما ترمینال ها را خلق کردیم تا نقطه تعامل ما با ماشین ها باشند. اما امروزه به غیر از متخصصان دنیای ماشینی کسی اهمیت این موضوع را به خوبی درک نمی کند. هر آن چه در رایانه ها، گوشی های هوشمند و ... انجام می دهید با این که با یک رابط گرافیکی انجام می شوند، اما در پس زمینه آنچه تحویل ماشین می شود یک رسته دستور است و ترمینال ها به ما این امکان را می دهند این دستورات را مستقیماً و بدون واسطه به ماشین ها بدهیم.

چه کارهایی با ترمینال می توان انجام داد؟

برای مثال می توانید از ترمینال برای ایجاد، تغییر و حذف فایل ها و پوشه ها، ارتباط گرفتن با دیگر ماشین ها، بارگیری از وب و ... استفاده کرد.

چرا ترمینال؟

اولین دلیل این است که لزوماً همه ماشین هایی که شما با آن‌ها سر و کار دارید به رابط کاربری گرافیکی مجهز نیستند، مانند سرورها. بنابراین اگر یاد بگیرید از خط فرمان استفاده کنید به این معنی است که در همه جا و با هر ماشینی می توانید کار کنید.

دومین دلیل این است که شما به کمک ترمینال قدرتمند و بدون محدودیت با ماشین تعامل می کنید و هر آن چه که تصور کنید را می توانید با آن انجام دهید و تنها محدودیت شما این است که دستوری را ندانید یا به همه امکانات ماشینتان آگاه نباشید.

سومین دلیل آن است که ترمینال ها متن-پایه هستند؛ یعنی اساس کار آن ها بر تعانل متنی برقرار است و به همین دلیل همیشه سریع ترین و با کیفیت ترین تعانل ممکن در لحظه را با ماشن برقرار می کند در حالی که رابط های گرافیکی به دلیل بار پردازشی کع بر دوش ماشین می گذارند همیشه یک سر و گردن از ترمینال ها عقب ترند.

چهارمین دلیل آن است که هر ماشینی دارای ترمینال است و به همین دلیل اگر هر نوع مشکلی پیش بیاید حتماً می توان راه حلی مبتنی بر ترمینال برای آن یافت.

مهارت های بنیادین کار با ترمینال

کار با سیستم فایل ها در هر ماشینی، مهارت پایه برای تعامل با ماشین محسوب می شود. در ادامه به این خواهیم پرداخت که چگونه با ترمینال در سیستم فایلها تغییراتی هم چون تغییر پوشه، ایجاد، انتقال، حذف، تغییر نام فایل ها و پوشه ها و حتی تغییر در محتوای فایل ها را انجام دهیم.

یافتن مسیر فعلی ترمینال

برای آن که بدانیم در کدام پوشه ی سیستم فایل هستیم، باید مسیر پوشه ای که در حال کار درون آن هستیم را نمایش دهیم. برای این کار از کلید واژه ی  print working directory و در غالب دستور زیر بهره می بریم:

pwd

در این حالت، ماشین با اجرای دستور، مسیر پوشه ای را که در آن حضور دارید را در ترمینال به شما نشان می دهند.

نمایش فهرست فایل های پوشه فعلی

برای نشان دادن تمامی فابل های موجود در یک مسیر باید از دستور list استفاده کرد:

ls

این دستور به تنهایی فایل های غیرپنهان را با یک تب فاصله نشان می دهد. با پرچم های a به معنی «همه» (all) و l به معنی نمایش «فهرستی» (list) یا ترکیب آن ها می توان به اشکال نمایشی جدید دست یافت:

ls -a
ls -l
ls -la

تغییر پوشه

برای تغییر دادن پوشه ای که در آن حضور دارید کافی است با دستور زیر به طور اصطلاح change directory کرد.

cd {آدرس پوشه}

توجه شود که اگر به پوشه ای درون پوشه فعلی می روید، علامت «/» را پیش از آدرس مورد نظر نگذارید چون در این صورت از پوشه کاربری شروع به بررسی و یافتن مسیر خواهد کرد.

چند نکته مهم

نکته اول: از این پس، کاراکترهای } و { که پیرامون عبارات فارسی یا انگلیسی می بینید، تنها برای جداسازی عبارات راهنما از دستورات و گزینه های مورد استفاده در ترمینال است. لذا در هنگام استفاده از دستورات آن ها را کپی یا تایپ نکنید.

نکته دوم: اگر در حین درج آدرس از کلید Tab استفاده کنید، در صورت وجود عبارات با کاراکترهای مشابه آن، ترمینال عبارات شما را تکمیل خواهد کرد و می توانید از این روش برای راحتی کاربری و یا اطمینان از درست بودن آن چه قصد انجام آن را دارید، بهره ببرید.

نکته سوم: برای آن که به یک پوشه بالاتر بروید، نیازی به درج کامل آدرس آن نیست. درج دو نقطه به جای آدرس پوشه، شما را به پوشه والد پوشه ی فعلی می برد:

cd ..

دسترسی به اطلاعات دستورات ترمینال

برای این کار از کلید واژه man که مخفف واژه Manual است، پیش از دستور دلخواه درج می کنید تا نتیجه نمایش داده شود:

man {دستور}

برای خروج از فایل حرف «q»  را بزنید و در صوزت شلوغی، صفحه ترمینال خود با دستور زیر پاک کنید:

clear

ایجاد یک پوشه (دایرکتوری)

برای ایجاد پوشه در ترمینال باید از دستور زیر استفاده کرد:

mkdir {نام پوشه مورد نظر}

این دستور مخفف make (a) directory است و پوشه ای در مسیر فعلی با نام دلخواه شما ایجاد خواهد کرد.

انتقال فایل ها و پوشه ها

در ترمینال با دستور زیر که مخفف واژه move به معنی جا به جا کردن است، می توانید یک فایل یا محتویات یک پوشه را از مسیر مبدا به مسیر مقصد انتقال دهید:

mv {-r} {مسیر فایل یا پوشه مبدا} {مسیر فایل یا پوشه مقصد}

توجه داشته باشید که  پرچم r برای هنگامی که قصد استفاده از دستور را برای انتقال فایل ها و پوشه های تو در تو دارید، الزامی است. این علامت از واژه recursive به معنی «بازگشتی» است و به انجام دستور با توجه به اولویت فایل ها و پوشه ها نسبت به یکدیگر دلالت دارد. پرچم r، سبب می شود که در ابتدا دستور بر روی فایل ها و پوشه های پایین ترین فرزند که درونی ترین موارد در پوشه بندی مسیر مورد نظر است، اعمال شده و سپس به محتویات والد بالاسری آن برود.

دو نکته لازم به ذکر است که به ساده تر شدن کار شما کمک می کند؛ اول این است که با توجه به نسبی بودن مسیرها در ترمینال، شما می توانید به جای آدرس کامل، آدرس نسبی را وارد کنید. به طور مثال، در صورتی که فایل مورد نظر شما برای انتقال در مسیر فعلی شما قرار دارد، آوردن نام فایل به عنوان مبدا انتقال کافی است:

mv {نام کامل فایل} {مسیر فایل یا پوشه مقصد}

نکته دوم هم این است که، اگر به جای مسیرها از نقطه (.) استفاده کنید، اجرای دستور برای آن مسیر، مبنا را بر پوشه ای قرار می دهد که در حال حاضر در آن هستید. به طور مثال، دستور زیر فایل مورد نظر شما را از پوشه مبدا آن به مسیری که در آن هستید، انتقال  می دهد:

mv {-r} {مسیر فایل یا پوشه مبدا} .

این ویژگی در تمامی دستورات مسیر-محور قابل استفاده است.

کپی کردن فایل ها و پوشه ها

رونوشت گرفتن هم مانند مورد قبلی از طریق مسیر مبدا و مقصد صورت می پذیرد و نکته ذکر شده در بالا برای این دستور نیز برقرار است. دستور زیر مخفف واژه copy به معنی رونوشت است:

cp {-r} {مسیر فایل یا پوشه مبدا} {مسیر فایل یا پوشه مقصد}

cp {نام کامل فایل} {مسیر فایل یا پوشه مقصد}

نکته قابل ذکر در اینجا این است که در صورتی که بخواهید نام فایل کپی شده در مقصد متفاوت باشد یا در همان مسیر فعلی قصد ایجاد فایل جدید را دارید و می خواهید از بازنویسی فایل بر روی خودش پیشگیری کنید، به آسانی و با انتخاب نامی دلخواه در بخش دوم دستور این کار عملی می شود:

cp {نام کامل فایل در مبدا} {نام کامل فایل در مقصد}

پاک کردن فایل ها و پوشه ها

برای این که یک فایل یا پوشه را پاک کنید از دستور زیر که از واژه remove به معنی حذف کردن گرقته شده است، استفاده کنید:

rm {-r} {مسیر یا نام کامل فایل یا پوشه}

به هم رساندن محتوای فایل ها و نمایش آن ها در ترمینال

دستوری تحت عنوان concatenate وجود دارد که محتویات فایل هایی که به آن می دهید را اصطلاحاً به هم رسانده و به صورت استاندارد نمایشی در ترمینال در می آورد:

cat {نام کامل فایل}

آنچه تا اینجا گفته شد تنها برای راه انداختن کار کسانی است که برای کاری موقتی ناچار به استفاده از ترمینال شده اند یا از سر کنجکاوی راهشان به این مقاله کج شده است؛ کافی است. برای آن دسته از افراد که تخصص مرتبط با رایانه دارند، دانستن ترمینال ضروری است و به همین دلیل در مقالات بعدی به طور مفصل به ترمینال خواهم پرداخت و هر آن چه باید به آن مسلط باشید تا کارتان به درستی پیش برود، ذکر می کنم.