سیستم عامل ویندوز، بیشتر متکی بر محیط گرافیکی میباشد. کسانی که با ویندوز کار میکنند، معمولا تمامی کارها را با کلیک موس و در محیط گرافیکی انجام میدهند. محیط گرافیکی در، سیستم عامل لینوکس هم، نسبت به قبل، کاربرپسند شده است. برنامههایی مثل، لیبرآفیس ( برنامهی مشابه آفیس ویندوز) ، پخش فیلم و یا گیمپ (برنامهی مشابه فوتوشاپ) در محیط گرافیکی لینوکس، انجام میپذیرد. اما در صورتی که بخواهیم، از قابلیتهای پیشرفته، خصوصا در زمینهی مدیریت سرویسهای شبکه از این سیستم عامل استفاده نماییم باید از محیط متنی آن استفاده نماییم. ارتباط کاربر با سیستم عامل، از طریق یک رابط متنی، به نام پوسته و یا شل انجام میپذیرد. برای استفاده از شل، در محیط گرافیکی از یک شبیهساز یا امولاتور به نام ترمینال یا کنسول استفاده مینماییم. با این مقدمه، اگر به یادگیری خط فرمان در لینوکس علاقهمند هستید این مطلب را دنبال نمایید.
خط فرمان لینوکس یا command line
خط فرمان ، به واسط متنی هر پلتفرم لینوکس میگویند. که به نامهای پوسته یا شل، ترمینال، کنسول، prompt و از این قبیل نامیده میشود. برای استفاده از محیط متنی در لینوکس برنامهی ترمینال را اجرا میکنیم. در اوبونتو میتوانیم برای اجرای ترمینال، از کلید میانبر Ctrl-Alt-T استفاده نماییم. پس از اجرای امولاتور ترمینال، محیطی شبیه محیط زیر را مشاهده میکنیم.
همانطور که مشاهده میکنید، در خط فرمان، یعنی جایی که فرمانها از آن خط اجرا میشود، عبارت: kazemian@upgradeit ، وجود دارد. kazemian، نام کاربری است که با آن به سیستم وارد شدهایم. upgradeit، نام سیستم است. در صورتی که بعد از عبارت کاراکتر # بود به معنی ورود با کاربر root است. کاراکتر $ و یا ٪ نشان دهنده این است که ورود با کاربر root نیست. در اینجا، ورود با کاربر غیر root است.
ساختار دستور یا command
هر کامند، یا دستور، دارای سه قسمت است. command یا خود دستور، متغیر و آرگومان.
دستور
دستورها در لینوکس، نرمافزارهای اجرایی هستند که یا دستورات مربوط به خود سیستم عامل را شامل میشوند و یا برنامههای کاربردی مختلف هستند. مثلا دستور ls، مربوط به لیست گرفتن از فایلها و دایرکتوریها میباشد.
1 2 3 4 5 6 7 |
root@upgradeit:/home/kazemian# ls Desktop Documents Pictures test Diagram1.dia.autosave Downloads Public Videos Diagram2.dia.autosave Music Templates root@upgradeit:/home/kazemian# |
آپشن
آپشنها یا متغیرها، نحوه و شرایط اجرای دستور را تعیین می کنند. برای بدست آوردن روش بکارگیری آپشنهای یک دستور، از دستور man استفاده نمایید. روش استفاده از صفحان راهنما در این پست توضیح داده شده است. به عنوان مثال دستور ls -al، لیست فایلها و دایرکتوریهای جاری و فایلها و دایرکتوریهای Hidden را باجزيیات بیشتری نمایش میدهد. برخی از آپشنها، در دوحالت اختصاری و طولانی نوشته میشود. مثلا دستور ls -a به صورت ls –all نیز نوشته میشود و عملکرد یکسانی را نمایش میدهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
kazemian@upgradeit:~$ ls -al total 120 drwxr-xr-x 19 kazemian kazemian 4096 Nov 11 17:42 . drwxr-xr-x 3 root root 4096 Aug 23 16:43 .. -rw------- 1 kazemian kazemian 2914 Nov 17 11:15 .bash_history -rw-r--r-- 1 kazemian kazemian 220 Aug 23 16:43 .bash_logout -rw-r--r-- 1 kazemian kazemian 3771 Aug 23 16:43 .bashrc drwx------ 18 kazemian kazemian 4096 Aug 31 22:05 .cache drwx------ 14 kazemian kazemian 4096 Aug 31 22:05 .config drwx------ 3 kazemian kazemian 4096 Aug 23 17:21 .dbus drwxr-xr-x 2 kazemian kazemian 4096 Aug 23 17:02 Desktop drwxr-xr-x 5 kazemian kazemian 4096 Aug 31 21:31 .dia -rw-rw-r-- 1 kazemian kazemian 1724 Aug 31 21:51 Diagram1.dia.autosave -rw-rw-r-- 1 kazemian kazemian 928 Sep 7 08:42 Diagram2.dia.autosave drwxr-xr-x 2 kazemian kazemian 4096 Aug 31 22:08 Documents drwxr-xr-x 3 kazemian kazemian 4096 Aug 26 12:05 Downloads drwx------ 3 kazemian kazemian 4096 Aug 23 17:31 .gnupg drwxrwxr-x 4 kazemian kazemian 4096 Oct 14 09:22 .java drwx------ 3 kazemian kazemian 4096 Aug 23 17:02 .local drwx------ 5 kazemian kazemian 4096 Aug 31 21:49 .mozilla drwxr-xr-x 2 kazemian kazemian 4096 Aug 23 17:02 Music -rw-r--r-- 1 kazemian kazemian 310 Aug 23 17:43 .pam_environment drwxr-xr-x 2 kazemian kazemian 4096 Aug 23 17:49 Pictures -rw-r--r-- 1 kazemian kazemian 807 Aug 23 16:43 .profile drwxr-xr-x 2 kazemian kazemian 4096 Aug 23 17:02 Public drwx------ 2 kazemian kazemian 4096 Aug 23 17:03 .ssh -rw-r--r-- 1 kazemian kazemian 0 Aug 23 17:03 .sudo_as_admin_successful drwxr-xr-x 2 kazemian kazemian 4096 Aug 23 17:02 Templates -rw-rw---- 1 kazemian kazemian 0 Oct 4 19:15 test -rw-r----- 1 kazemian kazemian 5 Oct 14 16:00 .vboxclient-clipboard.pid -rw-r----- 1 kazemian kazemian 5 Oct 14 16:00 .vboxclient-display-svga-x11.pid -rw-r----- 1 kazemian kazemian 5 Oct 14 16:00 .vboxclient-draganddrop.pid -rw-r----- 1 kazemian kazemian 5 Oct 14 16:00 .vboxclient-seamless.pid drwxr-xr-x 2 kazemian kazemian 4096 Aug 23 17:02 Videos kazemian@upgradeit:~$ |
آرگومان
آرگومانها در هر دستور، حاوی اطلاعات اضافی هستند. مثلا ls -l /etc، در این مثال etc/ آرگومان دستور ls میباشد و مسیر را برای فرمان ls مشخص میسازد.
redirect
در صورتی که بخواهیم، خروجی دستور، به جای مانیتور در یک فایل و یا خروجی دیگری ذخیره گردد از redirect استفاده مینماییم. برای ریدایرکت کردن، بعد از دستور، از کاراکتر < استفاده مینماییم. مثلا برای ذخیرهی خروجی دستور ls -al بر روی فایل test.txt ، از دستور ls -al > test.txt استفاده مینماییم. اگر از کاراکتر < برای redirection بر روی یک فایل، استفاده نماییم، محتوای فایل با محتوای جایگزین میشود. در صورتی که بخواهیم خروجی دستور، در انتهای فایل اضافه شود، از دستور << استفاده مینماییم.
pipe
عمل پایپینگ (piping) ، موقعی به کار میرود که بخواهیم، از خروجی یک دستور، به عنوان ورودی دستور دیگر استفاده نماییم. عمل piping را میتوانیم، برای چند دستور پشت سر هم، به کار میبریم. مثلا در مثال زیر محتوای فایل test.txt توسط دستور cat به ورودی دستور grep برای پیدا کردن کلمهی ahmad داده شده و نتیجهی آن، نمایش داده میشود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
kazemian@upgradeit:~$ cat test.txt Reza Hosseini Hassan Hassani Kamran Naseri Mahdi Kamali Ahmad Rostami Ali Hashemi Ahmad Rezaei kazemian@upgradeit:~$ cat test.txt | grep Ahmad Ahmad Rostami Ahmad Rezaei kazemian@upgradeit:~$ |
دستورات کاربردی لینوکس
در ادامه دستورات کاربردی شامل دستورات مربوط به کار با فایلها و دایرکتوریها و همچنین دستورات کار با فایلهای متنی، را مورد بررسی قرار میدهیم.
دستورات مربوط به فایلها و دایرکتوریها
دستور pwd
دستور pwd دایرکتوری جاری را نشان میدهد.
دستور ls
لیست فایلها و دایرکتوریهای یک مسیر را نشان میدهد. دستور بدون آرگومان خلاصهی لیست دایرکتوری جاری را نشان میدهد. ls -l لیست فایلها و پایرکتوری جاری را با جرئیات بیشتر، نمایش میدهد. ls -al علاوه بر جزئیات، فایلها و دایرکتوریهای مخفی(Hidden) را نیز، نمایش میدهد.
دستور cd
این دستور برای تغییر دایرکتوری به مسیر دایرکتوری که در آرگومان دستور میآید استفاده میشود. مثلا دستور cd /home/kazemian/test مسیر دایرکتوری جاری را به home/kazemian/test/ تغییر میدهد. .. cd مسیر دایرکتوری جاری را به دایرکتوری والد تغییر میدهد. / cd مسیر دایرکتوری را به دایرکتوری ریشه تغییر میدهد.
دستور mkdir
برای ایجاد یک دایرکتوری از این دستور استفاده میشود. مثال:
mkdir /home/kazemian/test1
دستور cp
برای کپی فایل(ها)، به مسیر دیگر، استفاده میگردد. مثال:
cp /home/kazemian/test1/file1 /home/kazemian/test2
برای کپی فایلها و زیردایرکتوریهای یک دایرکتوری از دستور زیر استفاده میکنیم. مثال:
cp -r /home/kazemian/test1/* /home/kazemian/test2
دستور mv
برای انتقال فایل(ها) و دایرکتوری(ها) از یک مسیر به مسیر دیگر استفاده میگردد. مثال:
mv /home/kazemian/test1/file1 /home/kazemian/test2
دستور rm
برای حذف فایل(ها) از این دستور استفاده میشود. مثال:
rm /home/kazemian/test1/file1
برای حذف فایلها و زیردایرکتوریهای یک دایرکتوری از دستور زیر استفاده میکنیم. مثال:
*/rm -r /home/kazemian/test1
دستور rmdir
برای حذف یک دایرکتوری از این دستور استفاده میشود.
دستور touch
برای ایجاد یک فایل با محتویات صفر از این دستور استفاده میشود. مثال:
touch /home/kazemian/file1
دستورات مربوط به محتویات فایلها
دستور cat
برای مشاهدهی محتویات یک فایل متنی، از این دستور استفاده میشود.
دستور head
برای مشاهدهی چند خط ابتدایی یک فایل متنی از این دستور استفاده میشود.
دستور tail
برای مشاهدهی چند خط انتهایی یک فایل متنی از این دستور استفاده میشود
دستور diff
برای مقایسهی دو فایل متنی از این دستور استفاده میشود.
دستور echo
برای نمایش یک متن و یا ارسال یک متن به یک فایل، از این دستور استفاده میشود.
ممنون از مطالبی که گذاشتید.
بسیار مفید و سازنده بود و به من آموزه هایی آموخت که صرفا برای ورود به لینوکس مشتاق کار با آن را ایجاد کرد.
سلام
ممنونم از مطالب کاربردی و جذاب اتون