در این نوشته سعی داریم با برخی از دستورات ساده اما پر کاربرد محیط متنی لینوکس آشنا شویم. محیط متنی لینوکس، برخلاف آنچه به نظر میرسد بسیار کاربردی و انعطافپذیر است. اغلب سیستمهای کاری که سرویسهای مهمی را به کاربران ارائه میدهند بدلیل امکان کاهش کارایی، فاقد محیط گرافیکی هستند. علاوه بر آن مدیر یک سیستم مبتنی بر لینوکس اغلب مجبور است از راه دور، به تنظیم و یا رفع عیب سیستم خود بپردازد که این امر با استفاده از پروتکلهای امن بعلاوهی امکانات محیط متنی بسیار راحت انجامپذیر است. به همین دلایل است که اغلب برای لینوکسکارها هیچ کاری لذتبخشتر از کار با محیط متنی نیست!!!
– دستورات مربوط به دایرکتوری و فایلها
Print Working Directory) Pwd)
این دستور برای نمایش مسیر دایرکتوری جاری به کار میرود.
root@server asterisk]# pwd]
etc/asterisk/
List) ls)
از این دستور برای نمایش لیست فایلها و دایرکتوریها استفاده میشود. کاربرد این دستور به همراه بعضی از پارامترهای آن را در زیر میبینیم:
root@server asterisk]# ls]
شکل ساده این دستور لیست محتویات دایرکتوری جاری را بدون اطلاعات اضافه نمایش میدهد.
asterisk.conf dahdi-channels.conf.bak modules.conf
cdr_adaptive_odbc.conf dbsep.conf musiconhold.conf
cdr.conf dnsmgr.conf muted.conf
cdr_custom.conf dsp.conf queues.conf
cdr_manager.conf extensions.conf res_odbc.conf
پارامتر l (مخفف Long) جزییات بیشتری از لیست فایلها نمایش میدهد. از جمله اطلاعات Permision مربوط به هر فایل. این پارامتر معمولا به همراه پارامتر h (مخفف human readable) استفاده میشود تا اطلاعات حجم فایلها برای کاربر راحتتر خوانده شود.
root@server asterisk]# ls –lh]
total 612K
rw-r–r– ۱ root root 3.4K Jul ۴ ۰۹:۱۵ asterisk.conf-
rw-r–r– ۱ root root 2.7K Jul ۴ ۰۹:۱۵ cdr_adaptive_odbc.conf-
البته از این دستور برای نمایش محتویات دایرکتوری غیر از دایرکتوری جاری و به همراه کاراکترهای عمومی نیز میتوان استفاده کرد.
root@server asterisk]# ls /etc/tmp/*.conf]
Change Directory) Cd)
جهت تغییر مسیر جاری استفاده میشود.
root@server asterisk]# cd /etc/dahdi]
دایرکتوری ..(دو نقطه) به دایرکتوری Parent دایرکتوری جاری اشاره میکند. همچنین استفاده این دستور به صورت تنها شما را به دایرکتوری خانه کاربر جاری منتقل میکند.
..root@server asterisk]# cd ]
root@server etc]# cd]
root@server ~]#pwd]
root/
Make Directory) Mkdir)
برای ساخت یک دایرکتوری جدید از این دستور استفاده میشود.
Copy) Cp)
برای کپی کردن فایل (یا فایلها) استفاده میشود. شکل کلی دستور به دو صورت زیر است، که در حالت اول فایل اول را به فایلی با نام فایل دوم کپی میکند و در حالت دوم همه فایلهای اول تا انتها را به داخل دایرکتوری انتهایی کپی میکند:
root@server asterisk]#cp file1 file2]
root@server asterisk]#cp file1 file2 file3 … dir1]
Move) Mv)
برای انتقال فایلها و یا تغییر نام آنها از این دستور استفاده میشود.
root@server asterisk]#mv extensions.conf /tmp]
root@server asterisk]#mv iax.conf iax.conf.sample]
Remove) Rm)
برای حذف فایل یا فایلها استفاده میشود. به طور معمول این دستور قادر به حذف دایرکتوریها نیست مگر اینکه ازپارامتر –r (مخفف Recursive) استفاده شود. از دیگر پارامترهای پرکاربرد این دستور –I (مخفف Interactive=once) است که برای حذف، تنها یکبار از کاربر تایید میخواهد و البته استفاده از پارامتر –f (مخفف force) باعث اجرای این دستور بدون هیچ پیغام اضافی است.
root@server asterisk]#rm –Ir /tmp/dir1]
rm: remove all arguments recursively? y
File
این دستور براساس header (و نه پسوند که در ویندوز متداول است) تشخیص میدهد که فایل مورد نظر از چه نوعی است.
root@server asterisk]#file extensions.conf]
etc/asterisk/extensions.conf: ASCII English text/
Find
دستوری پرکاربرد برای پیدا کردن فایلها براساس پارامترهای مختلف. معروفترین فرم استفاده از این دستور با پارامتر –name است که براساس نام فایل به دنبال آن میگردد. باید توجه داشت که در لینوکس حروف بزرگ و کوچک متفاوت قلمداد شده و در نتیجه جستجو تاثیرگذار هستند. میتوان از پارامتر –iname به جای –name برای برطرف کردن این موضوع استفاده کرد.
*.*root@server asterisk]#find /etc/asterisk –name exten]
– کار با فایلهای متنی
Concatenate) Cat)
این دستور محتویات یک فایل متنی را روی کنسول استاندارد نمایش میدهد. برای نمایش محتویات فایل به صورت برعکس (آخرین خط در اول) نیز میتوان از دستور Tac (برعکس cat) استفاده کرد.
less
برای مشاهده فایلهای متنی بزرگ و یا خروجی برخی دستورات که مقداری بزرگتر از یک صفحه نمایش دارند، از این دو دستور بسیار پرکاربرد استفاده میشود. به هنگام استفاده از این دستور کلید Space صفحه بعد و کلید b صفحه قبل را نمایش داده و q برای خروج استفاده میشود. پایپ دستور ls به این دستور از کاربردهای رایج آن است.
root@server asterisk]#ls | less]
root@server asterisk]#less /etc/services]
Difference) Diff)
محتویات دو فایل متنی را با هم مقایسه میکند و تفاوتها را روی صفحه نمایش نشان میدهد.
Head و Tail
گاهی نیاز است که از یک فایل متنی بسیار بزرگ تنها بخش انتهایی و یا ابتدایی آن نمایش داده شود. این حالت اغلب در بررسی فایلهای Log بسیار استفاده میشود. برای این منظور از دستور Tail (به معنی دُم!!!) برای دیدن انتهای فایل و از دستور Head برای دیدن ابتدای آن استفاده میکنیم. در حالت عادی این دو دستور ۱۰ خط از فایل را نمایش میدهند که برای تغییر این مقدار میتوان از پارامتر –n استفاده کرد. یکی از پرکاربردترین پارامترهای دستور Tail پارامتر –F است که باعت میشود فایلهایی که بزرگ شدن هستند به صورت همزمان مورد بررسی قرار بگیرند. مثلا از دستور زیر برای مشاهده همزمان Log مربوط به استریسک استفاده میشود.
root@server asterisk]#tail –F /var/log/asterisk/full]
Grep
این دستور نیز یکی از دستورات پرکاربرد لینوکس است. این دستور بخشی از فایل متنی (و یا خروجی برنامهای دیگر) را که عبارت جلوی دستور را شامل میشود، نمایش میدهد. عبارت فیلتر دستور فوق میتواند یک Regular Expression نیز باشد. استفاده از این دستور برای اعمال فیلتر بر روی چند فایل نیز بسیار متداول است. در زیر چند مثال از کاربرد دستور grep را مشاهده میکنید:
root@server asterisk]#grep oot /etc/passwd]
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
*/root@server asterisk]#grep oot /etc]
etc/passwd:root:x:0:0:root:/root:/bin/bash/
etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin/
etc/passwd-:root:x:0:0:root:/root:/bin/bash/
etc/passwd-:operator:x:11:0:operator:/root:/sbin/nologin/
root@server asterisk]#tail –f /var/log/messages | grep kernel]
(این دستور آخرین پیغامهای مربوط به کرنل لینوکس را نمایش میدهد و منتظر پیغام جدید از سوی کرنل میماند!!)
Aug ۹ ۰۳:۲۵:۰۲ client09 kernel: imklog 4.6.2, log source = /proc/kmsg started
– دستورات سیستمی
Poweroff & Reboot
دستوراتی برای راهاندازی مجدد و خاموش کردن بیدردسر!! سیستم. پارامتری که هرگز توصیه نمیشود، –f (مخفف force) است که برای انجام هرکدام از این اعمال بدون اجرای تشریفات لازم به کار میرود. با اجرای دستور با پارامتر فوق سیستم سریعا خاموش یا ریاستارت میشود.
Interface Configuration) Ifconfig)
این دستور به وقتی به تنهایی اجرا شود مشخصات تمامی اینترفیسهای شبکه را نمایش میدهد. البته از این دستور برای مقداردهی موقت به پارامترهای شبکه یک اینترفیس نیز میتوان استفاده کرد. سادهترین شکل این دستور در این حالت به صورت زیر میباشد:
root@server asterisk]#ifconfig eth0 192.168.1.1 255.255.255.0]
توجه داشته باشید که این پارامترها اگرچه همزمان با اجرای دستور اعمال میشوند (نیازی به راهاندازی مجدد سرویس شبکه نیست) اما فقط تا وقتی که سیستم (و یا تنها سرویس شبکه ) ریاستارت نشده پابرجاست و با انجام هر کدام از این کارها، پارامترهای شبکه نیز به حالت قبل برمیگردد. یک راه برای انجام تغییرات دائم در این پارامترها استفاده از system-config-network است.
Setup
یک برنامه تقریبا گرافیکی (البته بر مبنای محیط متنی) برای انجام برخی تنظیمات لینوکس است. با توجه به بستههایی که روی سیستم شما نصب است احتمالا سه بخش اصلی زیر از طریق برنامه setup در دسترس شما خواهد بود. البته هرکدام از این بخشها مستقیما نیز قابل اجرا خواهد بود.
+System-config-networks
برای تغییر پارامترهای مختلف شبکه استفاده میشود. نکته مهم استفاده از دستور service network restart بعد از ذخیره تغییرات، برای اِعمال آن است. برخلاف دستور ifconfig این دستور تغییرات را به صورت همیشگی در فایل مربوط به تنظیمات شبکه ذخیره میکند.
+Services
از این برنامه برای تعیین سرویسهایی که در هنگام راهاندازی سیستم اتوماتیک راهاندازی میشوند استفاده میشود.
+System-config-firewall
این برنامه نیز برای فعال یا غیرفعال کردن فایروال لینوکس (iptables) استفاده میشود. در صورتی که فایروال را فعال کرده باشید تا حدودی امکان تنظیم آن نیز از طریق این برنامه وجود دارد.
Date
این برنامه نیز برای نمایش زمان سیستم و یا تنظیم آن به کار میرود.
Ntpdate
از این برنامه برای تنظیم زمان سیستم (و تاریخ) از یک سرور NTP استفاده میشود.
root@server asterisk]#ntpdate pool.ntp.org]
– نصب برنامه
YellowDog Updater Modified!!!) Yum)
برنامه مدیریت بستههای نرمافزاری که CentOS به صورت پیشفرض از آن استفاده میکند. در هنگام دسترسی به اینترنت (و یا یک مخزن محلی از بستههای نرمافزاری) راحتترین روش نصب برنامه در این توزیع به حساب میآید. این برنامه به راحتی برای نصب، بهروزرسانی، حذف و جستجو در میان بستههای نصب شده استفاده میشود. Yum در هنگام نصب هر بسته نرمافزاری، بستههای پیشنیاز را نیز مشخص کرده و نصب میکند. پارامتر پرکاربرد در اینجا –y است که باعث میشود yum به تمام پیغامها در هنگام نصب پاسخ مثبت بدهد. دستورات yum بسیار متنوع بوده و در زیر تنها برخی از نمونههای اجرای این برنامه را مشاهده میکنید:
root@server asterisk]#yum install package] (آخرین نسخه موجود در مخازن را نصب و یا نسخه کنونی را ارتقا میدهد)
root@server asterisk]#yum remove package] (برای حذف یک بسته به کار گرفته میشود)
root@server asterisk]#yum update -y] (مجموعه بستههای نصب شده بر روی سیستم را برای بهروز رسانی بررسی میکند)
root@server asterisk]#yum search something] !! (زمانی که حتی اسم بسته مورد نظر خود را هم نمیدانید،این دستور تلاش میکند بستههای مرتبط با کلمه جستجوی شما را پیدا کند)
root@server asterisk]#yum repolist] (لیستی از مخازن فعال در این سیستم را نمایش میدهد)
Rpm
زمانی که بسته نرمافزاری مورد نظر را در اختیار دارید میتوانید با استفاده از دستور Rpm آن را نصب کنید. معمولا ترکیب پارامترهای –ivh و یا –uvh برای نصب یک بسته نرمافزاری و –ev برای حذف یک بسته استفاده میشود. از پارامتر –q نیز برای جستجو در میان بستههای نصب شده استفاده میشود.
root@server asterisk]#rpm –uvh SomePackage.rpm]
root@server asterisk]#rpm –q bash]
bash-4.1.2-9.el6_2.x86_64
root@server asterisk]#rpm –qa | grep device]
device-mapper-event-1.02.66-6.el6.x86_64
device-mapper-libs-1.02.66-6.el6.x86_64
Tar
اگرچه این دستور برای فشردهسازی و یا برعکس آن به کار گرفته میشود، در اکثر موارد سورس کد نرمافزارها به صورت فشرده و در قالب فایل tar.gz در دسترس است و برای نصب اول نیاز است که این فایلها از حالت فشرده خارج شود. برای این کار ترکیب پارامترهای zxvf
(gzip-extract-verbose-file) استفاده میشود.
root@server src]#tar -zxvf asterisk.1.8.8.1]
آشنايي با خطوط فرمان لينوكس
اطلاعات سیستم
|
دستور
|
توضیح |
# arch
|
نمایش معماری سیستم |
# cal 2007
|
نمایش تقویم سال ۲۰۰۷ میلادی |
# cat /proc/cpuinfo |
نمایش اطلاعات CPU |
# cat /proc/interrupts
|
نمایش ‘خطوط در خواست وقفه’ ( IRQ ) سخت افزار های مختلف |
# cat /proc/meminfo
|
نمایش اطلاعات حافظه ی سیستم |
# cat /proc/swaps |
نمایش اطلاعات حافظه ی مجازی |
# cat /proc/version
|
نمایش نام توزیع و نسخه ی هسته ی استفاده شده در سیستم |
# cat /proc/net/dev
|
نمایش آمار و اطلاعات کارت های شبکه و وایرلس |
# cat /proc/mounts
|
نمایش فایل سیستم های متصل شده به سیستم |
# clock -w
|
ذخیره ی تغییرات تاریخ بروی بایوس |
# date
|
نمایش تاریخ سیستم |
# date 041217002007.00
|
تنظیم تاریخ سیستم – به ترتیب از چپ به راست : ماه , روز , ساعت , دقیقه , سال , ثانیه |
# dmidecode -q
|
نمایش بسیار کامل اجزای سخت افزاری سیستم |
# hdparm -i /dev/hda
|
نمایش مشخصات و ویژگی های دیسک سخت |
# hdparm -tT /dev/sda
|
انجام آزمایش ‘خواندن’ بروی دیسک سخت و تعیین سرعت آن |
# lspci -tv
|
نمایش قطعات و دستگاههای متصل شده به پورت PCI |
# lsusb -tv
|
نمایش قطعات و دستگاههای متصل شده به پورت USB |
# uname -m
|
نمایش معماری سیستم |
# uname -r
|
نمایش نسخه ی هسته ی استفاده شده در سیستم |
|
|
|
خاموش کردن , راه اندازی مجدد و خروج یک سیستم
|
دستور
|
توضیح |
# init 0
|
این دستور برای خاموش کردن سیستم به کار می رود |
# logout
|
خارج شدن از سیستم و رفتن به صفحه ی ورود مجدد ( Login ) |
# reboot
|
این دستور برای راه اندازی مجدد ( restart ) سیستم به کار می رود |
# shutdown -h now
|
این دستور برای خاموش کردن سیستم به کار می رود |
# shutdown -h 16:30 &
|
خاموش کردن سیستم در ساعت و دقیقه ی معین |
# shutdown -c
|
لغو کردن ( cancel ) خاموش شدن سیستم در زمان معین |
# shutdown -r now
|
این دستور برای راه اندازی مجدد ( restart ) سیستم به کار می رود |
# telinit 0
|
این دستور برای خاموش کردن سیستم به کار می رود |
|
|
|
فایل ها و دایرکتوری ها
|
دستور
|
توضیح |
# cd /home
|
ورود به دایرکتوری یا شاخه ی مورد نظر مانند پوشه ی خانگی ( home ) |
# cd ..
|
برگشتن به دایرکتوری قبلی |
# cd ../..
|
برگشتن به دو دایرکتوری قبلی |
# cd
|
رفتن به پوشه ی خانگی ( home ) از هر مسیر دلخواه |
# cd ~user1
|
رفتن به پوشه ی خانگی کاربر مورد نظر از هر مسیر دلخواه |
# cd –
|
برگشتن به آخرین دایرکتوری ( مسیر ) که در آن بوده اید |
# cp file1 file2
|
کپی کردن یک فایل با نام file1 به مسیر مورد نظر |
# cp dir/* .
|
کپی کردن تمام فایل های موجود در دایرکتوری مورد نظر به مسیر جاری که در آن هستید |
# cp -a /tmp/dir1 .
|
کپی کردن دایرکتوری مورد نظر به مسیر جاری که در آن هستید |
# cp -a dir1 dir2
|
کپی دایرکتوری مبدا ( dir1 ) به دایرکتوری مقصد ( dir2 ). به جای dir1 و dir2 مسیر کامل دایرکتوری های مبدا و مقصد را قرار دهید |
# cp file file1
|
نمایش نوع و ماهیت یک فایل به همراه مشخصات آن. به جای file1 مسیر فایل مورد نظر را قرار دهید |
# iconv -l
|
نمایش لیست سیستم های کد گذاری |
# iconv -f fromEncoding -t toEncoding inputFile > outputFile
|
تبدیل سیستم کدگذاری ( encoding ) یک فایل ورودی به یک سیستم کدگذاری دیگر |
# find . -maxdepth 1 -name *.jpg -print -exec convert
|
تغییر اندازه ی دسته ای فایل ها در دایرکتوری جاری و ارسال آنها به یک دایرکتوری thumbnails ( به برنامه convert از Imagemagick نیاز می باشد ) |
# ln -s file1 lnk1
|
ایجاد لینک نمادین ( میانبر ) به فایل یا دایرکتوری دلخواه. به جای file1 مسیر فایل یا دایرکتوری مورد نظر و به جای lnk1 مسیر دایرکتوری که قرار است فایل یا دایرکتوری میانبر در آن ایجاد شود را قرار دهید |
# ln file1 lnk1
|
ایجاد لینک فیزیکی به یک فایل یا دایرکتوری ( در واقع همان عمل کپی می باشد ) |
# ls
|
نمایش فایل ها و دایرکتوری های موجود در دایرکتوری جاری |
# ls -F
|
نمایش فایل ها و دایرکتوری های موجود در دایرکتوری جاری |
# ls -l
|
نمایش جزئیات فایل ها و دایرکتوری های موجود در دایرکتوری جاری |
# ls -a
|
نمایش فایل ها و دایرکتوری های موجود و همچنین فایل های مخفی در دایرکتوری جاری |
# ls *[0-9]*
|
نمایش فایل ها و دایرکتوری هایی که اسم آنها شامل اعداد است |
# lstree
|
نمایش تمام فایل ها و دایرکتوری های یک شاخه |
# mkdir dir1
|
ایجاد یک دایرکتوری با نام dir1 در مسیر مورد نظر |
# mkdir dir1 dir2
|
ایجاد دو دایرکتوری همزمان در مسیر مورد نظر |
# mkdir -p /tmp/dir1/dir2
|
ایجاد یک شاخه ی دایرکتوری با شروع از root |
# mv dir1 new_dir
|
تغییر نام یا جا به جا کردن ( move ) یک فایل یا دایرکتوری |
# pwd
|
نشان دادن مسیر دایرکتوری جاری |
# rm -f file1
|
پاک کردن یک فایل با نام file1 |
# rm -rf dir1
|
پاک کردن یک دایرکتوری با نام dir1 و محتویات آن به صورت بازگشتی |
# rm -rf dir1 dir2
|
پاک کردن دو دایرکتوری در مسیر مورد نظر و محتویات آنها به صورت بازگشتی |
# rmdir dir1
|
پاک کردن یک دایرکتوری با نام dir1 |
# touch -t 0712250000 file1
|
تغییر تاریخ ویرایش یا تغییر یک فایل یا دایرکتوری. به جای file1 مسیر فایل یا دایرکتوری مورد نظر را قرار دهید |
# tree
|
نمایش تمام فایل ها و دایرکتوری های یک شاخه |
|
|
|
جستجوی فایل
|
دستور
|
توضیح |
# find / -name file1
|
جستجوی فایل و دایرکتوری در داخل پارتیشن لینوکس ( root ) |
# find / -user user1
|
جستجوی فایل و دایرکتوری متعلق به user1 ] |
# find /home/user1 -name \*.bin
|
جستجوی فایل های با پسوند bin در داخل دایرکتوری home/user1 |
# find /usr/bin -type f -atime +100
|
جستجوی فایل های باینری که در ۱۰۰ روز گذشته استفاده نشده اند |
# find /usr/bin -type f -mtime -10
|
جستجوی فایل های ایجاد شده با تغییر کرده در طول ۱۰ روز گذشته |
# find / -name *.rpm -exec chmod 755 ‘{}’ \;
|
جستجوی فایل های با پسوند rpm و تغییر مجوز آنها |
# find / -xdev -name \*.rpm
|
جستجوی فایل های با پسوند rpm بدون جستجو در پارتیشن های جداشدنی مانند سی دی رام , حافظه فلش و … |
# locate \*.ps
|
جستجو فایل های با پسوند ps – ابتدا دستور updatedb اجرا می شود |
# whereis halt
|
نمایش مکان یک فایل باینری , سورس یا مستندات |
# which halt
|
نمایش مسیر کامل یک فایل باینری یا اجرایی |
|
|
|
نصب و استقرار یک فایل سیستم
|
دستور
|
توضیح |
# fuser -km /mnt/hda2
|
مجبور کردن پارتیشن hda2 برای خارج شدن ( unmount ) از مسیر mnt/hda2 |
# mount /dev/hda2 /mnt/hda2
|
استقرار ( mount ) پارتیشن با نام hda2 در مسیر mnt/hda2 برای دیدن محتویات آن پارتیشن |
# mount /dev/fd0 /mnt/floppy
|
استقرار ( mount ) یک فلاپی دیسک |
# mount /dev/cdrom /mnt/cdrom
|
استقرار ( mount ) یک سی دی رام یا دی وی دی رام |
# mount /dev/hdc /mnt/cdrecorder
|
استقرار ( mount ) یک سی دی رایتر یا دی وی دی رام |
# mount /dev/hdb /mnt/cdrecorder
|
استقرار ( mount ) یک سی دی رایتر یا دی وی دی رام |
# mount -o loop file.iso /mnt/cdrom
|
استقرار ( mount ) یک فایل ایمیج ( iso ) در مسیر مورد نظر |
# mount -t vfat /dev/hda5 /mnt/hda5
|
استقرار ( mount ) یک پارتیشن با فرمت FAT32 در مسیر مورد نظر |
# mount /dev/sda1 /mnt/usbdisk
|
استقرار ( mount ) یک حافظه فلش |
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
|
استقرار ( mount ) یک دایرکتوری به اشتراک گذاشته شده در شبکه ی سمبا ( samba ) در مسیر mnt/share |
# umount /dev/hda2
|
خارج کردن پارتیشن با نام hda2 از مسیر mnt/hda2 |
# umount -n /mnt/hda2
|
اجرای عمل خارج کردن پارتیشن ( unmount ) بدون بازنویسی فایل etc/mtab |
|
|
|
فضای دیسک سخت
|
دستور
|
توضیح |
# df -h
|
نمایش لیست پارتیشن های مانت ( mount ) شده |
# dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n
|
نمايانگر فضاي اشغال شده توسط بستههاي نسب شدهي deb كه به ترتيب حجم فايل مرتب شدهاند ( براي debian, ubuntu و غيره) |
# du -sh dir1
|
نمایش حجم استفاده شده توسط یک دایرکتوری با نام dir1 |
# du -sk * | sort -rn
|
نمایش حجم فایل ها و دایرکتوری ها که بر اساس حجم مرتب شده اند |
# ls -lSr |more
|
نمایش مشخصات کامل فایل ها و دایرکتوری ها که بر اساس حجم مرتب شده اند |
# rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n
|
نمایش فضای استفاده شده توسط بسته های نصب شده ی rpm که بر اساس حجم مرتب شده اند |
|
|
|
کاربرها و گروه ها
|
دستور
|
توضیح |
# chage -E 2005-12-31 user1
|
تعیین محدودیت زمانی برای پسورد کاربر user1 |
# groupadd [group]
|
ایجاد یک گروه جدید |
# groupdel [group]
|
حذف یک گروه |
# groupmod -n moon sun
|
تغییر نام یک گروه از moon به sun |
# grpck
|
کنترل و بررسی گرامر و فرمت صحیح فایل etc/group و موجود بودن گروه ها |
# newgrp – [group]
|
وارد شدن به یک گروه جدید و تغییر گروه پیش فرض فایل های ایجاد شده ی جدید |
# passwd
|
تغییر پسورد کاربر ریشه ( root ) |
# passwd user1
|
تغییر پسورد کاربر با نام user1 |
# pwck
|
کنترل و بررسی گرامر و فرمت صحیح فایل etc/passwd و موجود بودن کاربران |
# useradd -c “User Linux” -g admin -d /home/user1 -s /bin/bash user1
|
ایجاد یک کاربر جدید با نام user1 در گروه admin |
# useradd user1
|
ایجاد یک کاربر جدید با نام user1 |
# userdel -r user1
|
حذف یک کاربر. گزینه ی r , دایرکتوری متعلق به کاربر در دایرکتوری home را پاک خواهد کرد |
# usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1
|
تغییر مشخصات کاربر |
|
|
|
مجوز فایل ها
|
دستور
|
توضیح |
# chgrp group1 file1
|
تغییر گروه فایل با نام file1 به گروه با نام group1 |
# chmod ugo+rwx directory1
|
تغییر مجوز یک فایل یا دایرکتوری. خواندن (r) , نوشتن (w) , اجرای فایل یا جستجوی دایرکتوری (x) , مالکیت کاربری (u) , مالکیت کاربران گروه فایل (g) , مالکیت کاربران خارج از گروه فایل مورد نظر (o) |
# chmod go-rwx directory1
|
حذف مجوزهای یک فایل یا دایرکتوری |
# chmod u+s /bin/file1
|
دادن مجوز اجرایی به فایل با نام file1 به کاربر جاری |
# chmod u-s /bin/file1
|
حدف مجوزی اجرایی یک فایل با نام file1 از کاربر جاری |
# chmod g+s /home/public
|
دادن مجوز اجرایی به دایرکتوری با نام public به گروه جاری |
# chmod g-s /home/public
|
حدف مجوزی اجرایی یک دایرکتوری با نام public از گروه جاری |
# chmod o+t /home/public
|
دادن مجوز حذف فایل های یک دایرکتوری فقط به کاربر جاری |
# chmod o-t /home/public
|
لغو مجوز حذف فایل های یک دایرکتوری از کاربر جاری |
# chown user1 file1
|
تغییر مالکیت یک فایل یه کاربر user1 |
# chown -R user1 directory1
|
تغییر مالکیت یک دایرکتوری و تمام محتویات آن به کاربر user1 |
# chown user1:group1 file1
|
تغییر مالکیت فایل با نام file1 به گروه و کاربر group1 و user1 |
# find / -perm -u+s
|
نمایش همه ی فایل ها داخل پارتیشن لینوکس ( / ) که دارای مجوز مورد نظر هستند |
# ls -lh
|
نمایش مجوز فایل ها در مسیر مورد نظر |
# ls /tmp | pr -T5 -W$COLUMNS
|
نمایش فایل ها و دایرکتوری ها مسیر tmp به صورت ستونی , شامل ۵ ستون |
|
|
|
اعمال مشخصات ویژه بروی فایل
|
دستور
|
توضیح |
# chattr +a file1
|
در این حالت , فایل تنها در حالت الحاقی ( اضافه شدن ) قابل تغییر می باشد |
# chattr +c file1
|
اجازه فشرده سازی و باز کردن خودکار یک فایل را به کرنل میدهد |
# chattr +d file1
|
در این حالت , در هنگام اجرای ابزار سیستمی dump برای گرفتن نسخه ی پشتیبان در پارتیشن های ext3 , از فایل مورد نظر نسخه ی پشتیبان تهیه نخواهد شد |
# chattr +i file1
|
با اجرای این دستور , فایل حتی توسط کاربر root غیر قابل تغییر می شود |
# chattr +s file1
|
اجازهی امن بودن حذف یک فایل را میدهد |
# chattr +S file1
|
در این حالت , تغییرات در فایل همزمان بروی هارد دیسک ذخیره می شود |
# chattr +u file1
|
اجازهي بازيابي محتوبيات بك فايل، حتي اگر كه cancel شده باشد |
# lsattr
|
نمایش مشخصات ویژه یک فایل در یک پارتیشن با سیستم فایل ext3 |
|
|
|
فایل های فشرده و بایگانی
|
دستور
|
توضیح |
# bunzip2 file1.bz2
|
خارج کردن فایل file1.bz2 از حالت فشرده |
# bzip2 file1
|
فشرده کردن ( compress ) یک فایل با نام file1 با فرمت bzip2 |
# gunzip file1.gz
|
خارج کردن فایل file1.gz از حالت فشرده |
# gzip file1
|
فشرده کردن ( compress ) یک فایل با نام file1 با فرمت gzip |
# gzip -9 file1
|
فشرده کردن ( compress ) یک فایل با نام file1 با فرمت gzip با بیشترین میزان فشردگی |
# rar a file1.rar test_file
|
فشرده کردن ( compress ) یک فایل با نام file1 با فرمت rar |
# rar a file1.rar file1 file2 dir1
|
فشرده کردن ( compress ) چند فایل یا دایرکتوری به طور همزمان |
# rar x file1.rar
|
خارج کردن فایل file1.rar از حالت فشرده |
# tar -cvf archive.tar file1
|
ایجاد یک فایل با فرمت tar به صورت غیر فشرده |
# tar -cvf archive.tar file1 file2 dir1
|
ایجاد یک فایل فشرده , حاوی چند فایل و دایرکتوری |
# tar -tf archive.tar
|
نمایش محتویات یک فایل فشرده با فرمت tar |
# tar -xvf archive.tar
|
خارج کردن یک فایل فشرده با فرمت tar |
# tar -xvf archive.tar -C /tmp
|
خارج کردن یک فایل فشرده با فرمت tar به مسیر tmp |
# tar -cvfj archive.tar.bz2 dir1
|
ایجاد یک فایل فشرده با فرمت tar.bz2 |
# tar -xvfj archive.tar.bz2
|
خارج کردن یک فایل فشرده با فرمت tar.bz2 |
# tar -cvfz archive.tar.gz dir1
|
ایجاد یک فایل فشرده با فرمت tar.gz |
# tar -xvfz archive.tar.gz
|
خارج کردن یک فایل فشرده با فرمت tar.gz |
# unrar x file1.rar
|
خارج کردن فایل file1.rar از حالت فشرده |
# unzip file1.zip
|
خارج کردن یک فایل فشرده با فرمت zip |
# zip file1.zip file1
|
ایجاد یک فایل فشرده با فرمت zip |
# zip -r file1.zip file1 file2 dir1
|
ایجاد یک فایل فشرده با فرمت zip که حاوی تعدادی فایل و دایرکتوری است |
|
|
|
بسته های RPM ( فدورا و توزیع های مبتنی بر Red Hat )
|
دستور
|
توضیح |
# rpm -ivh [package.rpm]
|
نصب یک بسته ی rpm |
# rpm -ivh –nodeeps [package.rpm]
|
نصب یک بسته ی rpm بدون در نظر گرفتن بسته های پیش نیاز |
# rpm -U [package.rpm]
|
آپگرید یک بسته ی rpm بدون تغییر فایل های تنظیمات مربوط به آن بسته |
# rpm -F [package.rpm]
|
آپگرید یک بسته ی rpm فقط در حالتی که آن بسته نصب شده باشد |
# rpm -e [package]
|
حذف یک بسته ی rpm از سیستم |
# rpm -qa
|
نمایش همه ی بسته های rpm که در سیستم نصب شده اند |
# rpm -qa | grep httpd
|
نمایش همه ی بسته های rpm با نام httpd |
# rpm -qi [package]
|
نمایش اطلاعات مربوط به یک بسته ی نصب شده |
# rpm -qg “System Environment/Daemons”
|
نمایش بسته های rpm مربوط به یک گروه نرم افزاری |
# rpm -ql [package]
|
نمایش لیست فایل های مربوط به یک بسته ی rpm نصب شده |
# rpm -qc [package]
|
نمایش لیست فایل های تنظیمات مربوط به یک بسته ی rpm نصب شده |
# rpm -q [package] –whatrequires
|
نمایش لیست پیش نیاز های یک بسته ی rpm |
# rpm -q [package] –whatprovides
|
نمایش قابلیت های یک بسته ی rpm |
# rpm -q [package] –scripts
|
نمایش اسکریپت های اجرا شده در حین عمل نصب یا حذف یک بسته ی rpm |
# rpm -q [package] –changelog
|
نمایش تغییرات یک بسته ی rpm نسبت به نسخه ی قبلی |
# rpm -qf /etc/httpd/conf/httpd.conf
|
بررسی اینکه فایل مورد نظر به کدام بسته ی rpm تعلق دارد |
# rpm -qp [package.rpm] -l
|
نمایش لیست فایل های مربوط به یک بسته ی rpm که هنوز نصب نشده |
# rpm –import /media/cdrom/RPM-GPG-KEY
|
وارد کردن کلید ( key ) |
# rpm –checksig [package.rpm]
|
بررسی سالم بودن یک بسته ی rpm |
# rpm -qa gpg-pubkey
|
بررسی سالم بودن همه ی بسته های rpm نصب شده |
# rpm -V [package]
|
چک کردن حجم , md5 , مجوز و سایر مشخصات یک بسته ی rpm |
# rpm -Va
|
چک کردن حجم , md5 , مجوز و سایر مشخصات همه ی بسته ها ی rpm |
# rpm -Vp [package.rpm]
|
چک کردن حجم , md5 , مجوز و سایر مشخصات یک بسته ی rpm نصب نشده |
# rpm -ivh /usr/src/redhat/RPMS/`arch`/[package.rpm]
|
نصب یک بسته ی ساخته شده از سورس یک بسته ی rpm |
# rpm2cpio [package.rpm] | cpio –extract –make-directories *bin*
|
استخراج فایل های اجرایی از یک بسته ی rpm |
# rpmbuild –rebuild [package.src.rpm]
|
ساختن یک فایل rpm از روی سورس یک بسته ی rpm |
|
|
|
ابزار نصب YUM ( فدورا و توزیع های مبتنی بر Red Hat )
|
دستور
|
توضیح |
# yum -y install [package]
|
دانلود و نصب یک بسته ی rpm از مخازن |
# yum localinstall [package.rpm]
|
نصب یک بسته ی rpm و تلاش برای حل پیش نیاز ها با استفاده از مخازن |
# yum -y update
|
آپدیت همه ی بسته های rpm نصب شده در سیستم |
# yum update [package]
|
آپگرید یک بسته ی rpm به نسخه ی جدیدتر |
# yum remove [package]
|
حذف یک بسته ی rpm با استفاده از ابزار yum |
# yum list
|
نمایش لیست همه ی بسته های نصب شده در سیستم |
# yum search [package]
|
پیدا کردن یک بسته از مخازن |
# yum clean [package]
|
پاک کردن cache که شامل بسته های rpm دانلود شده توسط ابزار yum است |
# yum clean headers
|
پاک کردن همه فایل های header که سیستم برای حل پیش نیاز ها ( dependency ) از آنها استفاده می کند |
# yum clean all
|
پاک کردن همه ی فایل های header و cache |
|
|
|
بسته های DEB ( اوبونتو و توزیع های مبتنی بر دبیان )
|
دستور
|
توضیح |
# dpkg -i [package.deb]
|
نصب یا أپگرید یک بسته ی deb |
# dpkg -r [package]
|
حذف یک بسته ی deb از سیستم |
# dpkg -l
|
نمایش همه ی بسته های deb نصب شده در سیستم |
# dpkg -l | grep httpd
|
نمایش همه ی بسته های deb با نام httpd |
# dpkg -s [package]
|
نمایش اطلاعات مربوط به یک بسته ی خاص که در سیستم نصب شده است |
# dpkg -L [package]
|
نمایش لیست فایل های مربوط به یک بسته ی نصب شده در سیستم |
# dpkg –contents [package.deb]
|
نمایش لیست فایل های مربوط به یک بسته که هنوز نصب نشده |
# dpkg -S /bin/ping
|
بررسی اینکه فایل مورد نظر به کدام بسته تعلق دارد |
|
|
|
ابزار نصب APT ( اوبونتو و توزیع های مبتنی بر دبیان )
|
دستور
|
توضیح |
# apt-cache search [package]
|
جستجوی بسته ی مورد نظر |
# apt-cdrom install [package]
|
نصب یا آپگرید یک بسته ی deb از روی سی دی رام |
# apt-get install [package]
|
نصب یا آپگرید یک بسته ی deb از روی مخازن با استفاده از ابزار apt |
# apt-get update
|
بروز رسانی لیست تمام بسته های موجود در مخازن |
# apt-get upgrade
|
آپگرید همه ی بسته های نصب شده به نسخه ی جدیدتر |
# apt-get remove [package]
|
حذف یک بسته ی deb از روی سیستم توسط ابزار apt |
# apt-get check
|
بررسی وضعیت پیش نیازها ( dependencies ) |
# apt-get clean
|
پاک کردن cache که شامل بسته های deb دانلود شده توسط ابزار apt است |
|
|
|
ابزار نصب Pacman ( توزیع های Arch , Frugalware و … )
|
دستور
|
توضیح |
# pacman -S name
|
بستهي نرم افزار ‘name’ را با وابستگيهايش نسب كن |
# pacman -R name
|
بسته ی با نام ‘name’ را با تمام فايلهايش حذف كن |
|
|
|
مشاهده محتویات فایل
|
دستور
|
توضیح |
# cat file1
|
نمایش محتویات یک فایل با شروع از سطر اول |
# head -2 file1
|
نمایش دو خط اول یک فایل |
# less file1
|
مشابه دستور more است با این تفاوت که امکان حرکت رو به عقب نیز وجود دارد |
# more file1
|
نمایش محتویات یک فایل به صورت درصدی و رو به جلو |
# tac file1
|
نمایش محتویات یک فایل با شروع از خط آخر |
# tail -2 file1
|
نمایش دو خط آخر یک فایل |
# tail -f /var/log/messages
|
نمایش محتویات یک فایل به طوری که تغییرات صورت گرفته در فایل به طور لحظه ای نمایش داده می شود |
|
|
|
دستکاری فایل های متنی
|
دستور
|
توضیح |
# cat example.txt | awk ‘NR%2==1’
|
تمام خطوط زوج را از example.txt حذف كن |
# echo a b c | awk ‘{print $1}’
|
اولين ستون يك خط را نمايش بده |
# echo a b c | awk ‘{print $1,$3}’
|
اولين و سومين ستون يك خط را نمايش بده |
# cat -n file1
|
نمایش سطرهای فایل با شماره |
# comm -1 file1 file2
|
مقايسهي محتويات دو فايل كه فقط خطوط خاص را از ‘file1’ حذف ميكند |
# comm -2 file1 file2
|
مقايسهي محتويات دو فايل كه فقط خطوط خاص را از ‘file2’ حذف ميكند |
# comm -3 file1 file2
|
مقايسهي محتويات دو فايل كه فقط خطوط خاص را كه در دو فايل آمده را حذف ميكند |
# diff file1 file2
|
تفاوت بين دو فايل را نمايان ميكند |
# grep Aug /var/log/messages
|
در فايل ‘/var/log/messages’ كلمهي “Aug” را پيدا كن |
# grep ^Aug /var/log/messages
|
در فايل ‘/var/log/messages’ كلمه هايي را كه با “Aug” شروع ميشوند پيدا كن |
# grep [0-9] /var/log/messages
|
از فايل ‘/var/log/messages’ تمام خطوطي را كه شامل اعداد هستن نمايش بده |
# grep Aug -R /var/log/*
|
در شاخهي ‘/var/log’ و زير شاخهها كلمهي “Aug” را جستجو كن |
# paste file1 file2
|
محتويات دو فايل را با ستون با هم ادغام كن |
# paste -d ‘+’ file1 file2
|
پيوستن محتويات دو فايل براي دو ستون با استفاده از ‘+’ به عنوان تمييز دهنده در وسط |
# sdiff file1 file2
|
تفاوت بين دو فايل را پيدا كن و به صورت محاورهاي با هم ادغام كن |
# sed ‘s/string1/string2/g’ example.txt
|
در فايل example.txt عبارت “string1” را با “string2” جابجا كن |
# sed ‘/^$/d’ example.txt
|
تمام خطوط سفيد را از فايل example.txt پاك كن |
# sed ‘/ *#/d; /^$/d’ example.txt
|
تمام خطوط سفيد و comment ها را از فايل example.txt پاك كن |
# sed -e ‘1d’ exampe.txt
|
خط اول را از فايل example.txt پاك كن |
# sed -n ‘/string1/p’
|
خطوطي را نمايش بده كه شامل كملهي “string1” باشد |
# sed -e ‘s/ *$//’ example.txt
|
كاركتر خالي در آخر هر سطر را پاك كن |
# sed -e ‘s/string1//g’ example.txt
|
فقط كلمهي “string1” را حذف كن و بقيه را تغيير نده |
# sed -n ‘1,5p’ example.txt
|
سطر اول تا پنجم را از example.txt نمايش بده |
# sed -n ‘5p;5q’ example.txt
|
سطر پنجم را از example.txt نمايش بده |
# sed -e ‘s/00*/0/g’ example.txt
|
صفرهاي متعدد را با يك صفر تعويض كن |
# sort file1 file2
|
محتوييات دو فايل را به ترتيب كن |
# sort file1 file2 | uniq
|
محتوييات دو فايل را به ترتيب كن و خطوط تكراري را حذف كن |
# sort file1 file2 | uniq -u
|
محتوييات دو فايل را به ترتيب كن و خطوط تكراري نمايش بده |
# sort file1 file2 | uniq -d
|
محتوييات دو فايل را به ترتيب كن و خطوطي را كه دو بار تكرار شدهاند را نمايش بده |
# echo ‘word’ | tr ‘[:lower:]’ ‘[:upper:]’
|
حروف كوچك را به بزرگ تبديل كن |
|
|
|
تبدیل فرمت فایل ها
|
دستور
|
توضیح |
# dos2unix filedos.txt fileunix.txt
|
تبدیل فرمت یک فایل متنی از سیستم MSDOS به سیستم UNIX |
# recode ..HTML < page.txt > page.html
|
تبدیل یک فایل متنی به فرمت html |
# recode -l | more
|
نمایش همه ی فرمت های قابل تبدیل |
# unix2dos fileunix.txt filedos.txt
|
تبدیل فرمت یک فایل متنی از سیستم UNIX به سیستم MSDOS |
|
|
|
آنالیز و تعمیر فایل سیستم
|
دستور
|
توضیح |
# badblocks -v /dev/hda1
|
بلوكهاي خراب را بر روي hda1 بررسي كن |
# dosfsck /dev/hda1
|
درست بودن پیکربندی dos بر روی دیسک hda1 را بررسی یا درست کن |
# e2fsck /dev/hda1
|
درست بودن پیکربندی ext2 بر روی دیسک hda1 را بررسی یا درست کن |
# e2fsck -j /dev/hda1
|
درست بودن پیکربندی ext3 بر روی دیسک hda1 را بررسی یا درست کن |
# fsck /dev/hda1
|
درست بودن پیکربندی linux بر روی دیسک hda1 را بررسی یا درست کن |
# fsck.ext2 /dev/hda1
|
درست بودن پیکربندی ext2 بر روی دیسک hda1 را بررسی یا درست کن |
# fsck.ext3 /dev/hda1
|
درست بودن پیکربندی ext3 بر روی دیسک hda1 را بررسی یا درست کن |
# fsck.vfat /dev/hda1
|
درست بودن پیکربندیfat بر روی دیسک hda1 را بررسی یا درست کن |
# fsck.msdos /dev/hda1
|
درست بودن پیکربندی dos بر روی دیسک hda1 را بررسی یا درست کن |
|
|
|
فرمت یک فایل سیستم
|
دستور
|
توضیح |
# fdformat -n /dev/fd0
|
ديسك فلاپي را فرمت ميكند |
# mke2fs /dev/hda1
|
بر روي پارتيشن hda1، پيكربندي فايل از نوع لينوكس ext2 را درست كن |
# mke2fs -j /dev/hda1
|
بر روي پارتيشن hda1، پيكربندي فايل از نوع لينوكس ext3 ژورنال بندي شده (journal) را درست كن |
# mkfs /dev/hda1
|
ر روي پارتيشن hda1، پيكربندي فايل از نوع لينوكس ext2 را درست كن |
# mkfs -t vfat 32 -F /dev/hda1
|
بر روي پارتيشن hda1، پيكربندي فايل از نوع ويندوز FAT32 را درست كن |
# mkswap /dev/hda3
|
پيكر بندي فايل از نوع swap درست كن |
|
|
|
فایل سیستم SWAP
|
دستور
|
توضیح |
# mkswap /dev/hda3
|
ایجاد یک پارتیشن با فرمت swap |
# swapon /dev/hda3
|
فعال کردن یک پارتیشن swap جدید |
# swapon /dev/hda2 /dev/hdb3
|
فعال کردن همزمان دو پارتیشن swap |
|
|
|
گرفتن پشتیبان
|
دستور
|
توضیح |
# find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2
|
پیدا کردن تمامی فایل های با پسوند log و ساختن یک فایل فشرده با فرمت bzip از آنها |
# find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents
|
پیدا کردن همه ی فایل های با پسوند txt و کپی آنها از یک دایرکتوری به دایرکتوری دیگر |
# dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’
|
گرفتن پشتیبان از یک دیسک سخت بروی host از طریق ssh |
# dd if=/dev/sda of=/tmp/file1
|
گرفتن پشتیبان از یک پارتیشن در یک فایل |
# dd if=/dev/hda of=/dev/fd0 bs=512 count=1
|
کپی یک نسخه از MBR به یک فلاپی |
# dd if=/dev/fd0 of=/dev/hda bs=512 count=1
|
بازگرداندن MBR از نسخه ی پشتیبان در داخل یک فلاپی |
# dump -0aj -f /tmp/home0.bak /home
|
گرفتن یک نسخه ی پشتیبان کامل از دایرکتوری home |
# dump -1aj -f /tmp/home0.bak /home
|
گرفتن یک نسخه ی پشتیبان افزایشی از دایرکتوری home |
# restore -if /tmp/home0.bak
|
برگرداندن نسخه ی اصلی دایرکتوری home از طریق نسخه ی پشتیبان |
# rsync -rogpav –delete /home /tmp
|
یکسان سازی ( synchronization ) بین دو دایرکتوری home و tmp |
# rsync -rogpav -e ssh –delete /home ip_address:/tmp
|
یکسان سازی ( synchronization ) بین دو دایرکتوری home در کامپیوتر مبدا و tmp در دایرکتوری مقصد از طریق ssh |
# rsync -az -e ssh –delete ip_addr:/home/public /home/local
|
یکسان سازی ( synchronization ) یک دایرکتوری محلی با یک دایرکتوری از راه دور ( remote ) از طریق ssh و فشرده سازی همزمان |
# rsync -az -e ssh –delete /home/local ip_addr:/home/public
|
یکسان سازی ( synchronization ) یک دایرکتوری از راه دور ( remote ) با یک دایرکتوری محلی از طریق ssh و فشرده سازی همزمان |
# tar -Puf backup.tar /home/user
|
گرفتن یک نسخه ی پشتیبان افزایشی از دایرکتوری مورد نظر |
# ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’
|
کپی محتویات یک دایرکتوری در کامپیوتر مقصد ( remote ) از طریق ssh |
# ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’
|
کپی یک دایرکتوری به یک دایرکتوری بروی کامپیوتر مقصد ( remote ) از طریق ssh |
# tar cf – . | (cd /tmp/backup ; tar xf – )
|
کپی یک دایرکتوری به صورتی که مجوزها و لینک های موجود حفظ شود |
|
|
|
سی دی رام
|
دستور |
توضیح |
# cd-paranoia -B
|
ترکهای صوتی را از CD گرفته و به فایلهای wav تبدیل کن |
# cd-paranoia —
|
ریپ کردن ۳ فایل اول یک سی دی audio به فرمت wav |
# cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
|
پاک کردن یک سی دی با قابلیت رایت مجدد (rewritable) |
# cdrecord -v dev=/dev/cdrom cd.iso
|
رایت ISO بر روی CD |
# gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom –
|
رایت ISO فشرده بر روی CD |
# cdrecord –scanbus
|
مرور bus براي شناسايي كانالهاي scsi |
# dd if=/dev/hdc | md5sum
|
انجام دستور md5sum بر روی وسیلهای مانند CD |
# mkisofs /dev/cdrom > cd.iso
|
گرفتن ایمیج با فرمت iso از یک سی دی |
# mkisofs /dev/cdrom | gzip > cd_iso.gz
|
گرفتن ایمیج با فرمت iso به صورت فشرده از یک سی دی |
# mkisofs -J -allow-leading-dots -R -V
|
گرفتن ایمیج با فرمت iso از یک دایرکتوری |
# mount -o loop cd.iso /mnt/iso
|
استقرار ( mount ) یک فایل iso در مسیر مورد نظر |
|
|
|
دستورات شبکه ( Lan و WiFi )
|
دستور
|
توضیح |
# dhclient eth0
|
فعال سازی واسط eth0 در مد dhcp |
# ethtool eth0
|
امار شبکهی eth0 را نمایش می دهد |
# host www.example.com
|
تبدیل آدرس سایت مورد نظر به آدرس های IP و بالعکس |
# hostname
|
اسم host دستگاه را نمایش میدهد |
# ifconfig eth0
|
نمایش تنظیمات کارت شبکهی ethernet |
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0
|
تنظیم آدرس IP |
# ifconfig eth0 promisc
|
تنظیم کارت شبکه ( eth0 ) در حالت promiscuous برای جمع آوری بسته ها |
# ifdown eth0
|
واسط eth0 را غیر فعال میکند |
# ifup eth0
|
فعال سازی واسط eth0 |
# ip link show
|
مشاهده ی وضعیت اتصال تمامی شبکه های موجود |
# iwconfig eth1
|
نمایش شبکهی بیسیم |
# iwlist scan
|
جستجوی wifi برای نمایش اتصلات بیسیم قابل دسترسی |
# mii-tool eth0
|
وضعيت اتصال ‘eth0’ را نمايان كن |
# netstat -tup
|
نمایش تمام اتصلات فعال و PID مربوط آنها |
# netstat -tupl
|
نمایش تمام سرویسهای دستگاه و PID مربوطه |
# netstat -rn
|
جدول مسيرها “routing table” را نمايش بده، مانند دستور “route -n” |
# nslookup www.example.com
|
تبدیل آدرس سایت مورد نظر به آدرس های IP و بالعکس |
# route -n
|
نمایش جدول routing |
# route add -net 0/0 gw IP_Gateway
|
تغییر دروازه (gateway) پایه |
# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
|
تنظیم مسیر ایستایی برای رسیدن به شبکهی ۱۹۲٫۱۶۸٫۰٫۰/۱۶ |
# route del 0/0 gw IP_gateway
|
حذف مسیر ایستایی |
# echo “1” > /proc/sys/net/ipv4/ip_forward
|
فعال سازی ip routing |
# tcpdump tcp port 80
|
تمام ترافیک HTTP را نمایش میدهد |
# whois www.example.com
|
جستوجو در پایگاه دادهی Whois |
|
|
|
شبکه با مایکروسافت ویندوز ( SAMBA )
|
دستور
|
توضیح |
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
|
بابار گزاری اشتراک شبکهی ویندوز |
# nbtscan ip_addr
|
وضوح اسم نت بايوس |
# nmblookup -A ip_addr
|
وضوح اسم نت بايوس |
# smbclient -L ip_addr/hostname
|
اشتراکهای remote از یک host ویندوز را نمایش می دهد |
# smbget -Rr smb://ip_addr/share
|
مانند دستور wget میتوان فایل را از یک host ویندوز توسط پروتکل smb دانلود کند |
|
|
|
IPTABLES ( دیوار آتش )
|
دستور
|
توضیح |
# iptables -t filter -L
|
تمام زنجیرهای جدول فیلتر شدن را نمایش می دهد |
# iptables -t nat -L
|
تمام زنجیر های جدول nat را نمایش می دهد |
# iptables -t filter -F
|
تمام قوانین و شروط را از جدول فیلتر شدن پاک میکند |
# iptables -t nat -F
|
تمام قوانین و شروط را از جدول nat پاک میکند |
# iptables -t filter -X
|
هر زنجیری را که توسط کاربر درست شده باشد را پاک میکند |
# iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT
|
اجازهی اتصالات telnet را به ورودی میدهد |
# iptables -t filter -A OUTPUT -p tcp –dport http -j DROP
|
اتصالات HTTP به خروجی را قطع میکنند |
# iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT
|
اجازهی اتصالات POP3 را به زنجیر forward میدهد |
# iptables -t filter -A INPUT -j LOG –log-prefix
|
ثبت اتفاقات بروی رشته ی ورودی |
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
پیکربندی PAT بروی بسته های خروجی از eth0 |
# iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22
|
هدایت مجدد بسته های آدرس دهی شده به یک میزبان به میزبان دیگر |
|
|
|
نظارت و اشکال زدائی
|
دستور
|
توضیح |
# free -m
|
نمایش وضعیت حافظه ( RAM ) به مگابایت |
# kill -9 process_id
|
بستن ( از کار انداختن ) اجباری یک برنامه یا پردازش |
# kill -1 process_id
|
مجبور کردن یک برنامه یا پردازش به بارگذاری ( reload ) مجدد تنظیمات و فایل های پیکربندی |
# last reboot
|
نمایش تاریخ و زمان آخرین راه اندازی مجدد ( reboot ) سیستم |
# lsmod
|
نمایش ماژول های ( module ) بارگذاری شده توسط هسته ( kernel ) |
# lsof -p process_id
|
نمایش لیست فایل های در حال استفاده به وسیله ی یک برنامه یا پردازش |
# lsof /home/user1
|
نمایش لیست فایل های در حال استفاده در یک مسیر مورد نظر |
# ps -eafw
|
نمایش برنامه های در حال اجرا در لینوکس |
# ps -e -o pid,args –forest
|
نمایش برنامه های در حال اجرا بر اساس شماره ی PID |
# pstree
|
نمایش برنامه های در حال اجرا به صورت نمودار درختی |
# smartctl -A /dev/hda
|
کنترل و بازبینی قابلیت اطمینان دیسک سخت از طریق ویژگی SMART |
# smartctl -i /dev/hda
|
کنترل فعال بودن ویژگی SMART بروی یک دیسک سخت |
# strace -c ls >/dev/null
|
نمایش ارتباط های سیستم با یک برنامه یا پردازش |
# strace -f -e open ls >/dev/null
|
نمایش ارتباط های کتابخانه ها ( library ) با یک برنامه یا پردازش |
# tail /var/log/dmesg
|
نمایش وقایع و رویدادهای بوت شدن هسته ( kernel ) |
# tail /var/log/messages
|
نمایش وقایع و رویدادهای سیستم |
# top
|
نمایش برنامه های در حال اجرا که بیشترین استفاده از cpu را دارند |
# watch -n1 ‘cat /proc/interrupts’
|
نمایش حال حاضر ‘خطوط در خواست وقفه’ ( IRQ ) سخت افزار های مختلف |
|
|
|
دیگر دستورات مفید
|
دستور
|
توضیح |
# alias hh=’history’
|
برای دستور history (تاریخچه) اسم مستعار hh را قرار بده. |
# apropos …keyword
|
این دستور لیست تمام دستورهایی که کلمهی کلیدی را داشته باشد نمایاش می دهد، وقتی که کارایی دستور را میدانید ولی خود دستور را نمیدانید میتوان از این دستور استفاده کرد.. |
# chsh
|
تغییر دادن shell |
# chsh –list-shells
|
نمایش لیست شل ( shell ) های موجود در مسیر etc/shells |
# gpg -c file1
|
رمز گذاری یک فایل با استفاده از GNU Privacy Guard |
# gpg file1.gpg
|
رمز گشایی یک فایل با استفاده از GNU Privacy Guard |
# ldd /usr/bin/ssh
|
نمایش دهندهی کتابخانههای مشترک (shared libraries) مور نیاز برنامهی ssh |
# man ping
|
نمایش دهندهی صفهات راهنمای on-line برای دستور ping با استفاده از گزینهی k- میتوان دستورات مربوطه را نیز پیدا کردن |
# mkbootdisk –device /dev/fd0 `uname -r`
|
ساخت فلاپی قابل boot |
# wget -r www.example.com
|
این دستوریک وب سایت کامل را دانلود میکند |
# wget -c www.example.com/file.iso
|
این دستور امکان دانلود فایل با قابلیت ادمه دادن پس از یک وقفه را دارد |
# echo ‘wget -c www.example.com/files.iso’ | at 09:00
|
شروع دانلود برای زمان مورد نظر |
# whatis …keyword
|
کارایی برنامهای را توضیح میدهد |
# who -a
|
این دستور کسانی را که بر روی سیستم هستن، آخرین راه اندازی سیستم،پروسههای مرده، نحوهی کار login دستگاه، پروسههای فعال راه اندازی شدهی init، آخرین تغییرات در ساعت دستگاه و runlevel فعلی دستگاه را نمایش می دهد |
|
|
|