در این مقاله ما برخی دستورات مفید لینوکس و یونیکس را که به طور مکرر و در طی روز توسط ادمین های سیستم استفاده می شود را بررسی می کنیم. شاید خیلی کامل نباشد ولی لیست جمع و جوری است که در مواقع نیاز به آن مراجعه می کنید. به ما اجازه دهید که دستورات را با مثال و نحوه ی استفاده ی آنها شرح دهیم.
همچنین توصیه میشود مقالات زیر را هم مطالعه کنید :
آموزش دستورات ترمینال لینوکس از مقدماتی تا پیشرفته
1. دستور uptime
در لینوکس دستور uptime نشان می دهد که چه مدت سیستم شما در حال اجرا بوده است و تعداد کاربرانی که در حال حاضر لاگین هستند و همچنین میانگین لود سیستم را در اینتروال های 1 و 5 و 15 دقیقه نشان می دهد.
چک کردن نسخه ی uptime
دستور uptime غیر از نمایش uptime و ورژن گزینه ی دیگری ندارد. آن اطلاعات را به صورت hours:mins در صورتی که کمتر از یک روز باشد ، نشان می دهد.
2. دستور w
این دستور کاربرانی که در حال حاضر لاگین هستند را نشان می دهد و روند پروسس های آنها را به همراه میانگین لود آنها را نشان می دهد. همچنین login name، tty name، remote host, login time، idle time، JCPU، PCPU، دستور و پروسس را نیز نشان می دهد.
گزینه های دردسترس
-h: بدون هدر نمایش می دهد.
-s:بدون JCPU و PCPU نمایش می دهد.
-f: حذف از فیلد.
-V:نمایش ورژن
3. دستور users
دستور users کاربرانی که در حال حاضر لاگین هستند را نمایش می دهد. این دستور گزینه های دیگری هم دارد که help و ورژن را نمایش می دهد.
4. دستور who
این دستور به سادگی نام کاربری و تاریخ و زمان و اطلاعات هاست را نمایش می دهد. دستور who شبیه دستور w است. برخلاف دستور w دستور who آنچه که کاربران انجام می دهند را چاپ نمی کند. اجازه بدهید که در زیر به شما تفاوت دو دستور را نشان دهیم.
گزینه های دستور who
-b: تاریخ و زمان آخرین ریبوت سیستم را نمایش می دهد.
-r:runlet جاری را نمایش می دهد.
-a,-all: تمامی اطلاعات را در مجموع نشان می دهد.
5. دستور whoami
دستور whoami نام کاربر جاری را چاپ می کند. شما همچنین می توانید آنرا به شکل who am i نیز استفاده کنید. اگر شما با کاربر root لاگین هستید این دستور کاربر root را به عنوان کاربر لاگین بر می گرداند.
6. دستور ls
دستور ls لیست تمامی فایل ها را نشان می دهد.
مرتب کردن فایل ها براساس آخرین زمان تغییر آنها.
7. دستور crontab
این دستور با گزینه –l کارهای زمانبندی شده کاربر جاری را نشان می دهد.
Crontab خود را با گزینه –e ویرایش کنید. این دستور کارهای زمانبندی شده را با ویرایشگر vi باز خواهد کرد. پس از اعمال تغییرات فایل را با :wq ذخیره کنید و خارج شوید.
برای اطلاعات بیشتر در مورد این دستور لینک 11 مثال از زمانبندی کارها توسط cron در لینوکس را مشاهده کنید.
8. دستور less
دستور less به شما اجازه می دهد که به سرعت فایل را مشاهده کنید. شما میتوانید صفحات را بالا و پایین ببرید. برای خارج شدن از صفحه q را فشار دهید.
9. دستور more
دستور more به شما اجازه می دهد که به سرعت فایل را مشاهده کنید .جزئیات را به درصد نشان می دهد. شما میتوانید صفحات را بالا و پایین ببرید. برای خارج شدن از صفحه q را فشار دهید.
10. دستور cp
دستور cp برای کپی کردن فایل ها از مبداء مشخص به مقصدی مشخص بکار می رود.
اگر می خواهید قبل از کپی از شما سوال پرسیده شود به شکل زیر استفاده کنید.
11. دستور mv
دستور mv فایل A را به فایل B تغییر نام می دهد. گزینه ی –i قبل از انجام سوالی از شما می پرسد. برای تایید به سوال جواب دهید.
12. دستور cat
دستور cat برای نمایش چندین فایل به طور همزمان استفاده می شود.
اگر شما نمی خواهید فایل را در یک صفحه مشاهده کنید، برای نمایش فایل می توانید دستور cat را با دستورات less و more ترکیب کنید.
13. دستور cd
با استفاده از دستور cd که برای تغییر دایرکتوری بکار می رود. همانند مثال زیر که به دایرکتوری fileA خواهد رفت.
14. دستور pwd
دستور pwd دایرکتوری ای که شما در آن هستید را نشان می دهد.
15. دستور sort
دستور sort خطوط فایل متنی را به ترتیب صعودی مرتب می کند. با استفاده از گزینه ی –r به صورت نزولی مرتب می شود.
16. دستور vi
Vi محبوب ترین ویرایشگر در دسترس برروی سیستم عامل های شبه یونیکس می باشد. مثال زیر با گزینه ی –R فایل را به صورت فقط خواندنی باز می کند. برای خارج شدن :q را تایپ کنید.
17. دستور ssh
دستور ssh برای لاگین کردن به هاست ریموت بکار می رود. برای مثال دستور زیر به هاست ریموت با آدرس 192.168.50.2 با استفاده از کاربر narad کانکت می شود.
برای چک کردن ورژن ssh از گزینه ی –V (با حرف بزرگ) استفاده کنید.
18. دستور ftp یا sftp
دستور ftp یا sftp برای کانکت شدن به هاست ftp راه دور استفاده می شود. ftp، file transfer protocol است و sftp، secure file transfer protocol است. به عنوان مثال دستورات زیر برای کانکت شدن به هاست ftp با آدرس 192.168.50.2 بکار می رود.
قرار دادن فایل ها و یا آپلود آنها با استفاده از mput انجام می شود و همچنین برای دانلود آنها از mget می توان استفاده کرد.
19. دستور service
دستور service اسکریپت های واقع در دایرکتوری /etc/init.d را اجرا می کند. 2 راه برای استارت کردن هر سرویسی وجود دارد. به عنوان مثال ما با استفاده از دستور service سرویس httpd را استارت می کنیم.
20. دستور free
دستور free اطلاعات free و total و swap memory را به بایت نشان می دهد.
دستور free با گزینه ی –t ،total memory استفاده شده و در دسترس را با بایت نشان می دهد.
21. دستور top
دستور top فعالیت پروسسور سیستم شما را نشان می دهد و همچنین کارهای مدیریت شده توسط کرنل را به صورت بلادرنگ نشان می دهد. آن همچنین پروسسور و حافظه ی استفاده شده را نشان می دهد. دستور top را با گزینه ی u جزئیات پروسس های کاربر خاصی را نشان می دهد. از O ی بزرگ برای مرتب کردن استفاده کنید. برای خارج شدن از top نیز از q استفاده کنید.
22. دستور tar
دستور tar برای فشرده سازی فایل ها و فولدرها در لینوکس بکار می رود. برای مثال دستور زیر یک آرشیو را برای دایرکتوری /home با نام archive-name.tar ایجاد میکند.
برای استخراج فایل آرشیو از گزینه های زیر استفاده کنید.
برای اطلاعات بیشتر در مورد این دستور از لینک 18 نمونه از دستور Tar در لینوکس استفاده کنید.
23. دستور grep
دستور grep یک رشته ی ورودی را در یک فایل جستجو می کند. تنها اطلاعات کاربر mohammad را از فایل /etc/passwd نشان دهید. ما می توانیم از گزینه ی –i برای از بین بردن حساسیت حروف بزرگ و کوچک استفاده کنیم.
24. دستور find
دستور find برای جستجوی رشته ها و فایل ها و دایرکتوری ها استفاده می شود. مثال زیر لغت mohammad را در پارتیشن / جستجو می کند.
25. دستور lsof
Lsof معنی لیستی از تمام فایل های باز را می دهد. دستور زیر تمامی فایل های باز که توسط کاربر mohammad را نمایش می دهد.
26. دستور last
با دستور last می می توانیم فعالیت کاربر را در سیستم بررسی کنیم. همچنین این دستور می تواند توسط کاربر معمولی نیز اجرا شود. آن اطلاعات کامل کاربر را همچون terminal، time، date system reboot یا boot و kernel version نمایش خواهد داد.
شما می توانید last را برای کاربر خاصی نیز استفاده کنید.
27. دستور ps
دستور ps پروسس های درحال اجرای سیستم را نمایش می دهد. مثال زیر تنها پروسس init را نمایش می دهد.
28. دستور kill
دستور kill برای خاتمه دادن به پروسس ها استفاده می شود. ابتدا id ی پروسس را با استفاده از دستور ps پیداکرده و با دستور kill -9 پروسس را خاتمه دهید.
29. دستور rm
دستور rm برای حذف یک فایل بدون پرس و جو برای تایید، استفاده می شود.
با استفاده از گزینه ی –i می توانید از سوال تایید قبل از حذف استفاده کنید. با استفاده از گزینه های –r و –f فایل به صورت force و بدون تایید حذف خواهد شد.
30. مثال دستور mkdir
دستور mkdir دستوری است که برای ایجاد دایرکتوری در لینوکس استفاده می شود.
همچنین توصیه میشود مقالات زیر را هم مطالعه کنید :
آموزش دستورات ترمینال لینوکس از مقدماتی تا پیشرفته
1. دستور uptime
در لینوکس دستور uptime نشان می دهد که چه مدت سیستم شما در حال اجرا بوده است و تعداد کاربرانی که در حال حاضر لاگین هستند و همچنین میانگین لود سیستم را در اینتروال های 1 و 5 و 15 دقیقه نشان می دهد.
کد:
# uptime 08:16:26 up 22 min, 1 user, load average: 0.00, 0.03, 0.22
چک کردن نسخه ی uptime
دستور uptime غیر از نمایش uptime و ورژن گزینه ی دیگری ندارد. آن اطلاعات را به صورت hours:mins در صورتی که کمتر از یک روز باشد ، نشان می دهد.
کد:
[mohammad@mohammad ~]$ uptime -V procps version 3.2.8
2. دستور w
این دستور کاربرانی که در حال حاضر لاگین هستند را نشان می دهد و روند پروسس های آنها را به همراه میانگین لود آنها را نشان می دهد. همچنین login name، tty name، remote host, login time، idle time، JCPU، PCPU، دستور و پروسس را نیز نشان می دهد.
کد:
[B]# w[/B] 08:27:44 up 34 min, 1 user, load average: 0.00, 0.00, 0.08 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT mohammad pts/0 192.168.50.1 07:59 0.00s 0.29s 0.09s w
-h: بدون هدر نمایش می دهد.
-s:بدون JCPU و PCPU نمایش می دهد.
-f: حذف از فیلد.
-V:نمایش ورژن
3. دستور users
دستور users کاربرانی که در حال حاضر لاگین هستند را نمایش می دهد. این دستور گزینه های دیگری هم دارد که help و ورژن را نمایش می دهد.
کد:
[B]# users[/B] mohammad
4. دستور who
این دستور به سادگی نام کاربری و تاریخ و زمان و اطلاعات هاست را نمایش می دهد. دستور who شبیه دستور w است. برخلاف دستور w دستور who آنچه که کاربران انجام می دهند را چاپ نمی کند. اجازه بدهید که در زیر به شما تفاوت دو دستور را نشان دهیم.
کد:
[B]# who[/B] mohammad pts/0 2012-09-18 07:59 (192.168.50.1) [B]# w[/B] 08:43:58 up 50 min, 1 user, load average: 0.64, 0.18, 0.06 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT mohammad pts/0 192.168.50.1 07:59 0.00s 0.43s 0.10s w
-b: تاریخ و زمان آخرین ریبوت سیستم را نمایش می دهد.
-r:runlet جاری را نمایش می دهد.
-a,-all: تمامی اطلاعات را در مجموع نشان می دهد.
5. دستور whoami
دستور whoami نام کاربر جاری را چاپ می کند. شما همچنین می توانید آنرا به شکل who am i نیز استفاده کنید. اگر شما با کاربر root لاگین هستید این دستور کاربر root را به عنوان کاربر لاگین بر می گرداند.
کد:
[B]# whoami[/B] mohammad
6. دستور ls
دستور ls لیست تمامی فایل ها را نشان می دهد.
کد:
[B]# ls -l[/B] total 114 dr-xr-xr-x. 2 root root 4096 Sep 18 08:46 bin dr-xr-xr-x. 5 root root 1024 Sep 8 15:49 boot
کد:
[B]# ls -ltr[/B] total 40 -rw-r--r--. 1 root root 6546 Sep 17 18:42 install.log.syslog -rw-r--r--. 1 root root 22435 Sep 17 18:45 install.log -rw-------. 1 root root 1003 Sep 17 18:45 anaconda-ks.cfg
7. دستور crontab
این دستور با گزینه –l کارهای زمانبندی شده کاربر جاری را نشان می دهد.
کد:
[B]# crontab -l[/B] 00 10 * * * /bin/ls >/ls.txt
کد:
[B]# crontab -e[/B]
8. دستور less
دستور less به شما اجازه می دهد که به سرعت فایل را مشاهده کنید. شما میتوانید صفحات را بالا و پایین ببرید. برای خارج شدن از صفحه q را فشار دهید.
کد:
[B]# less install.log[/B] Installing setup-2.8.14-10.el6.noarch warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Installing filesystem-2.4.30-2.1.el6.i686 Installing ca-certificates-2010.63-3.el6.noarch Installing xml-common-0.6.3-32.el6.noarch Installing tzdata-2010l-1.el6.noarch Installing iso-codes-3.16-2.el6.noarch
9. دستور more
دستور more به شما اجازه می دهد که به سرعت فایل را مشاهده کنید .جزئیات را به درصد نشان می دهد. شما میتوانید صفحات را بالا و پایین ببرید. برای خارج شدن از صفحه q را فشار دهید.
کد:
[B]# more install.log[/B] Installing setup-2.8.14-10.el6.noarch warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Installing filesystem-2.4.30-2.1.el6.i686 Installing ca-certificates-2010.63-3.el6.noarch Installing xml-common-0.6.3-32.el6.noarch Installing tzdata-2010l-1.el6.noarch Installing iso-codes-3.16-2.el6.noarch [B]--More--(10%)[/B]
10. دستور cp
دستور cp برای کپی کردن فایل ها از مبداء مشخص به مقصدی مشخص بکار می رود.
کد:
[B]# cp -p fileA fileB[/B]
کد:
[B]# cp -i fileA fileB[/B]
11. دستور mv
دستور mv فایل A را به فایل B تغییر نام می دهد. گزینه ی –i قبل از انجام سوالی از شما می پرسد. برای تایید به سوال جواب دهید.
کد:
[B]# mv -i fileA fileB[/B]
12. دستور cat
دستور cat برای نمایش چندین فایل به طور همزمان استفاده می شود.
کد:
[B]# cat fileA fileB[/B]
کد:
[B]# cat install.log | less[/B] [B]# cat install.log | more[/B]
13. دستور cd
با استفاده از دستور cd که برای تغییر دایرکتوری بکار می رود. همانند مثال زیر که به دایرکتوری fileA خواهد رفت.
کد:
[B]# cd /fileA[/B]
14. دستور pwd
دستور pwd دایرکتوری ای که شما در آن هستید را نشان می دهد.
کد:
[B]# pwd[/B] /root
15. دستور sort
دستور sort خطوط فایل متنی را به ترتیب صعودی مرتب می کند. با استفاده از گزینه ی –r به صورت نزولی مرتب می شود.
کد:
[B]#sort fileA.txt[/B] [B]#sort -r fileA.txt[/B]
16. دستور vi
Vi محبوب ترین ویرایشگر در دسترس برروی سیستم عامل های شبه یونیکس می باشد. مثال زیر با گزینه ی –R فایل را به صورت فقط خواندنی باز می کند. برای خارج شدن :q را تایپ کنید.
کد:
[B]# vi -R /etc/shadows[/B]
17. دستور ssh
دستور ssh برای لاگین کردن به هاست ریموت بکار می رود. برای مثال دستور زیر به هاست ریموت با آدرس 192.168.50.2 با استفاده از کاربر narad کانکت می شود.
کد:
[B]# ssh narad@192.168.50.2[/B]
کد:
[B]# ssh -V[/B] OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
18. دستور ftp یا sftp
دستور ftp یا sftp برای کانکت شدن به هاست ftp راه دور استفاده می شود. ftp، file transfer protocol است و sftp، secure file transfer protocol است. به عنوان مثال دستورات زیر برای کانکت شدن به هاست ftp با آدرس 192.168.50.2 بکار می رود.
کد:
[B]# ftp 192.168.50.2[/B] [B]# sftp 192.168.50.2[/B]
کد:
[B]# ftp > mput *.txt[/B] [B]# ftp > mget *.txt[/B]
19. دستور service
دستور service اسکریپت های واقع در دایرکتوری /etc/init.d را اجرا می کند. 2 راه برای استارت کردن هر سرویسی وجود دارد. به عنوان مثال ما با استفاده از دستور service سرویس httpd را استارت می کنیم.
کد:
[B]# service httpd start[/B] OR [B]# /etc/init.d/httpd start[/B]
20. دستور free
دستور free اطلاعات free و total و swap memory را به بایت نشان می دهد.
کد:
[B]# free[/B] total used free shared buffers cached Mem: 1030800 735944 294856 0 51648 547696 -/+ buffers/cache: 136600 894200 Swap: 2064376 0 2064376
کد:
[B]# free -t[/B] total used free shared buffers cached Mem: 1030800 736096 294704 0 51720 547704 -/+ buffers/cache: 136672 894128 Swap: 2064376 0 2064376 Total: 3095176 736096 2359080
21. دستور top
دستور top فعالیت پروسسور سیستم شما را نشان می دهد و همچنین کارهای مدیریت شده توسط کرنل را به صورت بلادرنگ نشان می دهد. آن همچنین پروسسور و حافظه ی استفاده شده را نشان می دهد. دستور top را با گزینه ی u جزئیات پروسس های کاربر خاصی را نشان می دهد. از O ی بزرگ برای مرتب کردن استفاده کنید. برای خارج شدن از top نیز از q استفاده کنید.
کد:
[B]# top -u mohammad[/B] top - 11:13:11 up 3:19, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 116 total, 1 running, 115 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1030800k total, 736188k used, 294612k free, 51760k buffers Swap: 2064376k total, 0k used, 2064376k free, 547704k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1889 mohammad 20 0 11468 1648 920 S 0.0 0.2 0:00.59 sshd 1890 mohammad 20 0 5124 1668 1416 S 0.0 0.2 0:00.44 bash 6698 mohammad 20 0 11600 1668 924 S 0.0 0.2 0:01.19 sshd 6699 mohammad 20 0 5124 1596 1352 S 0.0 0.2 0:00.11 bash
22. دستور tar
دستور tar برای فشرده سازی فایل ها و فولدرها در لینوکس بکار می رود. برای مثال دستور زیر یک آرشیو را برای دایرکتوری /home با نام archive-name.tar ایجاد میکند.
کد:
[B]# tar -cvf archive-name.tar /home[/B]
کد:
[B]# tar -xvf archive-name.tar[/B]
23. دستور grep
دستور grep یک رشته ی ورودی را در یک فایل جستجو می کند. تنها اطلاعات کاربر mohammad را از فایل /etc/passwd نشان دهید. ما می توانیم از گزینه ی –i برای از بین بردن حساسیت حروف بزرگ و کوچک استفاده کنیم.
کد:
[B]# grep mohammad /etc/passwd[/B] mohammad:x:500:500::/home/mohammad:/bin/bash
24. دستور find
دستور find برای جستجوی رشته ها و فایل ها و دایرکتوری ها استفاده می شود. مثال زیر لغت mohammad را در پارتیشن / جستجو می کند.
کد:
[B]# find / -name mohammad[/B] /var/spool/mail/mohammad /home/mohammad /root/home/mohammad
25. دستور lsof
Lsof معنی لیستی از تمام فایل های باز را می دهد. دستور زیر تمامی فایل های باز که توسط کاربر mohammad را نمایش می دهد.
کد:
[B]# lsof -u mohammad[/B] COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1889 mohammad cwd DIR 253,0 4096 2 / sshd 1889 mohammad txt REG 253,0 532336 298069 /usr/sbin/sshd sshd 1889 mohammad DEL REG 253,0 412940 /lib/libcom_err.so.2.1 sshd 1889 mohammad DEL REG 253,0 393156 /lib/ld-2.12.so sshd 1889 mohammad DEL REG 253,0 298643 /usr/lib/libcrypto.so.1.0.0 sshd 1889 mohammad DEL REG 253,0 393173 /lib/libnsl-2.12.so sshd 1889 mohammad DEL REG 253,0 412937 /lib/libkrb5support.so.0.1 sshd 1889 mohammad DEL REG 253,0 412961 /lib/libplc4.so
26. دستور last
با دستور last می می توانیم فعالیت کاربر را در سیستم بررسی کنیم. همچنین این دستور می تواند توسط کاربر معمولی نیز اجرا شود. آن اطلاعات کامل کاربر را همچون terminal، time، date system reboot یا boot و kernel version نمایش خواهد داد.
کد:
[B]# last[/B] mohammad pts/1 192.168.50.1 Tue Sep 18 08:50 still logged in mohammad pts/0 192.168.50.1 Tue Sep 18 07:59 still logged in reboot system boot 2.6.32-279.el6.i Tue Sep 18 07:54 - 11:38 (03:43) root pts/1 192.168.50.1 Sun Sep 16 10:40 - down (03:53) root pts/0 :0.0 Sun Sep 16 10:36 - 13:09 (02:32) root tty1 :0 Sun Sep 16 10:07 - down (04:26) reboot system boot 2.6.32-279.el6.i Sun Sep 16 09:57 - 14:33 (04:35) narad pts/2 192.168.50.1 Thu Sep 13 08:07 - down (01:15)
کد:
[B]# last [/B][B]mohammad[/B] mohammad pts/1 192.168.50.1 Tue Sep 18 08:50 still logged in mohammad pts/0 192.168.50.1 Tue Sep 18 07:59 still logged in mohammad pts/1 192.168.50.1 Thu Sep 13 08:07 - down (01:15) mohammad pts/4 192.168.50.1 Wed Sep 12 10:12 - 12:29 (02:17)
27. دستور ps
دستور ps پروسس های درحال اجرای سیستم را نمایش می دهد. مثال زیر تنها پروسس init را نمایش می دهد.
کد:
[B]# ps -ef | grep init[/B] root 1 0 0 07:53 ? 00:00:04 /sbin/init root 7508 6825 0 11:48 pts/1 00:00:00 grep init
28. دستور kill
دستور kill برای خاتمه دادن به پروسس ها استفاده می شود. ابتدا id ی پروسس را با استفاده از دستور ps پیداکرده و با دستور kill -9 پروسس را خاتمه دهید.
کد:
[B]# ps -ef | grep init[/B] root 1 0 0 07:53 ? 00:00:04 /sbin/init root 7508 6825 0 11:48 pts/1 00:00:00 grep init [B]# kill- 9 7508[/B]
29. دستور rm
دستور rm برای حذف یک فایل بدون پرس و جو برای تایید، استفاده می شود.
کد:
[B]# rm filename[/B]
کد:
[B]# rm -i test.txt[/B] rm: remove regular file `test.txt'?
30. مثال دستور mkdir
دستور mkdir دستوری است که برای ایجاد دایرکتوری در لینوکس استفاده می شود.
کد:
[B]# mkdir directoryname[/B]