12 دستور ترمینال که هر توسعه دهنده وب باید آن ها را بداند
ایمان مدائنی

در این مقاله ما برای کمک به استفاده بیشتر شما از ترمینال مجموعه ای از دستورات یونیکس را آماده کرده ایم. بعضی از آنها درونی یا built in هستند و برخی دیگر نیز ابزارهای جداگانه رایگانی هستند که تست زمانی شده اند و می توانند در کمتر از یک دقیقه نصب شوند.

 Curl

Curl  یک دستور یا همان خط فرمان (command line) برای ایجاد درخواست ها از طریق FTP ، HTTP(s) و ده ها پروتکل دیگر می باشد که شاید شما اسم آن ها را هم نشنیده باشید .Curl  می تواند فایل ها را دانلود کند،هدرهای پاسخ را بررسی کند و به داده های راه دور(remote data) آزادانه دسترسی پیدا کند.

درتوسعه وب،Curl معمولا برای تست اتصالات(testing conncetions) و کار با RESTful API ها استفاده می شود

دستورات Curl میتواند بسیار پیچیده تر از این باشد . تعداد بسیار زیادی گزینه برای کنترل کردن هدرها ، کوکی ها ، احراز هویت و ... وجود دارد.می توانید برای کسب اطلاعات بیشتر به کتاب عالی و رایگان Everything curl مراجعه کنید.

 Tree

Tree یک خط فرمان (command line) کوچک است که یک نمای تصویری از فایل ها را در یک دایرکتوری نشان میدهدبصورت بازگشتی کارمیکند ، و به صورت پی در پی  با رفتن به سطح های تو در تو و رسم یک فرمت درختی از تمام محتویات کارش را انجام میدهد.با استفاده از این دستور شما می توانید به سرعت به فایل ها نگاهی بیندازید و فایل هایی را که به دنبال آن ها میگردید را به سرعت پیدا کنید.

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

 Tmux

طبق توضیحات (ویکی) آن ، Tmux یک ترمینال چند منظوره است (چند منظوره بودن یعنی چند تا ترمینال رو میگیرد و از بین ترمینال های موجود ترمینال مورد نیاز را نمایش میدهد)  ، که به زبان ساده تر ابزاری است برای اتصال چندین ترمینال به یک session terminal.

این دستور به شما امکان سوییچ کردن بین برنامه ها در یک ترمینال، افزودن تقسیم صفحه نمایش و قراردادن چندین ترمینال به همان session و سینک(sync) و همگام سازی تمامی آن ها را می دهد. Tmux وقتی که بر روی یک سرور از راه دور (remote server) کار میکنید بسیار مفید است، به دلیل این که به شما امکان ایجاد تب های جدید را بدون نیاز به لاگین دوباره را می دهد.

 Disk usage – du

دستور du گزارش های مربوط به فضای استفاده شده ی فایل ها و دایرکتوری ها را ایجاد می کند . استفاده از آن بسیار آسان می باشد و میتواند بصورت بازگشتی ، با رفتن درون هر زیر دایرکتوری (subdirectory) اندازه ی هر فایل را برگرداند.

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

همچنین یک دستور مشابه به du به نام df وجود دارد که این دستور اطلاعات گوناگونی درباره ی فضای دردسترس دیسک میدهد   (DF=Disk Free) 

دستور df  معکوس دستور du می باشد. 

 Git

در حال حاضر Git محبوب ترین نسخه سیستم کنترل می باشد.که یکی از ابزارهای مدرن تعریف شده وب سایت است و ما نمی توانیم آن را از لیستمان حذف کنیم.

بسیاری از اپلیکیشن ها و ابزار های شخص ثالث (third-party) در دسترس هستند اما بیشتر مردم دسترسی مستقیم از GIT به ترمینال را ترجیح میدهند.git CLI واقعا قدرتمند است و حتی میتواند تاریخچه پیچیده ترین پروژه ها را مدیریت کند.

 Tar

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

همچنین می تواند با استفاده از آپشن x– آرشیو های موجود .tar را اکسترکت کند.

توجه داشته باشید که بیشتر فرمت های دیگر مانند .zip  و .rar توسط tar باز نمی شوند و به دیگر سرویس های فرمان  مثل Unzip نیاز دارد

بسیاری از سیستم های مدرن یونیکس یک نسخه گسترده تر از GNU tar) tar) اجرا می کنند که قادر است فشرده سازی حجم فایل را انجام دهد:

# Create compressed gzip archive.
tar -czf file.tar.gz inputfile1 inputfile2
 
# Extract .gz archive.
tar -xzf file.tar.gz

 

اگر سیستم عاملتان نسخه tar  را ندارد ، برای کاهش حجم آرشیو فایل میتوانید از compress ، zcat، gzip  استفاده کنید .

 Md5sum

یونیکس چندین دستور و فرمان hash ازجمله sha1sum، md5sum و غیره را ساخته است این ابزار خط فرمان ،برنامه های کاربردی مختلفی در برنامه نویسی دارند، اما مهمتر از همه این است که می توانند برای بررسی یکپارچگی و صحت فایل ها استفاده شوند.

برای مثال، اگر شما یک فایل .iso را از یک منبع غیر قابل اعتماد و ناامن دانلود کرده اید، ممکن است که آن فایل حاوی اسکریپت هایمضرباشد.برای اطمینان حاصل کردن از این که فایل .iso امن هست، می توانید یک  5md یا هش دیگری از آن تولید کنید.

پس از آن می توانید رشته تولید شده را با آنچه که از نویسنده اصلی ارائه شده مقایسه کنید.(برای مثال UbuntuHashes)

 Htop

Htop یک جایگزین قدرتمند تری نسبت به taskmanger ساخته شده است.Htop یک رابط پیشرفته با گزینه های فراوانی برای نظارت و ارزیابی و کنترل کردن فرایندهای سیستم فراهم میکند.

اگرچه آن در ترمینال اجرا می شود ،اما Htop دارای پشتیبانی بسیار خوبی برای کنترل های موس است. که باعث آسانی در هدایت کردن منو ها ،فرایندهای انتخاب،سازمان دهی task ها،فیلتر کردن و مرتب سازی می شود

 Ln

لینکها در یونیکس شبیه به shortcutها درویندوز هستند، که به شما این امکان را می دهندکه به فایل های خاص دسترسی سریع داشته باشید .لینک ها از طریق دستور ln  ایجاد می شوند ومیتوانند دارای دو نوع سخت (hard) یا سمبولیک (symbolic) باشند هر نوع دارای ویژگی های مختلفی می باشند و برای موارد مختلف مورد استفاده قرار می گیرند.

 

در اینجا یک مثال از یکی از روش های بیشمار استفاده از لینک را می بینید. ما یک دایرکتوری بر روی دسکتاپ با نامScript  داریم که شامل اسکریپت منظم سازماندهی شده bash  می باشد که معمولا از آن استفاده می کنیم. هر بار که می خواهیم یکی از اسکریپت ها را فراخوانی کنیم، باید این کار را انجام دهیم:

بدیهی است اینکه هربار ما مجبور باشیم مسیر مطلق رو بنویسیم کارخیلی راحتی نیست .در عوض می توانیم یک symlink از پوشه اسکریپت ها را به مسیر/usr/local/bin ایجاد کنیم که باعث اجرای اسکریپت ها از تمام پوشه ها می شود.

ما اکنون می توانیم باsymlink  ایجاد شده اسکریپتمان را به سادگی با نوشتن نام آن در هر ترمینال باز فراخوانی کنیم.

 SSH

از طریق  دستور ssh ، کاربران میتوانند به سرعت به یک remote host متصل شوند ، و به یونیکس شل خود(unix shell) وارد شوند ، این مورد باعث ارسال مستقیم و راحت دستورها به سرور از ترمینال دستگاه محلی شما می شود 

برای برقراری ارتباط که کار ساده ای می باشد شما باید ip آدرس درست یا url را مشخص کنید . وقتی که برای اولین بار به یک سرور جدید متصل می شوید نوعی احراز هویت وجود خواهد داشت .

ssh username@remote_host

 

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

ssh username@remote_host ls /var/www
 
some-website.com
some-other-website.com

 

شما با ssh کارهای زیادی مثل ایجاد پروکسی و تونل ها ،امن کردن اتصال از طریق کلیدهای خصوصی(private keys)،انتقال فایل ها وبسیاری دیگر...  را نیز می توانید انجام بدهید.

Grep

Grep ابزار استاندارد یونیکس برای پیداکردن رشته ها در داخل متن است . یک ورودی را به شکل یک فایل یا دایرکت استریم (direct stream) میگیرد ،محتوای آن را از طریق یک عبارت منظم (regular expression) اجرا کرده و تمام خط هایی را که با محتوای ما یکسان بوده اند را بر میگرداند .

این دستورهنگام کار با فایل های بزرگ که باید فیلتر شوند مفید است ما از grep با ترکیبش با دستورات Date استفاده میکنیم برای جست و جو در یک log file بزرگ تا یک فایل جدید که حاوی خطاهای امروز است را تولید کنیم

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

 Alias

بسیاری از دستورات یونیکس ، از جمله همین دستوراتی که در همین مقاله راجع به آن صحبت کردیم ،بعد از اضافه کردن تمامی آپشن ها (منظور از آپشن یعنی همان" -" که به بعضی از دستورات اضافه می شوند می باشد) به دستورات آن ها بسیار طولانی می شوند،برای این که حفظ کردن آن ها آسان تر شوند شما میتوانید با استفاده از دستورalias ساخته شده درون bashنام های مستعار کوتاه ایجاد کنید.

نام مستعار فقط  تا وقتی که ترمینال را باز نگه دارید در دسترس خواهد بود.برای دائمی کردن آن شما باید فرمان alias را  (alias command)  به فایل .bashrc اضافه کنید.

نظرات کاربران در رابطه با این دوره

جهت ثبت نظر باید در سایت عضو شوید و یا وارد سایت شده باشید .
logo-samandehi