برای خوانندگان در خانه: این فصل در ویدئو دوست جدید شما: Command Line توضیح داده شده است.
هیجان انگیز است! شما تا چند دقیقه دیگر اولین خط کد خود را خواهید نوشت! :)
بگذارید شما را به اولین دوست جدیدتان معرفی کنیم: خط فرمان!
این مراحل به شما یاد میدهد که چطور از این پنجره سیاهی استفاده کنید که همه هکرها از آن استفاده میکنند. ممکن است در ابتدا کمی ترسناک به نظر بیاید ولی این فقط یک علامت است که نشان میدهد سیستم منتظر فرمانهای شماست.
نکته توجه داشته باشید که در این دوره آموزشی ما بارها از دایرکتوری یا پوشه صحبت کرده ایم هر دو این مفاهیم یکی هستند.
این پنجره که معمولاً command line یا صفحه خط فرمان گفته میشود یک نرم افزار مبتنی بر متن است که برای مشاهده، مدیریت و تغییر فایلها از آن استفاده میشود. شباهت زیادی به ویندوز اکسپلورر یا فایندر در مک دارد با این تفاوت که اینترفیس گرافیکی ندارد. نام های دیگر خط فرمان اینها هستند: cmd, CLI, prompt, console ، terminal.
برای اینکه کمی تجربه کنیم باید ابتدا اینترفیس خط فرمان را باز کنید.
{% include "/intro_to_command_line/open_instructions.md" %}
شما صفحهای سیاه یا سفید خواهید دید که منتظر دستورات شماست.
اگر بر روی مک یا لینوکس کار میکنید، ممکن است یک علامت $
ببینید:
{% filename %}خط فرمان{% endfilename %}
$
بر روی ویندوز، احتمالاً علامت >
را خواهید دید:
{% filename %}خط فرمان{% endfilename %}
>
به بخش لینوکس در بالا نگاه کنید، چیزی که در آنجا میبینید بسیار شبیه چیزی است که در وبسایت PythonAnywhere و در ادامه این دوره آموزشی خواهید دید.
هر دستور با یک پیشوند $
یا >
و یک اسپیس نشان داده شدهاند، ولی شما نباید آنها را تایپ کنید کامپیوتر آن را قبل از هر دستور شما گذاشته است. :)
یک نکته کوچک: ممکن است در کامپیوتر شما چیزهایی شبیه به
C:\Users\ola>
یاOlas-MacBook-Air:~ ola$
قبل از علامت پرامت باشد که کاملاً طبیعی است.
به بخشی که از ابتدای خط تا علامت $
یا >
را شامل میشود command line prompt یا به طور خلاصه prompt گفته میشود (prompt به معنی تشویق کردن و برانگیختن است). این علامت شما را تشویق میکند تا جلوی آن چیزی بنویسید.
در این دوره آموزشی وقتی که از شما میخواهیم که دستوری را بنویسید، معمولاً در سمت چپ آن $
یا >
را گذاشتهایم. این تکه را در نظر نگیرید و فقط دستور را که بلافاصله بعد از پرامت قرار دارد تایپ کنید.
بیایید با تایپ این دستور شروع کنیم:
{% filename %}خط فرمان{% endfilename %}
$ whoami
{% filename %}خط فرمان{% endfilename %}
> whoami
و سپس کلید enter
را بزنید. نتیجه این خواهد بود:
{% filename %}خط فرمان{% endfilename %}
$ whoami
olasitarska
همانطور که میبینید کامپیوتر نام کاربری شما را نشان میدهد. جالب نیست؟ :)
برای امتحان کردن هر دستور آن را کپی نکیند. با تایپ کردن بهتر یاد خواهید گرفت!
هر سیستم عامل، مجموعه دستورات کمی متفاوت برای خط فرمان، با دیگر سیستم عاملها دارد، بنابراین مطمئن شوید که دستورالعملهای سیستم عامل خود را دنبال میکنید. حالا این را امتحان کنیم، آماده اید؟
بسیار خوب است که بفهمیم در کدام دایرکتوری هستیم. این دستور را تایپ کنید و کلید enter
را بزنید:
{% filename %}خط فرمان{% endfilename %}
$ pwd
/Users/olasitarska
نکته: 'pwd' مخفف 'print working directory' به معنی 'دایرکتوری در حال اجرا را چاپ کن' است.
{% filename %}خط فرمان{% endfilename %}
> cd
C:\Users\olasitarska
نکته: 'cd' مخفف 'change directory' به معنی 'دایرکتوری را عوض کن'. در نرم افزار PowerShell در ویندوز شما میتوانید مانند لینوکس یا مک از دستور pwd استفاده کنید.
احتمالاً چیزی شبیه به این را بر روی کامپیوتر خود دیده اید. وقتی پنچره خط فرمان را باز میکنید معمولاً در دایرکتوری home اکانت کاربری خود هستید.
بسیاری از فرمانهایی که شما میتوانید در پرامت فرمان تایپ کنید یک راهنمای داخلی دارند که میتوانید آن را ببینید و بخوانید! مثلاٌ برای آنکه در مورد فرمان دایرکتوری جاری بیشتر بدانید:
macOS و لینوکس یک فرمان man
دارند که در مورد فرمانها کمک زیادی میکند. دستور man pwd
را امتحان کنید و ببینید که چه میشود. یا دستور man
را قبل از فرمانهای دیگر قرار دهید تا راهنمای داخلی آنها را ببینید. خروجی فرمان man
صفحه بندی شده است. با کمک کلید اسپیس به صفحه بعد بروید و با زدن q
از راهنما خارج شوید.
اضافه کردن یک پسوند /?
به اکثر فرمانها باعث میشود که صفحه راهنما نشان داده شود. لازم است صفحه را به سمت بالا اسکرول کنید تا تمام آن را ببینید. cd /?
را امتحان کنید.
چی توش هست؟ خوبه که بفهمیم. نگاه کنید:
{% filename %}خط فرمان{% endfilename %}
$ ls
Applications
Desktop
Downloads
Music
...
{% filename %}خط فرمان{% endfilename %}
> dir
Directory of C:\Users\olasitarska
05/08/2020 07:28 PM <DIR> Applications
05/08/2020 07:28 PM <DIR> Desktop
05/08/2020 07:28 PM <DIR> Downloads
05/08/2020 07:28 PM <DIR> Music
...
نکته: در PowerShell شما میتوانید مانند لینوکس یا macOS از دستور 'ls' استفاده کنید.
حالا به دایرکتوری Desktop کامپیوترمان برویم:
{% filename %}خط فرمان{% endfilename %}
$ cd Desktop
{% filename %}خط فرمان{% endfilename %}
$ cd Desktop
توجه داشته باشید که ممکن است دایرکتوری Desktop به زبان کاربری تعیین شده در لینوکس شما ترجمه شود. اگر چنین اتفاقی افتاد لازم است که شما Desktop
را با نام ترجمه شده عوض کنید؛ مثلاً برای زبان آلمانی با Schreibtisch
عوض کنید.
{% filename %}خط فرمان{% endfilename %}
> cd Desktop
بررسی کنید که آیا واقعاً دایرکتوری جاری عوض شد:
{% filename %}خط فرمان{% endfilename %}
$ pwd
/Users/olasitarska/Desktop
{% filename %}خط فرمان{% endfilename %}
> cd
C:\Users\olasitarska\Desktop
بله درست شد!
نکته حرفهای: اگر شما تایپ کنید
cd D
و بعد کلیدtab
را بر روی کیبورد بزنید، خط فرمان ادامه فرمان شما را تایپ خواهد کرد بنابراین سریعتر میتوانید حرکت کنید. اگر دایرکتوری هایی که با "D" شروع میشوند بیشتر از یکی باشند، با دوبار زدن کلیدtab
لیستی از آنها را خواهید دید.
چطور است که یک دایرکتوری آزمایشی بر روی دسکتاپ بسازیم؟ به این روش میتوانید انجام دهید:
{% filename %}خط فرمان{% endfilename %}
$ mkdir practice
{% filename %}خط فرمان{% endfilename %}
> mkdir practice
این دستور کوچک یک دایرکتوری به نام practice
بر روی دسکتاپ شما خواهد ساخت. شما میتوانید با اجرا کردن دستور ls
یا dir
بررسی کنید که آیا این دایرکتوری روی Desktop هست یا نه! آن را امتحان کنید. :)
نکته حرفهای: اگر دوست ندارید یک دستور را بارها و بارها تایپ کنید، کلید
up arrow
یا جهت بالا وdown arrow
یا جهت پایین را بر روی کیبورد بزنید تا فرمانهایی که اخیراً زده اید را ببینید.
یک چالش کوچک برای شما: در این دایرکتوری practice
که اخیراٌ ساخته اید، یک دایرکتوری به نام test
بسازید. (از دستور cd
و mkdir
استفاده کنید.)
{% filename %}خط فرمان{% endfilename %}
$ cd practice
$ mkdir test
$ ls
test
{% filename %}خط فرمان{% endfilename %}
> cd practice
> mkdir test
> dir
05/08/2020 07:28 PM <DIR> test
تبریک! :)
نمیخواهیم همه جا را شلوغ کنیم، پس بیایید همه چیزهایی که ساخته ایم را پاک کنیم.
اول از همه باید به Desktop برویم:
{% filename %}خط فرمان{% endfilename %}
$ cd ..
{% filename %}خط فرمان{% endfilename %}
> cd ..
استفاده کردن از ..
به همراه دستور cd
باعث خواهد شد که به دایرکتوری parent بروید (parent دایرکتوری است که دایرکتوری جاری درون آن قرار دارد).
بررسی کنید که کجا هستید:
{% filename %}خط فرمان{% endfilename %}
$ pwd
/Users/olasitarska/Desktop
{% filename %}خط فرمان{% endfilename %}
> cd
C:\Users\olasitarska\Desktop
حالا وقت پاک کردن دایرکتوری practice
است:
توجه: پاک کردن فایلها با
del
یاrmdir
یاrm
غیر قابل بازگشت است به این معنی که فایلهای پاک شده برای همیشه از بین میروند! بنابراین هنگام کار با این دستورها بسیار احتیاط کنید.
{% filename %}خط فرمان{% endfilename %}
$ rm -r practice
{% filename %}خط فرمان{% endfilename %}
> rmdir /S practice
practice, Are you sure <Y/N>? Y
انجام شد! برای اینکه مطمئن شوید پاک شده است آن را چک کنید:
{% filename %}خط فرمان{% endfilename %}
$ ls
{% filename %}خط فرمان{% endfilename %}
> dir
برای الان کافی است! شما میتوانید به راحتی خط فرمان را ببندید. بیایید به روش هکرها انجامش دهیم، باشه؟ :)
{% filename %}خط فرمان{% endfilename %}
$ exit
{% filename %}خط فرمان{% endfilename %}
> exit
با حال بود، نه؟ :)
اینجا چکیدهای از دستورات مهم آورده شده:
دستورات (Windows) | دستورات (Mac OS / Linux) | توضیحات | مثال |
---|---|---|---|
exit | exit | بستن پنجره خط فرمان | exit |
cd | cd | تغییر دایرکتوری | cd test |
cd | pwd | نشان دادن دایرکتوری جاری | cd (Windows) or pwd (Mac OS / Linux) |
dir | ls | لیست کردن دایرکتوری/فایل ها | dir |
copy | cp | کپی کردن فایل | copy c:\test\test.txt c:\windows\test.txt |
move | mv | جا به جا کردن فایل | move c:\test\test.txt c:\windows\test.txt |
mkdir | mkdir | ساختن یک دایرکتوری جدید | mkdir testdirectory |
rmdir (or del) | rm | حذف کردن یک فایل | del c:\test\test.txt |
rmdir /S | rm -r | حذف کردن یک دایرکتوری | rm -r testdirectory |
[CMD] /? | man [CMD] | دیدن راهنمای یک دستور | cd /? (Windows) or man cd (Mac OS / Linux) |
اینها تعداد بسیار کمی از دستوراتی هستند که میتوانید در خط فرمان اجرا کنید، اما امروز چیزی بیشتر از اینها لازم ندارید.
اگر علاقمند هستید، وبسایت ss64.com مرجع کاملی از انواع فرمانها برای سیستم عاملهای مختلف دارد.
حالا در پایتون شیرجه بزنیم!