بررسی دستورات Linux در Raspberry pi – { بخش اول }
مقدمه
یکی از مشکلاتی که شاید یک فرد هنگام کار با رزبری پای با آن به مشکل بخورد ، این است که ما تاکنون با سیستم عامل ویندوز کار کرده ایم و وقتی که سیستم عامل را بر روی رزبری پای نصب میکینیم ، با یک سیستم عامل لینوکسی روبرو هستیم که که با کمک ترمینال آن میتوانیم بسیاری از کارها را انجام دهیم. البته ناگفته نماند که بدون ترمینال هم میتوان کارهای بسیار زیادی را با خود سیستم عامل انجام داد ولی استفاده از ترمینال قدرت بسیار زیادی به ما می دهد.
در این جلسه قصد داریم مهمترین دستورات Linux برای Raspberry pi را با یکدیگر مرور کنیم تا بهتر بتوانیم با Raspberry pi کار کنیم.
طبیعتا برای مرور این دستورات ما صرفا به یک ترمینال نیاز داریم که میتوانیم به کمک SSH به آن دسترسی داشته باشیم. در جلسه زیر ما نحوه دسترسی به ترمینال به کمک SSH را بررسی کرده ایم که در صورت عدم آشنایی میتوانید به آن مراجعه کنید:
در صورتی که نخواهید از SSH استفاده کنید ، میتوانید از قسمت Accessories سیستم عامل Raspbian به ترمینال دسترسی داشته باشید.
نکته مهم : لطفا هنگام خواندن این متن ترمینال Raspbian جلوی شما باز باشد و تک تک دستورات را در آن وارد کنید و ببینید که نتیجه بدست آمده با نتیجه توضیح داده شده یکی می باشد یا خیر.
معرفی دستورات مهم
پس از باز کردن ترمینال اولین چیزی که مشاهده میکنید به صورت زیر می باشد:
pi@raspberrypi ~ $
اما اجازه دهید به صورت دقیق تر بررسی کنیم که هر کدام از کلمه های بالا به چه معناست. شکل زیر را ببینید:
حال اجازه دهید کمی در مورد directory ها توضیح دهیم.
در واقع directory ها مسیر فایل ها و فولدرهای شما است. وقتی directory شما مثلا home/pi/ می باشد ، این بدان معناست که ما در فولدر home هستیم و در این فولدر نیز در فولدر pi هستیم.
در اولین گام میخواهیم بدانیم که در چه دایرکتوری قرار دادیم. ممکن است ما کلی با سیستم کار کرده باشیم و بین دایرکتوری های مختلف جا به جا شده باشیم و اکنون میخواهیم بدانیم که در چه دایرکتوری قرار داریم. برای این کار کافی است از دستور pwd استفاده کنیم. این دستور مخفف عبارت print working directory می باشد و واضح است که دایرکتوری ای که ما داریم در آن کار میکنیم را به ما نشان می دهد.
در صورتی که این دستور را هنگامی که ترمینال را باز میکنید ، اجرا کنید ، به شما home/pi/ را نشان می دهد. این همان دایرکتوری ای می باشد که ما همه فایل هایمان را در آن ذخیره می کنیم.
در مرحله بعد میخواهیم بدانیم که در دایرکتوری ای که قرار داریم چه فایل هایی وجود دارد. برای اینکار از دستور ls استفاده میکنیم. با اجرای این دستور به نتیجه ای مشابه با زیر خواهیم رسید :
pi@raspberrypi:~$ ls clearram.sh cut indiecity python_games RetroPie-Setup config.txt.save Desktop octogen RAMP Scratch config.txt.save.1 Documents octopress RetroPie storage
همانطور که میبینید ، ls به ما لیستی از فایل ها را نشان داد. اما این لیست آن قدرها هم کامل نیست. در واقع با این دستور ما فایل های hidden را مشاهده نمیکنیم. برای این که فایل های مخفی شده همراه با برخی از جرییات آنها را مشاهده کنیم باید از دستور ls -la استفاده کنیم. این دستور به ما لیستی از تمام فایل ها همراه با برخی از جزییات آنها را به ما نشان می دهد. با اجرای این دستور خواهیم داشت :
drwxr-xr-x 33 pi pi 4096 Jan 18 18:07 . drwxr-xr-x 3 root root 4096 Dec 16 11:39 .. -rw------- 1 pi pi 7996 Jan 22 20:49 .bash_history -rw-r--r-- 1 pi pi 220 Dec 15 09:40 .bash_logout -rw-r--r-- 1 pi pi 238 Jan 1 01:48 .bash_profile -rw-r--r-- 1 pi pi 3324 Jan 1 01:48 .bashrc drwxr-xr-x 7 pi pi 4096 Dec 30 12:00 .cache -rwxr-xr-x 1 root root 982 Dec 24 03:18 clearram.sh drwxr-xr-x 9 pi pi 4096 Dec 26 21:15 .config -rwxr-xr-x 1 pi pi 1205 Dec 24 03:11 config.txt.save -rwxr-xr-x 1 pi pi 1205 Dec 24 03:11 config.txt.save.1 -rw-r--r-- 1 pi pi 0 Dec 27 22:57 cut drwx------ 3 pi pi 4096 Dec 26 20:49 .dbus drwxr-xr-x 2 pi pi 4096 Dec 30 13:39 Desktop drwxr-xr-x 2 pi pi 4096 Dec 31 18:29 .dgen drwx------ 2 pi pi 4096 Jan 18 18:07 .dillo drwxr-xr-x 3 pi pi 4096 Dec 26 21:07 Documents drwxr-xr-x 3 pi pi 4096 Dec 31 18:29 .emulationstation -rw------- 1 pi pi 16 Dec 26 20:49 .esd_auth drwxr-xr-x 2 pi pi 4096 Dec 30 13:39 .etracer drwx------ 3 pi pi 4096 Jan 18 18:07 .fltk drwxr-xr-x 2 pi pi 4096 Dec 30 12:00 .fontconfig drwxr-xr-x 3 pi pi 4096 Jan 1 03:08 .gem drwxr-xr-x 24 pi pi 4096 Dec 30 12:48 .gimp-2.8 drwxr-xr-x 2 pi indiecity 4096 Dec 26 21:43 .gstreamer-0.10 drwx------ 2 pi pi 4096 Dec 26 20:49 .gvfs drwxr-xr-x 3 pi indiecity 4096 Dec 26 21:13 indiecity drwx------ 3 pi pi 4096 Dec 26 21:14 .local -rw------- 1 pi pi 176 Dec 29 20:42 .mysql_history drwxr-xr-x 4 pi pi 4096 Jan 1 12:54 octogen drwxr-xr-x 8 pi pi 4096 Jan 1 12:36 octopress -rw-r--r-- 1 pi pi 675 Dec 15 09:40 .profile drwx------ 2 pi pi 4096 Dec 29 00:56 .pulse -rw------- 1 pi pi 256 Dec 26 20:49 .pulse-cookie drwxrwxr-x 2 pi pi 4096 Jul 20 2012 python_games drwxr-xr-x 2 pi pi 4096 Dec 26 21:29 RAMP drwxr-xr-x 3 pi pi 4096 Jan 1 01:45 .rbenv drwxr-xr-x 7 pi pi 4096 Dec 31 18:29 RetroPie drwxr-xr-x 6 pi pi 4096 Dec 31 18:29 RetroPie-Setup drwxr-xr-x 24 pi pi 4096 Jan 1 01:53 .rvm drwxr-xr-x 3 pi pi 4096 Dec 26 21:07 .scratch drwxr-xr-x 2 pi pi 4096 Dec 26 21:07 Scratch drwxr-xr-x 2 pi pi 4096 Dec 26 20:25 storage drwx------ 5 pi pi 4096 Dec 30 12:04 .thumbnails drwx------ 2 pi pi 4096 Dec 26 21:07 .vnc -rw------- 1 pi pi 162 Dec 26 21:01 .Xauthority -rw------- 1 pi pi 27793 Jan 23 20:55 .xsession-errors -rw-r--r-- 1 pi pi 118 Jan 1 01:48 .zprofile -rw-r--r-- 1 pi pi 59 Jan 1 01:48 .zshrc
حال با یک لیست بزرگ و عجیب و غریب روبرو هستیم که برخی از فایل ها در ابتدای خود نقطه (.) دارند. این فایل ها همان فایل های مخفی شده هستند. ما میتوانیم در لینوکس فایل های خود را به کمک نقطه به حالت مخفی تبدیل کنیم.
دستورات مربوط به مسیردهی در لینوکس :
یکی از فولدرهایی که در دایرکتوری قبل ما آن را مشاهده کردیم ، فولدر Desktop است. در این فولدر تمامی فایل ها و فولدرهایی که ما در Desktop خود ذخیره کرده ایم ، قرار دارد. حال برای این که وارد این فولدر شویم ، کافی است تا از دستور cd استفاده کنیم:
cd Desktop
cd مخفف عبارت change directory می باشد و یکی از دستورات بسیار پر استفاده در لینوکس می باشد. با اجرای این دستور ما وارد فولدر Desktop شده ایم. حال میتوانیم با دستور ls -la به لیست کاملی از فایل ها و فولدرهایی که در فولدر Desktop قرار دارد ، دسترسی داشته باشیم.
حال اگر بخواهیم به یک فولدر بالاتر برگردیم کافی است از دستور .. cd استفاده کنیم. با هر بار اجرای این دستور میتوانیم به یک مرحله بالاتر برویم. با اجرای چند باره این دستور به root میرسیم. روش دیگر برای رسیدن به root استفاده از دستور / cd می باشد.
حال اگر دستور pwd را اجرا کنیم به ما / نشان می دهد که به این معنی است که ما در root هستیم.
حال تصور کنید که دوباره میخواهیم به فولدر Deskop برگردیم. برای این کار دو روش وجود دارد. گام اول این است که با دستور cd وارد home شویم. سپس مجددا از cd استفاده کنیم و وارد pi شویم. در نهایت نیز با اجرای دوباره cd وارد فولدر Desktop شویم. یعنی چیزی شبیه به شکل زیر :
cd home cd pi cd Desktop
همانطور که میبینید ما از سه دستور برای این کار استفاده کرده ایم که قطعه بهینه نیست. راه دیگر این است که به دستور cd مستقیما مسیر اصلی را بدهیم. به این صورت :
cd /home/pi/Desktop
در شکل زیر این دو روش را با یکدگیر مقایسه کرده ایم :
توجه کنید که ما صرفا میتوانیم به فولدرهای دسترسی داشته باشیم که اجازه دسترسی داریم.
مسیریابی های پیشرفته در لینوکس :
حال میخواهیم کمی پیشرفته تر به این موضوع بپردازیم. فرض کنید که در/home/pi/Desktop هتسید و میخواهید وارد /home/pi/Documents شوید. برای این کار سه راه وجود دارد.
راه اول : یک گام به عقب برگردید و با دستور cd به پوشه Document بروید:
cd .. cd Documents
راه دوم : به صورت مستقیم مسیر پوشه Doecument را بدهید :
cd /home/pi/Documents
راه سوم : از دستور مربوط به این روش را ببینید:
cd ../Documents/
پارامتر اول در واقع به ما میگوید که یک گام به عقب تر برگردیم و پارامتر دوم هم آدرس دقیقی است که میخواهیم به آنجا برویم.
یکی از مواقعی که این نوع مسیر دهی به ما کمک می کند در کپی کردن فایل هاست. برای کپی کردن از دستور cp استفاده میکنیم. فرض کنید که میخواهیم فایل mytest.txt را در فولدر Document کپی کنیم و اکنون هم در فولدر Desktop هستیم. در این صورت تنها کافی است از دستور زیر استفاده کنیم:
cp mytest.txt ../Documents
خوب دوستان. به پایان این جلسه رسیدیم. در پایان این جلسه برای درک بهتر چندین تمرین ارایه می شود که حتما پیشنهاد می شود آنها را انجام دهید.
سوال 1 : در دستور ls با کمک la- هم فایل های مخفی را مشاهده کردیم و هم اطلاعاتی راجع به آنها کسب کردیم. تحقیق کنیم که اگر فقط بخواهیم فایل های مخفی را مشاهده کنیم ، باید از چه دستوری استفاده کنیم؟ سوال 2: گاهی اوقات برای انجام برخی کارها (مثل کپی در برخی فولدرهای سیستم عامل) نیاز به انجام یک کار با اجازه admin داریم و بدون آن نمیتوان این کار را انجام داد. تحقیق کنید که برای این کار چه دستوری وجود دارد. کلمه کلیدی مربوط به این دستور مخفف چه عبارتی می باشد؟ سوال 3 : فرض کنید که در فولدر Desktop قرار داریم و میخواهیم یک فولدر با نام robouav در آن ایجاد کنیم. این کار را به کمک چه دستوری میتوان انجام داد؟
مثل همیشه میتوانید ما را در تلگرام و یا اینستاگرام دنبال کنید:
دیدگاهتان را بنویسید