در یادگیری لینوکس و آموزش دستورات لینوکس باید بدانید که دستورات بسیاری زیادی وجود دارند و شما نمی توانید همه آنها را حفظ کنید ، در این مقاله می خواهیم به شما 22 دستور لینوکس پرکاربرد را معرفی کنیم که تقریبا پایه و اساس ساده تر کردن کار با لینوکس را به شما هدیه می دهند. این دستورات بصورت خلاصه و مفید و در قالب یک مثال به شما آموزش داده می شود.
دستور 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 انجام دهید مشخص خواهد بود.
برای ورود به دوره آموزش لینوکس وارد این لینک شوید
دستور which در لینوکس مسیر فایل اجرایی و یا دستوری که در جلوی آن قرار داده می شود را نشان می دهد ، شما با استفاده از این دستور می توانید متوجه شوید که دستور مورد نظر در کدام دایرکتوری قرار دارد ، برای مثال می خواهیم بدانیم دستور tty از کجا اجرا می شود از دستور which به شکل زیر استفاده می کنیم :
root@itpro-debian:/# which tty /usr/bin/tty
همانطور که در نتیجه دستور بالا مشاهده می کنید مسیر فایل اجرایی دستور tty در usr//bin//tty// قرار دارد.
اگر می خواهید ببینید با چه نام کاربری شما در حال استفاده کردن از سیستم عامل لینوکس هستید کافیست دستور whoami را در terminal وارد کنید و نام کاربری مورد استفاده را در نتیجه دستور مشاهده خواهید کرد ، دقت کنید همین دستور در سیستم عامل ویندوز و در خط فرمان cmd نیز قابل استفاده است ، به نمونه ای از نتیجه این دستور توجه کنید :
root@itpro-debian:/# whoami root
همانطور که در نتیجه دستور زیر مشاهده می کنید ما با کاربر root بر روی سیستم login کرده ایم و terminal را نیز با همین کاربر استفاده می کنیم ، در ادامه نکات با دستورات مقدماتی دیگری آشنا خواهید شد.
آموزش مقدماتی دستورات لینوکس قسمت 2 : echo ، history ، reset
اگر بخواهید بر روی 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 ویندوز استفاده می شود.
این دستور برای پاک کردن صفحه نمایش استفاده می شود و صفحه را خالی می کند ، معادل دستور cls در DOS است.
unity@itpro-debian:~$ clear
دستور reset در لینوکس برای ریست کردن بافر صفحه استفاده می شود.
unity@itpro-debian:~$ reset
دستور 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 می توانید تاریخچه مختصری از دستوراتی که اجرا شده اند را نیز مشاهده کنید. در مطالب بعدی با دستورات مقدماتی بیشتری از لینوکس آشنایی پیدا خواهید کرد
دستور find در لینوکس همانطور که از اسمش هم پیداست برای پیدا کردن فایل با مشخصات تعریف شده در دستور استفاده می شود برای مثال در دستور زیر ما می خواهیم فایل های که اسم آنها fstab هستند را پیدا کنیم :
root@itpro-debian:/# find / -name fstab /usr/share/doc/mount/examples/fstab /etc/fstab
همانطور که در نتیجه دستور بالا مشاهده می کنید در دو مسیر می توانیم فایل fstab را پیدا کنیم.
دستور 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
دستور pwd مخفف کلمه های print working directory است و به معنی نمایش دایرکتوری است که در آن در حال کار هستیم ، اگر برای مثال ما در پوشه Desktop کاربر unity در حال کار کردن با terminal باشیم و دستور pwd را به شکل زیر وارد کنیم نتیجه به شکل زیر خواهد بود :
unity@itpro-debian:~/Desktop$ pwd /home/unity/Desktop
دستور date در لینوکس همانطور که در مثال پایین مشاهده می کنید برای نمایش زمان و تاریخ سیستم استفاده می شود :
root@itpro-debian:/# date Tue Mar 31 13:40:59 EDT 2015
در ادامه با دستورات بیشتری از لینوکس آشنا خواهید شد
دستور shutdown همانطور که از نامش پیداست برای shutdown کردن و همچنین restart کردن سیستم عامل لینوکس استفاده می شود ، برای مثال دستور اول در مثال پایین برای shutdown کردن سیستم و دستور دوم برای Restart کردن سیستم مورد استفاده قرار می گیرد ، مشابه همین دستور بصورت کپی برداری شده در سیستم عامل ویندوز و در محیط cmd نیز استفاده می شود :
root@itpro-debian:~# shutdown -h now root@itpro-debian:~# shutdown -r now
دستور cat محتویات یک فایل را در یک قالب استاندارد در خروجی چاپ می کند در واقع از این دستور برای مشاهده و لیست کردن محتویات فایل ها استفاده می شود و نکته مهم در این دستور این است که معمولا برای مشاهده کردن محتویات فایل های کوچک استفاده می شود ، شما می توانید از cat برای کپی کردن محتویات و همچنین ایجاد فایل نیز استفاده کنید ، در مثال زیر ما محتویات فایل bash__history. را با استفاده از cat مشاهده می کنیم :
root@itpro-debian:~# cat .bash_history
دستور 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
قبلا در قسمت پارتیشن بندی و دستورات مدیریت فایل سیستم با دستور 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
دستور 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.
دستور uptime همانطور که از نامش هم پیداست مدت زمانی که سیستم عامل تا کنون روشن و مشغول به سرویس دهی بوده است را بر اساس روزها ، ساعت ها و دقایق به شما نمایش می دهد و علاوه بر آن کاربران متصل به سیستم ، میانگین load سیستم را نیز به شما نمایش می دهد به مثال زیر توجه کنید :
root@itpro-debian:~# uptime 06:08:32 up 12 min, 2 users, load average: 0.00, 0.03, 0.05
دستور 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
دستورات مقدماتی لینوکس همچنان ادامه دارد و در قسمت بعدی با برخی دیگر از این دستورات که قسمت پایانی این سری نکات به حساب می آیند آشنا خواهید شد.
قبلا در خصوص دستور cat در لینوکس صحبت کردیم که شما می توانستید فایل های متنی کوچک را با آن باز و محتویات آن را مشاهده کنید ، با استفاده از دستور more و less شما می توانید محتویات فایل های متنی را با قابلیت های صفحه به صفحه و یا اسکرولی مشاهده کنید ، برای مشاهده کردن فایل های متنی طولانی می توانید از این دستورات استفاده کنید ، این دستورات متون را بصورت صفحه به صفحه به شما نمایش می دهد و شما می توانید بین صفحات Scroll کنید ، یکی از بهترین مثال های استفاده از more و less مطالعه فایل های Readme است.
اگر می خواهید بدانید که نوع فایلی که در سیستم عامل وجود دارد چیست می توانید از دستور 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
دستور 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 آرگومان ها و سویچ های زیادی دارد که می توانید بصورت جداگانه آنها را مطالعه کنید اما همین موارد ابتدایی برای کار ما کافی است.
دستور 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 همه این موارد تغییر می کند و در واقع یک فایل جدید ایجاد می شود ، امیدوارم مورد توجه شما قرار گرفته باشد.
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات
محمد نصیری هستم ، بنیانگذار انجمن تخصصی فناوری اطلاعات ایران و مجموعه توسینسو ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 80 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر و ناظر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود