محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

آموزش 22 دستور لینوکس کاربردی + مثال | دستورات لینوکس مهم

در یادگیری لینوکس و آموزش دستورات لینوکس باید بدانید که دستورات بسیاری زیادی وجود دارند و شما نمی توانید همه آنها را حفظ کنید ، در این مقاله می خواهیم به شما 22 دستور لینوکس پرکاربرد را معرفی کنیم که تقریبا پایه و اساس ساده تر کردن کار با لینوکس را به شما هدیه می دهند. این دستورات بصورت خلاصه و مفید و در قالب یک مثال به شما آموزش داده می شود.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

دستور 1 : کاربرد دستور tty چیست؟

دستور tty به شما terminal ای که به آن وصل شده اید را نمایش می دهد ، با وارد کردن دستور tty همانطور که در نتیجه دستور زیر مشاهده می کنید خروجی pts و عدد 0 را نشان می دهد یعنی terminal ما از نوع pseudo-terminal و pty است ، برای درک بهتر این عدد کافیست اگر از محیط X Desktop لینوکس استفاده می کنید چندین Terminal باز کنید و دستور را در هر کدام وارد کنید ، مشاهده می کنید که دستور در هر Terminal یک عدد اضافه می شود که در واقع مشخص کننده Terminal مورد نظر ما است که در حال کار کردن با آن هستیم ، این مورد در بحث نوشتن Shell Script ها بسیار کاربردی است :

root@itpro-debian:/# tty
/dev/pts/0

در بالا همانطور که مشاهده می کنید عدد 0 در pts به معنی این است که این اولین Terminal باز شده در سیستم عامل است ، حالا من 4 عدد Terminal دیگر در لینوکس خود باز می کنم و نتیجه را مجددا در زیر مشاهده می کنید که عدد 3 به معنی سومین Terminal باز سیستم خواهد بود :

unity@itpro-debian:~$ tty
/dev/pts/3

به نوعی می توان از terminal ای که باز می شود به عنوان یک نوع session با سیستم عامل یاد کرد که هر کدام از این اعداد session های مختلفی را نشان می دهند که با سیستم عامل ایجاد شده است و شما هر تغییری که در آن Session انجام دهید مشخص خواهد بود.

برای ورود به دوره آموزش لینوکس وارد این لینک شوید

دستور 2 : کاربرد دستور which چیست؟

دستور which در لینوکس مسیر فایل اجرایی و یا دستوری که در جلوی آن قرار داده می شود را نشان می دهد ، شما با استفاده از این دستور می توانید متوجه شوید که دستور مورد نظر در کدام دایرکتوری قرار دارد ، برای مثال می خواهیم بدانیم دستور tty از کجا اجرا می شود از دستور which به شکل زیر استفاده می کنیم :

root@itpro-debian:/# which tty
/usr/bin/tty

همانطور که در نتیجه دستور بالا مشاهده می کنید مسیر فایل اجرایی دستور tty در usr//bin//tty// قرار دارد.

دستور 3 : کاربرد دستور whoami چیست؟

اگر می خواهید ببینید با چه نام کاربری شما در حال استفاده کردن از سیستم عامل لینوکس هستید کافیست دستور whoami را در terminal وارد کنید و نام کاربری مورد استفاده را در نتیجه دستور مشاهده خواهید کرد ، دقت کنید همین دستور در سیستم عامل ویندوز و در خط فرمان cmd نیز قابل استفاده است ، به نمونه ای از نتیجه این دستور توجه کنید :

root@itpro-debian:/# whoami
root

همانطور که در نتیجه دستور زیر مشاهده می کنید ما با کاربر root بر روی سیستم login کرده ایم و terminal را نیز با همین کاربر استفاده می کنیم ، در ادامه نکات با دستورات مقدماتی دیگری آشنا خواهید شد.

آموزش مقدماتی دستورات لینوکس قسمت 2 : echo ، history ، reset

دستور 4 : کاربرد دستور echo چیست؟

اگر بخواهید بر روی terminal ای که در آن کار می کنید چیزی را چاپ کنید از دستور echo استفاده می کنید ، دستور echo می تواند در موارد مختلفی مورد استفاده قرار بگیرد ، شما می توانید یک جمله یا کلمه را برای نمایش در terminal ایجاد کنید ، شما می توانید متغیرهای مختلف را در خروجی درخواست چاپ بدهید و ... در زیر سه مثال از کاربردهای مختلف دستور echo را مشاهده می کنید :

root@itpro-debian:/# echo "East,West,ITPRO Is The Best"   چاپ جمله در خروجی
East,West,ITPRO Is The Best


root@itpro-debian:/# echo $USER  چاپ کاربر در حال استفاده از سیستم    
root


unity@itpro-debian:~$ echo $PWD   چاپ مسیر محل دایرکتوری در حال کار    
/home/unity


مشابه همین دستور در سیستم عامل ویندوز هم با همین نام وجود دارد که بیشتر در Batch Scripting ویندوز استفاده می شود.

دستور 5 : کاربرد دستور clear چیست؟

این دستور برای پاک کردن صفحه نمایش استفاده می شود و صفحه را خالی می کند ، معادل دستور cls در DOS است.

unity@itpro-debian:~$ clear


دستور 6 : کاربرد دستور reset چیست؟

دستور reset در لینوکس برای ریست کردن بافر صفحه استفاده می شود.

unity@itpro-debian:~$ reset

دستور 7 : کاربرد دستور history در چیست؟

دستور history یا تاریخچه در لینوکس به شما تمامی دستوراتی که تاکنون در سیستم عامل لینوکس وارد کرده اید را نمایش می دهد ، اگر دستور history را بصورت خالی وارد کنید کلیه دستوراتی که تاکنون در terminal های مختلف لینوکس وارد کرده اید به شما نمایش داده می شود که طبیعتا این دستورات می تواند بسیار زیاد باشد. برای اینکه تعداد دستورات خروجی دستور history را تعریف کنید کافیست بعد از دستور history تعداد خروجی ها را مشخص کنید برای مثال در دستور زیر به ما 10 دستوری که به تازگی در terminal وارد کرده ایم نمایش داده می شود :

root@itpro-debian:/home/unity# history 10
  156  cler
  157  clear
  158  echo "East,West,ITPRO Is The Best"
  159  echo $user
  160  echo $USER
  161  echo $PWD
  162  ifconfig eth0 up
  163  dhclient eth0
  164  clear
  165  history 10


فایلی که BASH History را در خود نگهداری می کند به نام .bash__history در home directory کاربر لینوکس قرار دارد و بصورت مخفی نگهداری می شود.معمولا home directory یک کاربر معمول لینوکس بصورت home//username// نمایش داده می شود و home directory کاربر root نیز به شکل root// نمایش داده می شود. به این نکته هم توجه کنید که می توانید با استفاده از کلیدهای جهت دار بالا و پایین دستوراتی که قبلا وارد کرده اید را مشاهده کنید ، به مثال زیر توجه کنید ، در دستور زیر شما می توانید دستوری که id یا شماره 162 در history دارد را اجرا کنید :

root@itpro-debian:# !162
ifconfig eth0 up

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

root@itpro-debian:/# !!
dhclient eth0
RTNETLINK answers: File exists

دستور دیگری که برای مدیریت کردن history استفاده می شود fc است ، با استفاده از fc شما می توانید شما می توانید دستور مورد نظر را که در history وجود دارد با استفاده از vi editor ویرایش کنید و به محض اینکه از محیط vi editor خارج شوید دستور مورد نظر اجرا خواهد شد. در سیستم عامل ویندوز و محیط cmd شما با استفاده از کلید F7 می توانید تاریخچه مختصری از دستوراتی که اجرا شده اند را نیز مشاهده کنید. در مطالب بعدی با دستورات مقدماتی بیشتری از لینوکس آشنایی پیدا خواهید کرد

دستور 8 : کاربرد دستور find چیست؟

دستور find در لینوکس همانطور که از اسمش هم پیداست برای پیدا کردن فایل با مشخصات تعریف شده در دستور استفاده می شود برای مثال در دستور زیر ما می خواهیم فایل های که اسم آنها fstab هستند را پیدا کنیم :

root@itpro-debian:/# find / -name fstab
/usr/share/doc/mount/examples/fstab
/etc/fstab

همانطور که در نتیجه دستور بالا مشاهده می کنید در دو مسیر می توانیم فایل fstab را پیدا کنیم.

دستور 9 : کاربرد دستور locate چیست؟

دستور locate نیز در لینوکس برای پیدا کردن فایل ها استفاده می شود اما سرعت پیدا کردن فایل ها در locate بسیار زیاد است زیرا این دستور از یک ساختار indexing برای فایل های موجود در سیستم استفاده می کند که باعث سریعتر شدن سرعت جستجوی فایل ها در سیستم عامل می شود ، پایگاه داده دستور locate در مسیر var//lib//mlocate//mlocate.db// قرار گرفته است، این پایگاه داده mlocate.db در لحظه می تواند با استفاده از دستور updatedb ایجاد شود ، در دستورات زیر همانطور که ما مشاهده می کنیم ابتدا فایل mlocate.db را ایجاد می کنیم و سپس فایل هایی که نام آنها fstab هستند را جستجو می کنیم :

root@itpro-debian:/# updatedb
root@itpro-debian:/# locate fstab
/etc/fstab
/etc/fstab.d
/sbin/fstab-decode
/usr/lib/udisks/udisks-helper-fstab-mounter
/usr/share/doc/m4/examples/fstab.m4
/usr/share/doc/mount/examples/fstab
/usr/share/doc/util-linux/examples/fstab.example2
/usr/share/man/man5/fstab.5.gz
/usr/share/man/man8/fstab-decode.8.gz

دستور 10 : کاربرد دستور pwd چیست؟

دستور pwd مخفف کلمه های print working directory است و به معنی نمایش دایرکتوری است که در آن در حال کار هستیم ، اگر برای مثال ما در پوشه Desktop کاربر unity در حال کار کردن با terminal باشیم و دستور pwd را به شکل زیر وارد کنیم نتیجه به شکل زیر خواهد بود :

unity@itpro-debian:~/Desktop$ pwd
/home/unity/Desktop

دستور 11 : کاربرد دستور date چیست؟

دستور date در لینوکس همانطور که در مثال پایین مشاهده می کنید برای نمایش زمان و تاریخ سیستم استفاده می شود :

root@itpro-debian:/# date
Tue Mar 31 13:40:59 EDT 2015


در ادامه با دستورات بیشتری از لینوکس آشنا خواهید شد

دستور 12 : کاربرد دستور shutdown چیست؟

دستور shutdown همانطور که از نامش پیداست برای shutdown کردن و همچنین restart کردن سیستم عامل لینوکس استفاده می شود ، برای مثال دستور اول در مثال پایین برای shutdown کردن سیستم و دستور دوم برای Restart کردن سیستم مورد استفاده قرار می گیرد ، مشابه همین دستور بصورت کپی برداری شده در سیستم عامل ویندوز و در محیط cmd نیز استفاده می شود :

root@itpro-debian:~# shutdown -h now
root@itpro-debian:~# shutdown -r now

دستور 13 : کاربرد دستور cat چیست؟

دستور cat محتویات یک فایل را در یک قالب استاندارد در خروجی چاپ می کند در واقع از این دستور برای مشاهده و لیست کردن محتویات فایل ها استفاده می شود و نکته مهم در این دستور این است که معمولا برای مشاهده کردن محتویات فایل های کوچک استفاده می شود ، شما می توانید از cat برای کپی کردن محتویات و همچنین ایجاد فایل نیز استفاده کنید ، در مثال زیر ما محتویات فایل bash__history. را با استفاده از cat مشاهده می کنیم :

root@itpro-debian:~# cat .bash_history 

دستور 14 : کاربرد دستور cd چیست؟

دستور cd که مخفف کلمه های change directory در لینوکس است همانطور که از نامش پیداست برای عوض کردن دایرکتوری مورد استفاده در لینوکس است ، بصورت کلی ما سه استفاده از این دستور می کنیم ، عوض کردن دایرکتوری فعلی و رفتن به دایرکتوری زیر مجموعه ، برگشتن به یک دایرکتوری بالا تر و برگشتن به home directory ... همه این موارد را در مثال های زیر مشاهده می کنید :

root@itpro-debian:~# cd /home/عوض کردن دایرکتوری فعلی به دایرکتوری زیرمجموعه  
root@itpro-debian:/home#
----------------------------------------------
root@itpro-debian:/home# cd .. برگشتن به یک دایرکتوری بالاتر یا بازگشت به دایرکتوری والد
root@itpro-debian:/#
----------------------------------------------
root@itpro-debian:/home/unity# cd ~ برگشتن به دایرکتوری خانگی 
root@itpro-debian:~#

در ادامه در خصوص دستورات بیشتری صحبت خواهیم کرد
آموزش مقدماتی دستورات لینوکس قسمت 5 : free ، df ، finger و uptime

دستور 15 : کاربرد دستور df چیست؟

قبلا در قسمت پارتیشن بندی و دستورات مدیریت فایل سیستم با دستور df آشنا شده ایم اما بصورت کلی دستور df برای مشاهده فضاهای موجود در فایل سیستم و دیسک های آن استفاده می شود ، شما می توانید با استفاده از آرگومان h- در این دستور خروجی ساده تری برای خواندن مشاهده کنید ، df مخفف کلمه های disk filesystem و h هم مخفف کلمه human readable است ، به مثال زیر توجه کنید :

unity@itpro-debian:~$ df -h
Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                   19G  3.9G   15G  22% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   201M  676K  200M   1% /run
/dev/disk/by-uuid/e6ed1cc1-d422-4737-b4db-0c51ffc27878   19G  3.9G   15G  22% /
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
tmpfs                                                   578M  144K  578M   1% /run/shm

دستور 16 : کاربرد دستور finger چیست؟

دستور finger به شما می گوید که به غیر از شما چه کاربر دیگری بر روی کامپیوتر در حال استفاده کردن از منابع است و یا در خصوص یک کاربر که به سیستم دسترسی دارد اطلاعات بسیار خوبی را به شما ارائه می دهد ، دستوری که در پایین در مثال اول مشاهده می کنید به شما می گوید که همزمان که شما در حال استفاده از سیستم عامل هستید چه کاربر دیگری به سیستم login کرده است و در حال استفاده کردن از سیستم می باشد :

root@itpro-debian:~# finger
Login     Name       Tty      Idle  Login Time   Office     Office Phone
unity     unity     *tty7      12d  Mar 19 08:27 (:0)
unity     unity      pts/0          Mar 19 08:27 (:0.0)

دستور زیر در خصوص کاربر unity هر چقدر اطلاعات می خواهید در اختیارتان قرار خواهد داد :

root@itpro-debian:~# finger unity
Login: unity          			Name: unity
Directory: /home/unity              	Shell: /bin/bash
On since Thu Mar 19 08:27 (EDT) on tty7 from :0
    12 days 21 hours idle
     (messages off)
On since Thu Mar 19 08:27 (EDT) on pts/0 from :0.0
   4 seconds idle
New mail received Wed Apr  1 06:02 2015 (EDT)
     Unread since Sun Mar  8 07:59 2015 (EDT)
No Plan.

دستور 17 : کاربرد دستور uptime چیست؟

دستور uptime همانطور که از نامش هم پیداست مدت زمانی که سیستم عامل تا کنون روشن و مشغول به سرویس دهی بوده است را بر اساس روزها ، ساعت ها و دقایق به شما نمایش می دهد و علاوه بر آن کاربران متصل به سیستم ، میانگین load سیستم را نیز به شما نمایش می دهد به مثال زیر توجه کنید :

root@itpro-debian:~# uptime
 06:08:32 up 12 min,  2 users,  load average: 0.00, 0.03, 0.05

دستور 18 : کاربرد دستور free چیست؟

دستور free به شما وضعیت استفاده از حافظه RAM فیزیکی ، حافظه مجازی یا SWAP را به شما نشان می دهد و همچنین میزان Cache و Buffer را نیز به شما نمایش می دهد ، برای اینکه خروجی کاربر پسند تری از این دستور مشاهده کنید می توانید از آرگومان m- استفاده کنید ، توجه کنید که همانطور که در مثال زیر مشاهده می کنید خروجی به Mega Byte می باشد :

root@itpro-debian:~# free -m
             total       used       free     shared    buffers     cached
Mem:          2006        574       1431          0         84        245
-/+ buffers/cache:        244       1761
Swap:          879          0        879


دستورات مقدماتی لینوکس همچنان ادامه دارد و در قسمت بعدی با برخی دیگر از این دستورات که قسمت پایانی این سری نکات به حساب می آیند آشنا خواهید شد.

دستور 19 : کاربرد دستور more و less چیست؟

قبلا در خصوص دستور cat در لینوکس صحبت کردیم که شما می توانستید فایل های متنی کوچک را با آن باز و محتویات آن را مشاهده کنید ، با استفاده از دستور more و less شما می توانید محتویات فایل های متنی را با قابلیت های صفحه به صفحه و یا اسکرولی مشاهده کنید ، برای مشاهده کردن فایل های متنی طولانی می توانید از این دستورات استفاده کنید ، این دستورات متون را بصورت صفحه به صفحه به شما نمایش می دهد و شما می توانید بین صفحات Scroll کنید ، یکی از بهترین مثال های استفاده از more و less مطالعه فایل های Readme است.

دستور 20 : کاربرد دستور file چیست؟

اگر می خواهید بدانید که نوع فایلی که در سیستم عامل وجود دارد چیست می توانید از دستور file و در ادامه نام فایل استفاده کنید ، همانطور که در مثال زیر مشاهده می کنید

root@itpro-debian:/etc# file fstab
fstab: ASCII text
-----------------------------------------------------------------------
root@itpro-debian:/etc# file rc0.d/
rc0.d/: directory
-----------------------------------------------------------------------
unity@itpro-debian:~/Desktop/vmware-tools-distrib$ file vmware-install.pl 
vmware-install.pl: Perl script, ASCII text executable


دستور 21 : کاربرد دستور cp چیست؟

دستور cp مخفف کلمه copy است و همانطور که از نامش هم پیداست برای کپی کردن یک فایل از یک محل به محلی دیگر استفاده می شود. قالب کلی استفاده کردن از دستور cp به شکل زیر می باشد :

cp [OPTION]… SOURCE TARGET


در قالب دستوری بالا SOURCE به معنی مبدا است و TARGET به معنی مقصد است ، در دستور بالا فایل SOURCE در مسیر TARGET کپی خواهد شد. TARGET می تواند یک فایل یا یک دایرکتوری باشد. اگر TARGET یک دایرکتوری باشد دستور cp یک کپی از فایل SOURCE را در مسیر TARGET که یک دایرکتوری است با همان اسمی که قبلا داشته است کپی می کند.

دقت کنید که زمانیکه از دستور cp استفاده می کنید inode number عوض نمی شود برخلاف دستور mv که مخفف move است و یک فایل کاملا جدید با محتوای مبدا ایجاد می کند و inode number جدید ایجاد می کند ، به این نکته هم توجه کنید که شما بصورت پیشفرض نمی توانید با دستور cp یک دایرکتوری را کپی کنید و برای این منظور می توانید در تنظیمات از آرگومان r- استفاده کنید :

unity@itpro-debian:~$ cp Desktop/vmware-tools-distrib/vmware-install.pl Desktop/


به دستور بالا دقت کنید ، در دستور بالا ما از مسیر Desktop//vmware-tools-distrib یک فایل به اسم vmware-install.pl را در دایرکتوری Desktop کپی می کنیم. البته دستور cp آرگومان ها و سویچ های زیادی دارد که می توانید بصورت جداگانه آنها را مطالعه کنید اما همین موارد ابتدایی برای کار ما کافی است.

دستور 22 : کاربرد دستور mv چیست؟

دستور mv در لینوکس مخفف کلمه move یا انتقال می باشد و برای انتقال دادن یک فایل از یک محل به محل دیگر استفاده می شود. دستور mv می تواند برای rename کردن فایل ها نیز مورد اسفتاده قرار بگیرد ، ساختار استفاده از دستور mv ب به شکل زیر می باشد :

mv [options] source target


اگر آرگومان target یک دایرکتوری باشد دستور mv تمامی فایل های source را به داخل دایرکتوری target بدون اینکه اسم فایل را تغییر دهد انتقال می دهد. دستور زیر برای move کردن فایل vmware-install.pl از مبدا تا مقصد تعریف شده استفاده می شود :

unity@itpro-debian:~$ mv Desktop/vmware-tools-distrib/vmware-install.pl Desktop/


دستور زیر برای تغییر نام فایل install.log و تبدیل کردن آن به install.log.bak استفاده می شود :

unity@itpro-debian:~$ mv install.log install.log.bak


مهمترین تفاوت بین دستور cp و mv در این است که در cp مشخصات فایل از قبیل update time ، inode number و … تغییر نمی کنند اما در دستور mv همه این موارد تغییر می کند و در واقع یک فایل جدید ایجاد می شود ، امیدوارم مورد توجه شما قرار گرفته باشد.


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات