--------------------------------------------------------------------------------------------- Optimizer of Information Technology & Communication ----------------------------------------------------------------------
امنیت، سرعت و دقت را از ما بخواهید

آشنايي با لينوكس

linux_commands

در این نوشته سعی داریم با برخی از دستورات ساده اما پر کاربرد محیط متنی لینوکس آشنا شویم. محیط متنی لینوکس، برخلاف آنچه به نظر می‌رسد بسیار کاربردی و انعطاف‌پذیر است. اغلب سیستم‌های کاری که سرویس‌های مهمی را به کاربران ارائه می‌دهند بدلیل امکان کاهش کارایی، فاقد محیط گرافیکی هستند. علاوه بر آن مدیر یک سیستم مبتنی بر لینوکس اغلب مجبور است از راه دور، به تنظیم و یا رفع عیب سیستم خود بپردازد که این امر با استفاده از پروتکل‌های امن بعلاوه‌ی امکانات محیط متنی بسیار راحت انجام‌پذیر است. به همین دلایل است که اغلب برای لینوکس‌کارها هیچ کاری لذت‌بخش‌تر از کار با محیط متنی نیست!!!

– دستورات مربوط به دایرکتوری و فایل‌ها

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 فعلی دستگاه را نمایش می دهد

 

**** ورود شما را به اين سايت علمي آموزشي خوش آمد مي گوييم و منتظر نقطه نظرات ارزشمند شما هستيم ****    
Copy Protected by Chetan's WP-Copyprotect. برو به بالا