دستورهای ابتدایی Shell که هر توسعه دهنده ای باید بداند | راهنمای کاربردی

۱۰۶۹ بازدید
آخرین به‌روزرسانی: ۹ مهر ۱۴۰۲
زمان مطالعه: ۵ دقیقه
دانلود PDF مقاله
دستورهای ابتدایی Shell که هر توسعه دهنده ای باید بداند | راهنمای کاربردیدستورهای ابتدایی Shell که هر توسعه دهنده ای باید بداند | راهنمای کاربردی

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

997696

Pwd برای بازگشت نام دایرکتوری کاری

این راهنما را با دستوری آغاز می‌کنیم که به شما کمک می‌کند تا متوجه شوید، اینک در ترمینال در کجا ایستاده‌اید:

$ pwd
/Users/erik

ما در دایرکتوری خانگی خود قرار داریم، شما چطور؟

ls برای لیست کردن محتوای دایرکتوری

اکنون که متوجه شدیم در کدام دایرکتوری قرار داریم، نوبت آن رسیده که ببینیم در دایرکتوری جاری چه چیزهایی وجود دارند:

$ ls
AndroidStudioProjects     VirtualBox VMs
Applications              Desktop
Documents                 flutter
Downloads...

ممکن است در دایرکتوری جاری شما موارد زیادی برای نمایش وجود داشته باشند. دستور ls گزینه‌های زیادی برای ایجاد سهولت در فرایند کار دارد. برخی از رایج‌ترین گزینه‌ها به شرح زیر هستند:

  • l-: این گزینه موجب می‌شود که لیست با قالب‌بندی بلند نمایش یابد. مجموع اندازه‌های همه فایل‌ها در خروجی و یک خط قبل از لیست‌بندی بلند نمایش می‌یابد.
  • h-: این گزینه به همراه گزینه قبلی استفاده می‌‌شود و اندازه‌های فایل را به ترتیبی تبدیل می‌کند که خوانش آن برای ما راحت‌تر باشد، مثلاً عباراتی مانند 10G یا 42M را مشاهده می‌کنید.
  • a-: اختصاری برای عبارت «همه» (all) است و به این ترتیب همه فایل‌ها از جمله فایل‌های موجود در دایرکتوری‌های پنهان که نامشان با نقطه آغاز می‌شود، نیز لیست می‌شوند.

شما می‌توانید این گزینه‌ها را به ترتیبی که دوست دارید، ترکیب کنید:

$ ls -lha
total: 32
drwxr-xr-x+ 85 erik staff 2.7K May 27 11:11 .
drwxr-xr-x   6 root admin 193B Sep 29  2019 ..
-rw-r--r--   1 erik staff 2.1K Apr 15 11:06 .gitignore
-rw-r--r--   1 erik staff  25M May 26 15:44 image.zip
...

در مثال فوق حقوق دسترسی، مالک و گروه، اندازه فایل، آخرین تاریخ دست‌کاری داده‌ها و نام خود فایل را مشاهده می‌کنید.

در دو ردیف نخست، شاید متوجه چیز غریبی شده باشید و آن دو فایل با نام‌های (.) و (..) است:

  • فایلی که با یک نقطه (.) مشخص شده، در واقع دایرکتوری جاری است. این دایرکتوری در مجموع یک اندازه دارد که به تعداد و حجم فایل‌های موجود در دایرکتوری وابسته است.
  • مورد مشخص شده با دو نقطه (..) دایرکتوری والد دایرکتوری جاری است که این دایرکتوری درون آن قرار دارد.

این میانبرهای کارآمد می‌توانند در هر دستوری مورد استفاده قرار گیرند. اگر می‌خواهید محتوای دایرکتوری والد را ببینید می‌توانید از دستور /..ls استفاده کنید. حتی می‌توانید این موضوع را تکرار کنید و با استفاده از دستور زیر دو دایرکتوری بالاتر بروید:

ls../../

cd برای تغییر دایرکتوری

اکنون که می‌دانید در کجا ایستاده‌اید و چه فایل‌ها و دایرکتوری‌هایی در کنارتان وجود دارند، می‌توانید شروع به حرکت به اطراف بکنید. فرض کنیم پروژه‌های خود را در پوشه Projects ذخیره کرده‌اید. برای رفتن به آنجا می‌توانید از دستور زیر استفاده کنید:

$ cd Projects

اغلب پوسته‌ها (Shell) از تکمیل‌سازی خودکار پشتیبانی می‌کنند. کافی است شروع به وارد کردن چند حرف آغازین دایرکتوری یا فایل بکنید تا پیشنهادی به صورت خودکار عرضه شود. سپس می‌توانید با زدن کلید Tab پیشنهاد ارائه شده را تأیید کنید:

$ cd Pro<TAB key>

پوسته شما یا کلمه مورد نظرتان را به صورت خودکار تکمیل می‌کند و یا در صورت وجود چند دایرکتوری با آن نام معمولاً همه آن‌ها نمایش می‌یابند تا از بین آن‌ها یکی که مورد نظرتان است را انتخاب کنید.

cp برای کپی کردن

گاهی اوقات لازم می‌شود که برخی فایل‌ها را کپی کنیم. دستور cp این کار را برای ما انجام می‌دهد. این کار از طریق ایجاد یک فایل جدید و کپی کردن همه محتوای فایل قبلی به فایل جدید انجام می‌گیرد. برای مثال جهت کپی کردن فایل file1.txt به فایل جدید (برای نمونه برای پشتیبان گرفتن از آن) می‌توانید از دستور زیر استفاده کنید:

$ cp file1.txt file1.txt.bak

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

$ cp file1.txt./backups/

در این جا /. به معنی دایرکتوری جاری است، بنابراین backups در دایرکتوری کاری کنونی قرار دارد.

دستورهای ابتدایی Shell

mv برای جابجایی فایل‌ها

اگر نیاز به جابجا کردن یک فایل باشد، می‌توانید از دستور mv بهره بگیرید. توجه کنید که جابجا کردن فایل همانند تغییر دادن نام یک فایل است. در واقع هیچ دستور خاصی برای تغییر دادن نام یک فایل وجود ندارد. استفاده از دستور mv تفاوت چندانی با دستور cp ندارد. بنابراین برای تغییر دادن نام یک فایل یا جابجا کردن آن می‌توانید به صورت زیر عمل کنید:

$ mv file1.txt file1.txt.bak

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

$ mv file1.txt./backups/

mkdir برای ساخت دایرکتوری

این دستور به سادگی یک دایرکتوری ایجاد می‌کند. برای ساخت یک دایرکتوری جهت ذخیره پروژه‌ها می‌توانید از دستور زیر استفاده کنید:

$ mkdir Projects

این دستور یک آرگومان ساده به صوت p- دارد که وقتی از آن استفاده کنید، هر دایرکتوری میانجی که وجود نداشته باشد نیز ایجاد خواهد شد. اگر می‌خواهید نخستین پروژه خود را به صورت مستقیم درون پوشه ‎$ mkdir Projects ایجاد کنید، می‌توانید به صورت زیر عمل کنید:

$ mkdir -p Projects/my_first_project

rmdir برای حذف دایرکتوری‌ها

rmdir مخالف mkdir است و یک دایرکتوری را حذف می‌کند. در زمان استفاده از این دستور نیز می‌توان از همان آرگومان p- که قبلاً اشاره شد استفاده کرد.

$ rm Projects

برای حذف دایرکتوری Projects و نخستین پروژه‌ای که در آن ساخته بودیم، از دستور زیر استفاده کنید:

$ rmdir -p Projects/my_first_project

حذف کردن یک دایرکتوری تنها زمانی قابل اجرا است که دایرکتوری خالی باشد. اگر می‌خواهید یک دایرکتوری که دارای محتوایی است را پاک کنید، باید از دستور rm استفاده کنید که در ادامه توضیح داده‌ایم.

rm

اینک وارد سرزمین خطرناکی می‌شویم! این دستور بسیار قدرتمند است و می‌تواند فایل سیستم شما را به طور بالقوه خراب کند. بنابراین باید با احتیاط از آن استفاده کنید. کار خود را با حذف یک فایل آغاز می‌کنیم:

بر اساس رای ۳ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
tech-explained
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *