You are on page 1of 17

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

‫کامل‬

‫نام ونام خانوادگی تهیه کنندگان‪:‬‬

‫زهرا رحیمی قانع (ناحیه ‪ ) 2‬شماره پرسنلی ‪-52922021:‬فوق لیسانس کامپیوترو‬


‫فاطمه رحیمی قانع(شهرستان فامنین) شماره پرسنلی ‪-06252262:‬لیسانس کامپیوتر‬
‫ازاستان همدان‬

‫‪Z_rahimighaneh@yahoo.com‬‬
‫‪fth_rahimi@yahoo.com‬‬
‫لیست دستورات‪:‬‬

‫‪ .1‬اطالعات سیستم‬
‫‪ .2‬خاموش کردن ‪ ,‬راه اندازی مجدد و خروج یک سیستم‬
‫‪ .3‬فایل ها و دایرکتوری ها‬
‫‪ .4‬جستجوی فایل‬
‫‪ .5‬نصب و استقرار یک فایل سیستم‬
‫‪ .6‬فضای دیسک سخت‬
‫‪ .7‬کاربرها و گروه ها‬
‫‪ .8‬مجوز فایل ها‬
‫‪ .9‬اعمال مشخصات ویژه بروی فایل‬
‫‪ .11‬فایل های فشرده و بایگانی‬
‫‪ .11‬بسته های ‪ ( RPM‬فدورا و توزیع های مبتنی بر ‪) Red Hat‬‬
‫‪ .12‬ابزار نصب ‪ ( YUM‬فدورا و توزیع های مبتنی بر ‪) Red Hat‬‬
‫‪ .13‬بسته های ‪ ( DEB‬اوبونتو و توزیع های مبتنی بر دبیان )‬
‫‪ .14‬ابزار نصب ‪ ( APT‬اوبونتو و توزیع های مبتنی بر دبیان )‬
‫‪ .15‬ابزار نصب ‪ ( Pacman‬توزیع های ‪ Arch , Frugalware‬و … )‬
‫‪ .16‬مشاهده ی محتویات فایل‬
‫‪ .17‬دستکاری فایل های متنی‬
‫‪ .18‬تبدیل فرمت فایل ها‬
‫‪ .19‬آنالیز و تعمیر فایل سیستم‬
‫‪ .21‬فرمت یک فایل سیستم‬
‫‪ .21‬فایل سیستم ‪SWAP‬‬
‫‪ .22‬گرفتن پشتیبان‬
‫‪ .23‬سی دی رام‬
‫‪ .24‬دستورات شبکه ( ‪ Lan‬و ‪) WiFi‬‬
‫‪ .25‬شبکه با مایکروسافت ویندوز ( ‪) SAMBA‬‬
‫‪ ( IPTABLES .26‬دیوار آتش )‬
‫‪ .27‬نظارت و اشکال زدائی‬
‫‪ .28‬دیگر دستورات مفید‬
‫اطالعات سیستم‬
‫توضیح‬ ‫دستور‬
‫‪ # arch‬نمایش معماری سیستم [‪]man‬‬
‫‪ # cal 2007‬نمایش تقویم سال ‪ 2117‬میالدی [‪]man‬‬
‫‪ # cat /proc/cpuinfo‬نمایش اطالعات ‪]man[ CPU‬‬
‫‪ # cat /proc/interrupts‬نمایش ‘خطوط در خواست وقفه’ ( ‪ ) IRQ‬سخت افزار های‬
‫مختلف [‪]man‬‬
‫‪ # cat /proc/meminfo‬نمایش اطالعات حافظه ی سیستم [‪]man‬‬
‫‪ # cat /proc/swaps‬نمایش اطالعات حافظه ی مجازی [‪]man‬‬
‫‪ # cat /proc/version‬نمایش نام توزیع و نسخه ی هسته ی استفاده شده در‬
‫سیستم [‪]man‬‬
‫‪ # cat /proc/net/dev‬نمایش آمار و اطالعات کارت های شبکه و وایرلس [‪]man‬‬
‫‪ # cat /proc/mounts‬نمایش فایل سیستم های متصل شده به سیستم [‪]man‬‬
‫‪ # clock -w‬ذخیره ی تغییرات تاریخ بروی بایوس [‪]man‬‬
‫‪ # date‬نمایش تاریخ سیستم [‪]man‬‬
‫‪ # date 041217002007.00‬تنظیم تاریخ سیستم – به ترتیب از چپ به راست ‪ :‬ماه ‪ ,‬روز ‪,‬‬
‫ساعت ‪ ,‬دقیقه ‪ ,‬سال ‪ ,‬ثانیه [‪]man‬‬
‫‪ # dmidecode -q‬نمایش بسیار کامل اجزای سخت افزاری سیستم [‪]man‬‬
‫‪ # hdparm -i /dev/hda‬نمایش مشخصات و ویژگی های دیسک سخت [‪]man‬‬
‫‪ # hdparm -tT /dev/sda‬انجام آزمایش ‘خواندن’ بروی دیسک سخت و تعیین سرعت‬
‫آن [‪]man‬‬
‫‪ # lspci -tv‬نمایش قطعات و دستگاههای متصل شده به پورت ‪]man[ PCI‬‬
‫‪ # lsusb -tv‬نمایش قطعات و دستگاههای متصل شده به پورت ‪]man[ USB‬‬
‫‪ # uname -m‬نمایش معماری سیستم [‪]man‬‬
‫‪ # uname -r‬نمایش نسخه ی هسته ی استفاده شده در سیستم [‪]man‬‬

‫خاموش کردن ‪ ,‬راه اندازی مجدد و خروج یک سیستم‬


‫توضیح‬ ‫دستور‬
‫‪ # init 0‬این دستور برای خاموش کردن سیستم به کار می رود [‪]man‬‬
‫‪ # logout‬خارج شدن از سیستم و رفتن به صفحه ی ورود مجدد ( ‪Login‬‬
‫) [‪]man‬‬
‫‪ # reboot‬این دستور برای راه اندازی مجدد ( ‪ ) restart‬سیستم به کار می‬
‫رود [‪]man‬‬
‫‪ # shutdown -h now‬این دستور برای خاموش کردن سیستم به کار می رود [‪]man‬‬
‫& ‪ # shutdown -h 16:30‬خاموش کردن سیستم در ساعت و دقیقه ی معین [‪]man‬‬
‫‪ # shutdown -c‬لغو کردن ( ‪ ) cancel‬خاموش شدن سیستم در زمان‬
‫معین [‪]man‬‬
‫‪ # shutdown -r now‬این دستور برای راه اندازی مجدد ( ‪ ) restart‬سیستم به کار می‬
‫رود [‪]man‬‬
‫‪ # telinit 0‬این دستور برای خاموش کردن سیستم به کار می رود [‪]man‬‬

‫فایل ها و دایرکتوری ها‬


‫توضیح‬ ‫دستور‬
‫‪ # cd /home‬ورود به دایرکتوری یا شاخه ی مورد نظر مانند پوشه ی خانگی (‬
‫‪]man[ ) home‬‬
‫‪ # cd ..‬برگشتن به دایرکتوری قبلی [‪]man‬‬
‫‪ # cd ../..‬برگشتن به دو دایرکتوری قبلی [‪]man‬‬
‫‪ # cd‬رفتن به پوشه ی خانگی ( ‪ ) home‬از هر مسیر دلخواه [‪]man‬‬
‫‪ # cd ~user1‬رفتن به پوشه ی خانگی کاربر مورد نظر از هر مسیر‬
‫دلخواه [‪]man‬‬
‫‪ # cd -‬برگشتن به آخرین دایرکتوری ( مسیر ) که در آن بوده‬
‫اید [‪]man‬‬
‫‪ # cp file1 file2‬کپی کردن یک فایل با نام ‪ file1‬به مسیر مورد نظر [‪]man‬‬
‫‪ # cp dir/* .‬کپی کردن تمام فایل های موجود در دایرکتوری مورد نظر به‬
‫مسیر جاری که در آن هستید [‪]man‬‬
‫‪ # cp -a /tmp/dir1 .‬کپی کردن دایرکتوری مورد نظر به مسیر جاری که در آن‬
‫هستید [‪]man‬‬
‫‪ # cp -a dir1 dir2‬کپی دایرکتوری مبدا ( ‪ ) dir1‬به دایرکتوری مقصد ( ‪ .) dir2‬به‬
‫جای ‪ dir1‬و ‪ dir2‬مسیر کامل دایرکتوری های مبدا و مقصد را قرار‬
‫دهید [‪]man‬‬
‫‪ # cp file file1‬نمایش نوع و ماهیت یک فایل به همراه مشخصات آن‪ .‬به جای‬
‫‪ file1‬مسیر فایل مورد نظر را قرار دهید [‪]man‬‬
‫‪ # iconv -l‬نمایش لیست سیستم های کد گذاری [‪]man‬‬
‫> ‪ # iconv -f fromEncoding -t toEncoding inputFile‬تبدیل سیستم کدگذاری ( ‪ ) encoding‬یک فایل ورودی به یک‬
‫‪ outputFile‬سیستم کدگذاری دیگر [‪]man‬‬
‫‪ # find . -maxdepth 1 -name *.jpg -print -exec convert‬تغییر اندازه ی دسته ای فایل ها در دایرکتوری جاری و ارسال‬
‫آنها به یک دایرکتوری ‪ ( thumbnails‬به برنامه ‪ convert‬از‬
‫‪ Imagemagick‬نیاز می باشد ) [‪]man‬‬
‫‪ # ln -s file1 lnk1‬ایجاد لینک نمادین ( میانبر ) به فایل یا دایرکتوری دلخواه‪ .‬به‬
‫جای ‪ file1‬مسیر فایل یا دایرکتوری مورد نظر و به جای ‪lnk1‬‬
‫مسیر دایرکتوری که قرار است فایل یا دایرکتوری میانبر در آن‬
‫ایجاد شود را قرار دهید [‪]man‬‬
‫‪ # ln file1 lnk1‬ایجاد لینک فیزیکی به یک فایل یا دایرکتوری ( در واقع همان‬
‫عمل کپی می باشد ) [‪]man‬‬
‫‪ # ls‬نمایش فایل ها و دایرکتوری های موجود در دایرکتوری‬
‫جاری [‪]man‬‬
‫‪ # ls -F‬نمایش فایل ها و دایرکتوری های موجود در دایرکتوری‬
‫جاری [‪]man‬‬
‫‪ # ls -l‬نمایش جزئیات فایل ها و دایرکتوری های موجود در دایرکتوری‬
‫جاری [‪]man‬‬
‫‪ # ls -a‬نمایش فایل ها و دایرکتوری های موجود و همچنین فایل های‬
‫مخفی در دایرکتوری جاری [‪]man‬‬
‫*]‪ # ls *[0-9‬نمایش فایل ها و دایرکتوری هایی که اسم آنها شامل اعداد‬
‫است [‪]man‬‬
‫‪ # lstree‬نمایش تمام فایل ها و دایرکتوری های یک شاخه [‪]man‬‬
‫‪ # mkdir dir1‬ایجاد یک دایرکتوری با نام ‪ dir1‬در مسیر مورد نظر [‪]man‬‬
‫‪ # mkdir dir1 dir2‬ایجاد دو دایرکتوری همزمان در مسیر مورد نظر [‪]man‬‬
‫‪ # mkdir -p /tmp/dir1/dir2‬ایجاد یک شاخه ی دایرکتوری با شروع از ‪]man[ root‬‬
‫‪ # mv dir1 new_dir‬تغییر نام یا جا به جا کردن ( ‪ ) move‬یک فایل یا‬
‫دایرکتوری [‪]man‬‬
‫‪ # pwd‬نشان دادن مسیر دایرکتوری جاری [‪]man‬‬
‫‪ # rm -f file1‬پاک کردن یک فایل با نام ‪]man[ file1‬‬
‫‪ # rm -rf dir1‬پاک کردن یک دایرکتوری با نام ‪ dir1‬و محتویات آن به صورت‬
‫بازگشتی [‪]man‬‬
‫‪ # rm -rf dir1 dir2‬پاک کردن دو دایرکتوری در مسیر مورد نظر و محتویات آنها به‬
‫صورت بازگشتی [‪]man‬‬
‫‪ # rmdir dir1‬پاک کردن یک دایرکتوری با نام ‪]man[ dir1‬‬
‫‪ # touch -t 0712250000 file1‬تغییر تاریخ ویرایش یا تغییر یک فایل یا دایرکتوری‪ .‬به جای ‪file1‬‬
‫مسیر فایل یا دایرکتوری مورد نظر را قرار دهید [‪]man‬‬
‫‪ # tree‬نمایش تمام فایل ها و دایرکتوری های یک شاخه [‪]man‬‬

‫جستجوی فایل‬
‫توضیح‬ ‫دستور‬
‫‪ # find / -name file1‬جستجوی فایل و دایرکتوری در داخل پارتیشن لینوکس ( ‪root‬‬
‫) [‪]man‬‬
‫‪ # find / -user user1‬جستجوی فایل و دایرکتوری متعلق به ‪]man[ user1‬‬
‫‪ # find /home/user1 -name \*.bin‬جستجوی فایل های با پسوند ‪ bin‬در داخل دایرکتوری‬
‫‪]man[ home/user1‬‬
‫‪ # find /usr/bin -type f -atime +100‬جستجوی فایل های باینری که در ‪ 111‬روز گذشته استفاده‬
‫نشده اند [‪]man‬‬
‫‪ # find /usr/bin -type f -mtime -10‬جستجوی فایل های ایجاد شده با تغییر کرده در طول ‪ 11‬روز‬
‫گذشته [‪]man‬‬
‫;\ ’}{‘ ‪ # find / -name *.rpm -exec chmod 755‬جستجوی فایل های با پسوند ‪ rpm‬و تغییر مجوز آنها ! [‪]man‬‬
‫‪ # find / -xdev -name \*.rpm‬جستجوی فایل های با پسوند ‪ rpm‬بدون جستجو در پارتیشن‬
‫های جداشدنی مانند سی دی رام ‪ ,‬حافظه فلش و … [‪]man‬‬
‫‪ # locate \*.ps‬جستجو فایل های با پسوند ‪ – ps‬ابتدا دستور ‪ updatedb‬اجرا‬
‫می شود [‪]man‬‬
‫‪ # whereis halt‬نمایش مکان یک فایل باینری ‪ ,‬سورس یا مستندات [‪]man‬‬
‫‪ # which halt‬نمایش مسیر کامل یک فایل باینری یا اجرایی [‪]man‬‬

‫نصب و استقرار یک فایل سیستم‬


‫توضیح‬ ‫دستور‬
‫‪ # fuser -km /mnt/hda2‬مجبور کردن پارتیشن ‪ hda2‬برای خارج شدن ( ‪ ) unmount‬از‬
‫مسیر ‪]man[ mnt/hda2‬‬
‫‪ # mount /dev/hda2 /mnt/hda2‬استقرار ( ‪ ) mount‬پارتیشن با نام ‪ hda2‬در مسیر ‪mnt/hda2‬‬
‫برای دیدن محتویات آن پارتیشن [‪]man‬‬
‫‪ # mount /dev/fd0 /mnt/floppy‬استقرار ( ‪ ) mount‬یک فالپی دیسک [‪]man‬‬
‫‪ # mount /dev/cdrom /mnt/cdrom‬استقرار ( ‪ ) mount‬یک سی دی رام یا دی وی دی رام [‪]man‬‬
‫‪ # mount /dev/hdc /mnt/cdrecorder‬استقرار ( ‪ ) mount‬یک سی دی رایتر یا دی وی دی‬
‫رام [‪]man‬‬
‫‪ # mount /dev/hdb /mnt/cdrecorder‬استقرار ( ‪ ) mount‬یک سی دی رایتر یا دی وی دی‬
‫رام [‪]man‬‬
‫‪ # mount -o loop file.iso /mnt/cdrom‬استقرار ( ‪ ) mount‬یک فایل ایمیج ( ‪ ) iso‬در مسیر مورد‬
‫نظر [‪]man‬‬
‫‪ # mount -t vfat /dev/hda5 /mnt/hda5‬استقرار ( ‪ ) mount‬یک پارتیشن با فرمت ‪ FAT32‬در مسیر مورد‬
‫نظر [‪]man‬‬
‫‪ # mount /dev/sda1 /mnt/usbdisk‬استقرار ( ‪ ) mount‬یک حافظه فلش [‪]man‬‬
‫‪ # mount -t smbfs -o username=user,password=pass‬استقرار ( ‪ ) mount‬یک دایرکتوری به اشتراک گذاشته شده در‬
‫‪ //WinClient/share /mnt/share‬شبکه ی سمبا ( ‪ ) samba‬در مسیر ‪]man[ mnt/share‬‬
‫‪ # umount /dev/hda2‬خارج کردن پارتیشن با نام ‪ hda2‬از مسیر ‪]man[ mnt/hda2‬‬
‫‪ # umount -n /mnt/hda2‬اجرای عمل خارج کردن پارتیشن ( ‪ ) unmount‬بدون بازنویسی‬
‫فایل ‪]man[ etc/mtab‬‬

‫فضای دیسک سخت‬


‫توضیح‬ ‫دستور‬
‫‪ # df -h‬نمایش لیست پارتیشن های مانت ( ‪ ) mount‬شده [‪]man‬‬
‫‪ # dpkg-query -W -f=’${Installed-‬نمایانگر فضای اشغال شده توسط بستههای نسب شدهی ‪deb‬‬
‫‪ Size;10}t${Package}n’ | sort -k1,1n‬که به ترتیب حجم فایل مرتب شدهاند ( برای ‪ ubuntu ,debian‬و‬
‫غیره) [‪]man‬‬
‫‪ # du -sh dir1‬نمایش حجم استفاده شده توسط یک دایرکتوری با نام‬
‫‪]man[ dir1‬‬
‫‪ # du -sk * | sort -rn‬نمایش حجم فایل ها و دایرکتوری ها که بر اساس حجم مرتب‬
‫شده اند [‪]man‬‬
‫‪ # ls -lSr |more‬نمایش مشخصات کامل فایل ها و دایرکتوری ها که بر اساس‬
‫حجم مرتب شده اند [‪]man‬‬
‫‪ # rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -‬نمایش فضای استفاده شده توسط بسته های نصب شده ی‬
‫‪ rpm k1,1n‬که بر اساس حجم مرتب شده اند [‪]man‬‬

‫کاربرها و گروه ها‬


‫توضیح‬ ‫دستور‬
‫‪ # chage -E 2005-12-31 user1‬تعیین محدودیت زمانی برای پسورد کاربر ‪]man[ user1‬‬
‫]‪ # groupadd [group‬ایجاد یک گروه جدید [‪]man‬‬
‫]‪ # groupdel [group‬حذف یک گروه [‪]man‬‬
‫‪ # groupmod -n moon sun‬تغییر نام یک گروه از ‪ moon‬به ‪]man[ sun‬‬
‫‪ # grpck‬کنترل و بررسی گرامر و فرمت صحیح فایل ‪ etc/group‬و موجود‬
‫بودن گروه ها [‪]man‬‬
‫]‪ # newgrp – [group‬وارد شدن به یک گروه جدید و تغییر گروه پیش فرض فایل های‬
‫ایجاد شده ی جدید [‪]man‬‬
‫‪ # passwd‬تغییر پسورد کاربر ریشه ( ‪]man[ ) root‬‬
‫‪ # passwd user1‬تغییر پسورد کاربر با نام ‪]man[ user1‬‬
‫‪ # pwck‬کنترل و بررسی گرامر و فرمت صحیح فایل ‪ etc/passwd‬و موجود‬
‫بودن کاربران [‪]man‬‬
‫‪ # useradd -c “User Linux” -g admin -d /home/user1 -‬ایجاد یک کاربر جدید با نام ‪ user1‬در گروه ‪]man[ admin‬‬
‫‪s /bin/bash user1‬‬
‫‪ # useradd user1‬ایجاد یک کاربر جدید با نام ‪]man[ user1‬‬
‫‪ # userdel -r user1‬حذف یک کاربر‪ .‬گزینه ی ‪ , r‬دایرکتوری متعلق به کاربر در‬
‫دایرکتوری ‪ home‬را پاک خواهد کرد ! [‪]man‬‬
‫‪ # usermod -c “User FTP” -g system -d /ftp/user1 -s‬تغییر مشخصات کاربر [‪]man‬‬
‫‪/bin/nologin user1‬‬

‫مجوز فایل ها‬


‫توضیح‬ ‫دستور‬
‫‪ # chgrp group1 file1‬تغییر گروه فایل با نام ‪ file1‬به گروه با نام ‪]man[ group1‬‬
‫‪ # chmod ugo+rwx directory1‬تغییر مجوز یک فایل یا دایرکتوری‪ .‬خواندن (‪ , )r‬نوشتن (‪, )w‬‬
‫اجرای فایل یا جستجوی دایرکتوری (‪ , )x‬مالکیت کاربری (‪, )u‬‬
‫مالکیت کاربران گروه فایل (‪ , )g‬مالکیت کاربران خارج از گروه فایل‬
‫مورد نظر (‪]man[ )o‬‬
‫‪ # chmod go-rwx directory1‬حذف مجوزهای یک فایل یا دایرکتوری [‪]man‬‬
‫‪ # chmod u+s /bin/file1‬دادن مجوز اجرایی به فایل با نام ‪ file1‬به کاربر جاری [‪]man‬‬
‫‪ # chmod u-s /bin/file1‬حدف مجوزی اجرایی یک فایل با نام ‪ file1‬از کاربر جاری [‪]man‬‬
‫‪ # chmod g+s /home/public‬دادن مجوز اجرایی به دایرکتوری با نام ‪ public‬به گروه‬
‫جاری [‪]man‬‬
‫‪ # chmod g-s /home/public‬حدف مجوزی اجرایی یک دایرکتوری با نام ‪ public‬از گروه‬
‫جاری [‪]man‬‬
‫‪ # chmod o+t /home/public‬دادن مجوز حذف فایل های یک دایرکتوری فقط به کاربر‬
‫جاری [‪]man‬‬
‫‪ # chmod o-t /home/public‬لغو مجوز حذف فایل های یک دایرکتوری از کاربر جاری [‪]man‬‬
‫‪ # chown user1 file1‬تغییر مالکیت یک فایل یه کاربر ‪]man[ user1‬‬
‫‪ # chown -R user1 directory1‬تغییر مالکیت یک دایرکتوری و تمام محتویات آن به کاربر‬
‫‪]man[ user1‬‬
‫‪ # chown user1:group1 file1‬تغییر مالکیت فایل با نام ‪ file1‬به گروه و کاربر ‪ group1‬و‬
‫‪]man[ user1‬‬
‫‪ # find / -perm -u+s‬نمایش همه ی فایل ها داخل پارتیشن لینوکس ( ‪ ) /‬که دارای‬
‫مجوز مورد نظر هستند [‪]man‬‬
‫‪ # ls -lh‬نمایش مجوز فایل ها در مسیر مورد نظر [‪]man‬‬
‫‪ # ls /tmp | pr -T5 -W$COLUMNS‬نمایش فایل ها و دایرکتوری ها مسیر ‪ tmp‬به صورت ستونی ‪,‬‬
‫شامل ‪ 5‬ستون [‪]man‬‬

‫اعمال مشخصات ویژه بروی فایل‬


‫توضیح‬ ‫دستور‬
‫‪ # chattr +a file1‬در این حالت ‪ ,‬فایل تنها در حالت الحاقی ( اضافه شدن ) قابل‬
‫تغییر می باشد [‪]man‬‬
‫‪ # chattr +c file1‬اجازه فشرده سازی و باز کردن خودکار یک فایل را به کرنل‬
‫میدهد [‪]man‬‬
‫‪ # chattr +d file1‬در این حالت ‪ ,‬در هنگام اجرای ابزار سیستمی ‪ dump‬برای‬
‫گرفتن نسخه ی پشتیبان در پارتیشن های ‪ , ext3‬از فایل مورد‬
‫نظر نسخه ی پشتیبان تهیه نخواهد شد [‪]man‬‬
‫‪ # chattr +i file1‬با اجرای این دستور ‪ ,‬فایل حتی توسط کاربر ‪ root‬غیر قابل تغییر‬
‫می شود [‪]man‬‬
‫‪ # chattr +s file1‬اجازهی امن بودن حذف یک فایل را میدهد [‪]man‬‬
‫‪ # chattr +S file1‬در این حالت ‪ ,‬تغییرات در فایل همزمان بروی هارد دیسک ذخیره‬
‫می شود [‪]man‬‬
‫‪ # chattr +u file1‬اجازهی بازیابی محتوبیات بک فایل‪ ،‬حتی اگر که ‪ cancel‬شده‬
‫باشد [‪]man‬‬
‫‪ # lsattr‬نمایش مشخصات ویژه یک فایل در یک پارتیشن با سیستم فایل‬
‫‪]man[ ext3‬‬

‫فایل های فشرده و بایگانی‬


‫توضیح‬ ‫دستور‬
‫‪ # bunzip2 file1.bz2‬خارج کردن فایل ‪ file1.bz2‬از حالت فشرده [‪]man‬‬
‫‪ # bzip2 file1‬فشرده کردن ( ‪ ) compress‬یک فایل با نام ‪ file1‬با فرمت‬
‫‪]man[ bzip2‬‬
‫‪ # gunzip file1.gz‬خارج کردن فایل ‪ file1.gz‬از حالت فشرده [‪]man‬‬
‫‪ # gzip file1‬فشرده کردن ( ‪ ) compress‬یک فایل با نام ‪ file1‬با فرمت‬
‫‪]man[ gzip‬‬
‫‪ # gzip -9 file1‬فشرده کردن ( ‪ ) compress‬یک فایل با نام ‪ file1‬با فرمت ‪ gzip‬با‬
‫بیشترین میزان فشردگی [‪]man‬‬
‫‪ # rar a file1.rar test_file‬فشرده کردن ( ‪ ) compress‬یک فایل با نام ‪ file1‬با فرمت‬
‫‪]man[ rar‬‬
‫‪ # rar a file1.rar file1 file2 dir1‬فشرده کردن ( ‪ ) compress‬چند فایل یا دایرکتوری به طور‬
‫همزمان [‪]man‬‬
‫‪ # rar x file1.rar‬خارج کردن فایل ‪ file1.rar‬از حالت فشرده [‪]man‬‬
‫‪ # tar -cvf archive.tar file1‬ایجاد یک فایل با فرمت ‪ tar‬به صورت غیر فشرده [‪]man‬‬
‫‪ # tar -cvf archive.tar file1 file2 dir1‬ایجاد یک فایل فشرده ‪ ,‬حاوی چند فایل و دایرکتوری [‪]man‬‬
‫‪ # tar -tf archive.tar‬نمایش محتویات یک فایل فشرده با فرمت ‪]man[ tar‬‬
‫‪ # tar -xvf archive.tar‬خارج کردن یک فایل فشرده با فرمت ‪]man[ tar‬‬
‫‪ # tar -xvf archive.tar -C /tmp‬خارج کردن یک فایل فشرده با فرمت ‪ tar‬به مسیر ‪]man[ tmp‬‬
‫‪ # tar -cvfj archive.tar.bz2 dir1‬ایجاد یک فایل فشرده با فرمت ‪]man[ tar.bz2‬‬
‫‪ # tar -xvfj archive.tar.bz2‬خارج کردن یک فایل فشرده با فرمت ‪]man[ tar.bz2‬‬
‫‪ # tar -cvfz archive.tar.gz dir1‬ایجاد یک فایل فشرده با فرمت ‪]man[ tar.gz‬‬
‫‪ # tar -xvfz archive.tar.gz‬خارج کردن یک فایل فشرده با فرمت ‪]man[ tar.gz‬‬
‫‪ # unrar x file1.rar‬خارج کردن فایل ‪ file1.rar‬از حالت فشرده [‪]man‬‬
‫‪ # unzip file1.zip‬خارج کردن یک فایل فشرده با فرمت ‪]man[ zip‬‬
‫‪ # zip file1.zip file1‬ایجاد یک فایل فشرده با فرمت ‪]man[ zip‬‬
‫‪ # zip -r file1.zip file1 file2 dir1‬ایجاد یک فایل فشرده با فرمت ‪ zip‬که حاوی تعدادی فایل و‬
‫دایرکتوری است [‪]man‬‬

‫بسته های ‪ RPM‬فدورا و توزیع های مبتنی بر ‪Red‬‬


‫‪Hat‬‬
‫توضیح‬ ‫دستور‬
‫]‪ # rpm -ivh [package.rpm‬نصب یک بسته ی ‪]man[ rpm‬‬
‫]‪ # rpm -ivh –nodeeps [package.rpm‬نصب یک بسته ی ‪ rpm‬بدون در نظر گرفتن بسته های پیش‬
‫نیاز [‪]man‬‬
‫]‪ # rpm -U [package.rpm‬آپگرید یک بسته ی ‪ rpm‬بدون تغییر فایل های تنظیمات مربوط به‬
‫آن بسته [‪]man‬‬
‫]‪ # rpm -F [package.rpm‬آپگرید یک بسته ی ‪ rpm‬فقط در حالتی که آن بسته نصب شده‬
‫باشد [‪]man‬‬
‫]‪ # rpm -e [package‬حذف یک بسته ی ‪ rpm‬از سیستم [‪]man‬‬
‫‪ # rpm -qa‬نمایش همه ی بسته های ‪ rpm‬که در سیستم نصب شده‬
‫اند [‪]man‬‬
‫‪ # rpm -qa | grep httpd‬نمایش همه ی بسته های ‪ rpm‬با نام ‪]man[ httpd‬‬
‫]‪ # rpm -qi [package‬نمایش اطالعات مربوط به یک بسته ی نصب شده [‪]man‬‬
‫”‪ # rpm -qg “System Environment/Daemons‬نمایش بسته های ‪ rpm‬مربوط به یک گروه نرم افزاری [‪]man‬‬
‫]‪ # rpm -ql [package‬نمایش لیست فایل های مربوط به یک بسته ی ‪ rpm‬نصب‬
‫شده [‪]man‬‬
‫]‪ # rpm -qc [package‬نمایش لیست فایل های تنظیمات مربوط به یک بسته ی ‪rpm‬‬
‫نصب شده [‪]man‬‬
‫‪ # rpm -q [package] –whatrequires‬نمایش لیست پیش نیاز های یک بسته ی ‪]man[ rpm‬‬
‫‪ # rpm -q [package] –whatprovides‬نمایش قابلیت های یک بسته ی ‪]man[ rpm‬‬
‫‪ # rpm -q [package] –scripts‬نمایش اسکریپت های اجرا شده در حین عمل نصب یا حذف یک‬
‫بسته ی ‪]man[ rpm‬‬
‫‪ # rpm -q [package] –changelog‬نمایش تغییرات یک بسته ی ‪ rpm‬نسبت به نسخه ی‬
‫قبلی [‪]man‬‬
‫‪ # rpm -qf /etc/httpd/conf/httpd.conf‬بررسی اینکه فایل مورد نظر به کدام بسته ی ‪ rpm‬تعلق‬
‫دارد [‪]man‬‬
‫‪ # rpm -qp [package.rpm] -l‬نمایش لیست فایل های مربوط به یک بسته ی ‪ rpm‬که هنوز‬
‫نصب نشده [‪]man‬‬
‫‪ # rpm –import /media/cdrom/RPM-GPG-KEY‬وارد کردن کلید ( ‪]man[ ) key‬‬
‫]‪ # rpm –checksig [package.rpm‬بررسی سالم بودن یک بسته ی ‪]man[ rpm‬‬
‫‪ # rpm -qa gpg-pubkey‬بررسی سالم بودن همه ی بسته های ‪ rpm‬نصب‬
‫شده [‪]man‬‬
‫]‪ # rpm -V [package‬چک کردن حجم ‪ , md5 ,‬مجوز و سایر مشخصات یک بسته ی‬
‫‪]man[ rpm‬‬
‫‪ # rpm -Va‬چک کردن حجم ‪ , md5 ,‬مجوز و سایر مشخصات همه ی بسته‬
‫ها ی ‪]man[ rpm‬‬
‫]‪ # rpm -Vp [package.rpm‬چک کردن حجم ‪ , md5 ,‬مجوز و سایر مشخصات یک بسته ی‬
‫‪ rpm‬نصب نشده [‪]man‬‬
‫‪ # rpm -ivh‬نصب یک بسته ی ساخته شده از سورس یک بسته ی‬
‫]‪]man[ rpm /usr/src/redhat/RPMS/`arch`/[package.rpm‬‬
‫‪ # rpm2cpio [package.rpm] | cpio –extract –make-‬استخراج فایل های اجرایی از یک بسته ی ‪]man[ rpm‬‬
‫*‪directories *bin‬‬
‫]‪ # rpmbuild –rebuild [package.src.rpm‬ساختن یک فایل ‪ rpm‬از روی سورس یک بسته ی ‪]man[ rpm‬‬

‫ابزار نصب ‪ YUM‬فدورا و توزیع های مبتنی بر ‪Red Hat‬‬


‫توضیح‬ ‫دستور‬
‫]‪ # yum -y install [package‬دانلود و نصب یک بسته ی ‪ rpm‬از مخازن [‪]man‬‬
‫]‪ # yum localinstall [package.rpm‬نصب یک بسته ی ‪ rpm‬و تالش برای حل پیش نیاز ها با‬
‫استفاده از مخازن [‪]man‬‬
‫‪ # yum -y update‬آپدیت همه ی بسته های ‪ rpm‬نصب شده در سیستم [‪]man‬‬
‫]‪ # yum update [package‬آپگرید یک بسته ی ‪ rpm‬به نسخه ی جدیدتر [‪]man‬‬
‫]‪ # yum remove [package‬حذف یک بسته ی ‪ rpm‬با استفاده از ابزار ‪]man[ yum‬‬
‫‪ # yum list‬نمایش لیست همه ی بسته های نصب شده در‬
‫سیستم [‪]man‬‬
‫]‪ # yum search [package‬پیدا کردن یک بسته از مخازن [‪]man‬‬
‫]‪ # yum clean [package‬پاک کردن ‪ cache‬که شامل بسته های ‪ rpm‬دانلود شده توسط‬
‫ابزار ‪ yum‬است [‪]man‬‬
‫‪ # yum clean headers‬پاک کردن همه فایل های ‪ header‬که سیستم برای حل پیش‬
‫نیاز ها ( ‪ ) dependency‬از آنها استفاده می کند [‪]man‬‬
‫‪ # yum clean all‬پاک کردن همه ی فایل های ‪ header‬و ‪]man[ cache‬‬
‫بسته های ‪ DEB‬اوبونتو و توزیع های مبتنی بر دبیان‬
‫توضیح‬ ‫دستور‬
‫]‪ # dpkg -i [package.deb‬نصب یا أپگرید یک بسته ی ‪]man[ deb‬‬
‫]‪ # dpkg -r [package‬حذف یک بسته ی ‪ deb‬از سیستم [‪]man‬‬
‫‪ # dpkg -l‬نمایش همه ی بسته های ‪ deb‬نصب شده در سیستم [‪]man‬‬
‫‪ # dpkg -l | grep httpd‬نمایش همه ی بسته های ‪ deb‬با نام ‪]man[ httpd‬‬
‫]‪ # dpkg -s [package‬نمایش اطالعات مربوط به یک بسته ی خاص که در سیستم‬
‫نصب شده است [‪]man‬‬
‫]‪ # dpkg -L [package‬نمایش لیست فایل های مربوط به یک بسته ی نصب شده در‬
‫سیستم [‪]man‬‬
‫]‪ # dpkg –contents [package.deb‬نمایش لیست فایل های مربوط به یک بسته که هنوز نصب‬
‫نشده [‪]man‬‬
‫‪ # dpkg -S /bin/ping‬بررسی اینکه فایل مورد نظر به کدام بسته تعلق دارد [‪]man‬‬

‫ابزار نصب ‪ APT‬اوبونتو و توزیع های مبتنی بر دبیان‬


‫توضیح‬ ‫دستور‬
‫]‪ # apt-cache search [package‬جستجوی بسته ی مورد نظر [‪]man‬‬
‫]‪ # apt-cdrom install [package‬نصب یا آپگرید یک بسته ی ‪ deb‬از روی سی دی رام [‪]man‬‬
‫]‪ # apt-get install [package‬نصب یا آپگرید یک بسته ی ‪ deb‬از روی مخازن با استفاده از ابزار‬
‫‪]man[ apt‬‬
‫‪ # apt-get update‬بروز رسانی لیست تمام بسته های موجود در مخازن [‪]man‬‬
‫‪ # apt-get upgrade‬آپگرید همه ی بسته های نصب شده به نسخه ی‬
‫جدیدتر [‪]man‬‬
‫]‪ # apt-get remove [package‬حذف یک بسته ی ‪ deb‬از روی سیستم توسط ابزار ‪]man[ apt‬‬
‫‪ # apt-get check‬بررسی وضعیت پیش نیازها ( ‪]man[ ) dependencies‬‬
‫‪ # apt-get clean‬پاک کردن ‪ cache‬که شامل بسته های ‪ deb‬دانلود شده توسط‬
‫ابزار ‪ apt‬است [‪]man‬‬

‫ابزار نصب ‪ Pacman‬توزیع های ‪ Arch , Frugalware‬و …‬


‫توضیح‬ ‫دستور‬
‫‪ # pacman -S name‬بستهی نرم افزار ‘‪ ’name‬را با وابستگیهایش نسب‬
‫کن [‪]man‬‬
‫‪ # pacman -R name‬بسته ی با نام ‘‪ ’name‬را با تمام فایلهایش حذف کن [‪]man‬‬

‫مشاهده ی محتویات فایل‬


‫توضیح‬ ‫دستور‬
‫‪ # cat file1‬نمایش محتویات یک فایل با شروع از سطر اول [‪]man‬‬
‫‪ # head -2 file1‬نمایش دو خط اول یک فایل [‪]man‬‬
‫‪ # less file1‬مشابه دستور ‪ more‬است با این تفاوت که امکان حرکت رو به‬
‫عقب نیز وجود دارد [‪]man‬‬
‫‪ # more file1‬نمایش محتویات یک فایل به صورت درصدی و رو به جلو [‪]man‬‬
‫‪ # tac file1‬نمایش محتویات یک فایل با شروع از خط آخر [‪]man‬‬
‫‪ # tail -2 file1‬نمایش دو خط آخر یک فایل [‪]man‬‬
‫‪ # tail -f /var/log/messages‬نمایش محتویات یک فایل به طوری که تغییرات صورت گرفته در‬
‫فایل به طور لحظه ای نمایش داده می شود [‪]man‬‬

‫دستکاری فایل های متنی‬


‫توضیح‬ ‫دستور‬
‫‪ # cat example.txt | awk ‘NR%2==1′‬تمام خطوط زوج را از ‪ example.txt‬حذف کن [‪]man‬‬
‫’}‪ # echo a b c | awk ‘{print $1‬اولین ستون یک خط را نمایش بده [‪]man‬‬
‫’}‪ # echo a b c | awk ‘{print $1,$3‬اولین و سومین ستون یک خط را نمایش بده [‪]man‬‬
‫‪ # cat -n file1‬نمایش سطرهای فایل با شماره [‪]man‬‬
‫‪ # comm -1 file1 file2‬مقایسهی محتویات دو فایل که فقط خطوط خاص را از ‘‪file1′‬‬
‫حذف میکند [‪]man‬‬
‫‪ # comm -2 file1 file2‬مقایسهی محتویات دو فایل که فقط خطوط خاص را از ‘‪file2′‬‬
‫حذف میکند [‪]man‬‬
‫‪ # comm -3 file1 file2‬مقایسهی محتویات دو فایل که فقط خطوط خاص را که در دو‬
‫فایل آمده را حذف میکند [‪]man‬‬
‫‪ # diff file1 file2‬تفاوت بین دو فایل را نمایان میکند [‪]man‬‬
‫‪ # grep Aug /var/log/messages‬در فایل ‘‪ ’var/log/messages/‬کلمهی “‪ ”Aug‬را پیدا کن [‪]man‬‬
‫‪ # grep ^Aug /var/log/messages‬در فایل ‘‪ ’var/log/messages/‬کلمه هایی را که با “‪ ”Aug‬شروع‬
‫میشوند پیدا کن [‪]man‬‬
‫‪ # grep [0-9] /var/log/messages‬از فایل ‘‪ ’var/log/messages/‬تمام خطوطی را که شامل اعداد‬
‫هستن نمایش بده [‪]man‬‬
‫*‪ # grep Aug -R /var/log/‬در شاخهی ‘‪ ’var/log/‬و زیر شاخهها کلمهی “‪ ”Aug‬را جستجو‬
‫کن [‪]man‬‬
‫‪ # paste file1 file2‬محتویات دو فایل را با ستون با هم ادغام کن [‪]man‬‬
‫‪ # paste -d ‘+’ file1 file2‬پیوستن محتویات دو فایل برای دو ستون با استفاده از ‘‪ ’+‬به‬
‫عنوان تمییز دهنده در وسط [‪]man‬‬
‫‪ # sdiff file1 file2‬تفاوت بین دو فایل را پیدا کن و به صورت محاورهای با هم ادغام‬
‫کن [‪]man‬‬
‫‪ # sed ‘s/string1/string2/g’ example.txt‬در فایل ‪ example.txt‬عبارت “‪ string1″‬را با “‪ string2″‬جابجا‬
‫کن [‪]man‬‬
‫‪ # sed ‘/^$/d’ example.txt‬تمام خطوط سفید را از فایل ‪ example.txt‬پاک کن [‪]man‬‬
‫‪ # sed ‘/ *#/d; /^$/d’ example.txt‬تمام خطوط سفید و ‪ comment‬ها را از فایل ‪ example.txt‬پاک‬
‫کن [‪]man‬‬
‫‪ # sed -e ’1d’ exampe.txt‬خط اول را از فایل ‪ example.txt‬پاک کن [‪]man‬‬
‫’‪ # sed -n ‘/string1/p‬خطوطی را نمایش بده که شامل کملهی “‪string1″‬‬
‫باشد [‪]man‬‬
‫‪ # sed -e ‘s/ *$//’ example.txt‬کارکتر خالی در آخر هر سطر را پاک کن [‪]man‬‬
‫‪ # sed -e ‘s/string1//g’ example.txt‬فقط کلمهی “‪ string1″‬را حذف کن و بقیه را تغییر نده [‪]man‬‬
‫‪ # sed -n ’1,5p’ example.txt‬سطر اول تا پنجم را از ‪ example.txt‬نمایش بده [‪]man‬‬
‫‪ # sed -n ’5p;5q’ example.txt‬سطر پنجم را از ‪ example.txt‬نمایش بده [‪]man‬‬
‫‪ # sed -e ‘s/00*/0/g’ example.txt‬صفرهای متعدد را با یک صفر تعویض کن [‪]man‬‬
‫‪ # sort file1 file2‬محتوییات دو فایل را به ترتیب کن [‪]man‬‬
‫‪ # sort file1 file2 | uniq‬محتوییات دو فایل را به ترتیب کن و خطوط تکراری را حذف‬
‫کن [‪]man‬‬
‫‪ # sort file1 file2 | uniq -u‬محتوییات دو فایل را به ترتیب کن و خطوط تکراری نمایش‬
‫بده [‪]man‬‬
‫‪ # sort file1 file2 | uniq -d‬محتوییات دو فایل را به ترتیب کن و خطوطی را که دو بار تکرار‬
‫شدهاند را نمایش بده [‪]man‬‬
‫‘]‪ # echo ‘word’ | tr ‘[:lower:]‘ ‘[:upper:‬حروف کوچک را به بزرگ تبدیل کن [‪]man‬‬

‫تبدیل فرمت فایل ها‬


‫توضیح‬ ‫دستور‬
‫‪ # dos2unix filedos.txt fileunix.txt‬تبدیل فرمت یک فایل متنی از سیستم ‪ MSDOS‬به سیستم‬
‫‪]man[ UNIX‬‬
‫‪ # recode ..HTML < page.txt > page.html‬تبدیل یک فایل متنی به فرمت ‪]man[ html‬‬
‫‪ # recode -l | more‬نمایش همه ی فرمت های قابل تبدیل [‪]man‬‬
‫‪ # unix2dos fileunix.txt filedos.txt‬تبدیل فرمت یک فایل متنی از سیستم ‪ UNIX‬به سیستم‬
‫‪]man[ MSDOS‬‬

‫آنالیز و تعمیر فایل سیستم‬


‫توضیح‬ ‫دستور‬
‫‪ # badblocks -v /dev/hda1‬بلوکهای خراب را بر روی ‪ hda1‬بررسی کن [‪]man‬‬
‫‪ # dosfsck /dev/hda1‬درست بودن پیکربندی ‪ dos‬بر روی دیسک ‪ hda1‬را بررسی یا‬
‫درست کن [‪]man‬‬
‫‪ # e2fsck /dev/hda1‬درست بودن پیکربندی ‪ ext2‬بر روی دیسک ‪ hda1‬را بررسی یا‬
‫درست کن [‪]man‬‬
‫‪ # e2fsck -j /dev/hda1‬درست بودن پیکربندی ‪ ext3‬بر روی دیسک ‪ hda1‬را بررسی یا‬
‫درست کن [‪]man‬‬
‫‪ # fsck /dev/hda1‬درست بودن پیکربندی ‪ linux‬بر روی دیسک ‪ hda1‬را بررسی یا‬
‫درست کن [‪]man‬‬
‫‪ # fsck.ext2 /dev/hda1‬درست بودن پیکربندی ‪ ext2‬بر روی دیسک ‪ hda1‬را بررسی یا‬
‫درست کن [‪]man‬‬
‫‪ # fsck.ext3 /dev/hda1‬درست بودن پیکربندی ‪ ext3‬بر روی دیسک ‪ hda1‬را بررسی یا‬
‫درست کن [‪]man‬‬
‫‪ # fsck.vfat /dev/hda1‬درست بودن پیکربندی‪ fat‬بر روی دیسک ‪ hda1‬را بررسی یا‬
‫درست کن [‪]man‬‬
‫‪ # fsck.msdos /dev/hda1‬درست بودن پیکربندی ‪ dos‬بر روی دیسک ‪ hda1‬را بررسی یا‬
‫درست کن [‪]man‬‬

‫فرمت یک فایل سیستم‬


‫توضیح‬ ‫دستور‬
‫‪ # fdformat -n /dev/fd0‬دیسک فالپی را فرمت میکند [‪]man‬‬
‫‪ # mke2fs /dev/hda1‬بر روی پارتیشن ‪ ،hda1‬پیکربندی فایل از نوع لینوکس ‪ ext2‬را‬
‫درست کن [‪]man‬‬
‫‪ # mke2fs -j /dev/hda1‬بر روی پارتیشن ‪ ،hda1‬پیکربندی فایل از نوع لینوکس ‪ext3‬‬
‫ژورنال بندی شده (‪ )journal‬را درست کن [‪]man‬‬
‫‪ # mkfs /dev/hda1‬ر روی پارتیشن ‪ ،hda1‬پیکربندی فایل از نوع لینوکس ‪ ext2‬را‬
‫درست کن [‪]man‬‬
‫‪ # mkfs -t vfat 32 -F /dev/hda1‬بر روی پارتیشن ‪ ،hda1‬پیکربندی فایل از نوع ویندوز ‪ FAT32‬را‬
‫درست کن [‪]man‬‬
‫‪ # mkswap /dev/hda3‬پیکر بندی فایل از نوع ‪ swap‬درست کن [‪]man‬‬

‫فایل سیستم‪SWAP‬‬
‫توضیح‬ ‫دستور‬
‫‪ # mkswap /dev/hda3‬ایجاد یک پارتیشن با فرمت ‪]man[ swap‬‬
‫‪ # swapon /dev/hda3‬فعال کردن یک پارتیشن ‪ swap‬جدید [‪]man‬‬
‫‪ # swapon /dev/hda2 /dev/hdb3‬فعال کردن همزمان دو پارتیشن ‪]man[ swap‬‬

‫گرفتن پشتیبان‬
‫توضیح‬ ‫دستور‬
‫| ‪ # find /var/log -name ‘*.log’ | tar cv –files-from=-‬پیدا کردن تمامی فایل های با پسوند ‪ log‬و ساختن یک فایل‬
‫‪ bzip2 > log.tar.bz2‬فشرده با فرمت ‪ bzip‬از آنها [‪]man‬‬
‫– ‪ # find /home/user1 -name ‘*.txt’ | xargs cp -av‬پیدا کردن همه ی فایل های با پسوند ‪ txt‬و کپی آنها از یک‬
‫‪ target-directory=/home/backup/ –parents‬دایرکتوری به دایرکتوری دیگر [‪]man‬‬
‫‪ # dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr‬گرفتن پشتیبان از یک دیسک سخت بروی ‪ host‬از طریق‬
‫’‪]man[ ssh ‘dd of=hda.gz‬‬
‫‪ # dd if=/dev/sda of=/tmp/file1‬گرفتن پشتیبان از یک پارتیشن در یک فایل [‪]man‬‬
‫‪ # dd if=/dev/hda of=/dev/fd0 bs=512 count=1‬کپی یک نسخه از ‪ MBR‬به یک فالپی [‪]man‬‬
‫‪ # dd if=/dev/fd0 of=/dev/hda bs=512 count=1‬بازگرداندن ‪ MBR‬از نسخه ی پشتیبان در داخل یک‬
‫فالپی [‪]man‬‬
‫‪ # dump -0aj -f /tmp/home0.bak /home‬گرفتن یک نسخه ی پشتیبان کامل از دایرکتوری ‪]man[ home‬‬
‫‪ # dump -1aj -f /tmp/home0.bak /home‬گرفتن یک نسخه ی پشتیبان افزایشی از دایرکتوری‬
‫‪]man[ home‬‬
‫‪ # restore -if /tmp/home0.bak‬برگرداندن نسخه ی اصلی دایرکتوری ‪ home‬از طریق نسخه ی‬
‫پشتیبان [‪]man‬‬
‫‪ # rsync -rogpav –delete /home /tmp‬یکسان سازی ( ‪ ) synchronization‬بین دو دایرکتوری ‪ home‬و‬
‫‪]man[ tmp‬‬
‫‪ # rsync -rogpav -e ssh –delete /home‬یکسان سازی ( ‪ ) synchronization‬بین دو دایرکتوری ‪ home‬در‬
‫‪ ip_address:/tmp‬کامپیوتر مبدا و ‪ tmp‬در دایرکتوری مقصد از طریق ‪]man[ ssh‬‬
‫‪ # rsync -az -e ssh –delete ip_addr:/home/public‬یکسان سازی ( ‪ ) synchronization‬یک دایرکتوری محلی با یک‬
‫‪ /home/local‬دایرکتوری از راه دور ( ‪ ) remote‬از طریق ‪ ssh‬و فشرده سازی‬
‫همزمان [‪]man‬‬
‫‪ # rsync -az -e ssh –delete /home/local‬یکسان سازی ( ‪ ) synchronization‬یک دایرکتوری از راه دور (‬
‫‪ ) remote ip_addr:/home/public‬با یک دایرکتوری محلی از طریق ‪ ssh‬و فشرده سازی‬
‫همزمان [‪]man‬‬
‫‪ # tar -Puf backup.tar /home/user‬گرفتن یک نسخه ی پشتیبان افزایشی از دایرکتوری مورد‬
‫نظر [‪]man‬‬
‫‪ # ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr‬کپی محتویات یک دایرکتوری در کامپیوتر مقصد ( ‪ ) remote‬از‬
‫’‪ ‘cd /home/share/ && tar x -p‬طریق ‪]man[ ssh‬‬
‫‪ # ( tar c /home ) | ssh -C user@ip_addr ‘cd‬کپی یک دایرکتوری به یک دایرکتوری بروی کامپیوتر مقصد (‬
‫’‪ ) remote /home/backup-home && tar x -p‬از طریق ‪]man[ ssh‬‬
‫) – ‪ # tar cf – . | (cd /tmp/backup ; tar xf‬کپی یک دایرکتوری به صورتی که مجوزها و لینک های موجود‬
‫حفظ شود [‪]man‬‬

‫سی دی رام‬
‫توضیح‬ ‫دستور‬
‫‪ # cd-paranoia -B‬ترکهای صوتی را از ‪ CD‬گرفته و به فایلهای ‪ wav‬تبدیل‬
‫کن [‪]man‬‬
‫– ‪ # cd-paranoia‬ریپ کردن ‪ 3‬فایل اول یک سی دی ‪ audio‬به فرمت‬
‫‪]man[ wav‬‬
‫‪ # cdrecord -v gracetime=2 dev=/dev/cdrom -eject‬پاک کردن یک سی دی با قابلیت رایت مجدد‬
‫‪]man[ )rewritable( blank=fast -force‬‬
‫‪ # cdrecord -v dev=/dev/cdrom cd.iso‬رایت ‪ ISO‬بر روی ‪]man[ CD‬‬
‫‪ # gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -‬رایت ‪ ISO‬فشرده بر روی ‪]man[ CD‬‬
‫‪ # cdrecord –scanbus‬مرور ‪ bus‬برای شناسایی کانالهای ‪]man[ scsi‬‬
‫‪ # dd if=/dev/hdc | md5sum‬انجام دستور ‪ md5sum‬بر روی وسیلهای مانند ‪]man[ CD‬‬
‫‪ # mkisofs /dev/cdrom > cd.iso‬گرفتن ایمیج با فرمت ‪ iso‬از یک سی دی [‪]man‬‬
‫‪ # mkisofs /dev/cdrom | gzip > cd_iso.gz‬گرفتن ایمیج با فرمت ‪ iso‬به صورت فشرده از یک سی‬
‫دی [‪]man‬‬
‫‪ # mkisofs -J -allow-leading-dots -R -V‬گرفتن ایمیج با فرمت ‪ iso‬از یک دایرکتوری [‪]man‬‬
‫‪ # mount -o loop cd.iso /mnt/iso‬استقرار ( ‪ ) mount‬یک فایل ‪ iso‬در مسیر مورد نظر [‪]man‬‬

‫دستورات شبکه ‪ Lan‬و ‪WiFi‬‬


‫توضیح‬ ‫دستور‬
‫‪ # dhclient eth0‬فعال سازی واسط ‪ eth0‬در مد ‪]man[ dhcp‬‬
‫‪ # ethtool eth0‬امار شبکهی ‪ eth0‬را نمایش می دهد [‪]man‬‬
‫‪ # host www.example.com‬تبدیل آدرس سایت مورد نظر به آدرس های ‪ IP‬و بالعکس‬
‫! [‪]man‬‬
‫‪ # hostname‬اسم ‪ host‬دستگاه را نمایش میدهد [‪]man‬‬
‫‪ # ifconfig eth0‬نمایش تنظیمات کارت شبکهی ‪]man[ ethernet‬‬
‫‪ # ifconfig eth0 192.168.1.1 netmask 255.255.255.0‬تنظیم آدرس ‪]man[ IP‬‬
‫‪ # ifconfig eth0 promisc‬تنظیم کارت شبکه ( ‪ ) eth0‬در حالت ‪ promiscuous‬برای جمع‬
‫آوری بسته ها [‪]man‬‬
‫‪ # ifdown eth0‬واسط ‪ eth0‬را غیر فعال میکند [‪]man‬‬
‫‪ # ifup eth0‬فعال سازی واسط ‪]man[ eth0‬‬
‫‪ # ip link show‬مشاهده ی وضعیت اتصال تمامی شبکه های موجود [‪]man‬‬
‫‪ # iwconfig eth1‬نمایش شبکهی بیسیم [‪]man‬‬
‫‪ # iwlist scan‬جستجوی ‪ wifi‬برای نمایش اتصالت بیسیم قابل‬
‫دسترسی [‪]man‬‬
‫‪ # mii-tool eth0‬وضعیت اتصال ‘‪ eth0′‬را نمایان کن [‪]man‬‬
‫‪ # netstat -tup‬نمایش تمام اتصالت فعال و ‪ PID‬مربوط آنها [‪]man‬‬
‫‪ # netstat -tupl‬نمایش تمام سرویسهای دستگاه و ‪ PID‬مربوطه [‪]man‬‬
‫ مانند دستور‬،‫” را نمایش بده‬routing table“ ‫ جدول مسیرها‬# netstat -rn
]man[ ”route -n“
‫ و بالعکس‬IP ‫ تبدیل آدرس سایت مورد نظر به آدرس های‬# nslookup www.example.com
]man[ !
]man[ routing ‫ نمایش جدول‬# route -n
]man[ ‫) پایه‬gateway( ‫ تغییر دروازه‬# route add -net 0/0 gw IP_Gateway
‫ تنظیم مسیر ایستایی برای رسیدن به شبکهی‬# route add -net 192.168.0.0 netmask 255.255.0.0
]man[ 16/192۹168۹1۹1 gw 192.168.1.1
]man[ ‫ حذف مسیر ایستایی‬# route del 0/0 gw IP_gateway
]man[ ip routing ‫ فعال سازی‬# echo “1″ > /proc/sys/net/ipv4/ip_forward
]man[ ‫ را نمایش میدهد‬HTTP ‫ تمام ترافیک‬# tcpdump tcp port 80
]man[ Whois ‫ جستوجو در پایگاه دادهی‬# whois www.example.com

( SAMBA )‫شبکه با مایکروسافت ویندوز‬


‫توضیح‬ ‫دستور‬
]man[ ‫ بابار گزاری اشتراک شبکهی ویندوز‬# mount -t smbfs -o username=user,password=pass
//WinClient/share /mnt/share
]man[ ‫ وضوح اسم نت بایوس‬# nbtscan ip_addr
]man[ ‫ وضوح اسم نت بایوس‬# nmblookup -A ip_addr
‫ ویندوز را نمایش می‬host ‫ از یک‬remote ‫ اشتراکهای‬# smbclient -L ip_addr/hostname
]man[ ‫دهد‬
‫ ویندوز توسط‬host ‫ میتوان فایل را از یک‬wget ‫ مانند دستور‬# smbget -Rr smb://ip_addr/share
]man[ ‫ دانلود کند‬smb ‫پروتکل‬

(‫(دیوار آتش‬IPTABLES
‫توضیح‬ ‫دستور‬
]man[ ‫ تمام زنجیرهای جدول فیلتر شدن را نمایش می دهد‬# iptables -t filter -L
]man[ ‫ را نمایش می دهد‬nat ‫ تمام زنجیر های جدول‬# iptables -t nat -L
]man[ ‫ تمام قوانین و شروط را از جدول فیلتر شدن پاک میکند‬# iptables -t filter -F
]man[ ‫ پاک میکند‬nat ‫ تمام قوانین و شروط را از جدول‬# iptables -t nat -F
‫ هر زنجیری را که توسط کاربر درست شده باشد را پاک‬# iptables -t filter -X
]man[ ‫میکند‬
]man[ ‫ را به ورودی میدهد‬telnet ‫ اجازهی اتصاالت‬# iptables -t filter -A INPUT -p tcp –dport telnet -j
ACCEPT
]man[ ‫ به خروجی را قطع میکنند‬HTTP ‫ اتصاالت‬# iptables -t filter -A OUTPUT -p tcp –dport http -j
DROP
]man[ ‫ میدهد‬forward ‫ را به زنجیر‬POP3 ‫ اجازهی اتصاالت‬# iptables -t filter -A FORWARD -p tcp –dport pop3 -j
ACCEPT
]man[ ‫ ثبت اتفاقات بروی رشته ی ورودی‬# iptables -t filter -A INPUT -j LOG –log-prefix
]man[ eth0 ‫ بروی بسته های خروجی از‬PAT ‫ پیکربندی‬# iptables -t nat -A POSTROUTING -o eth0 -j
MASQUERADE
‫‪ # iptables -t nat -A PREROUTING -d 192.168.0.1 -p‬هدایت مجدد بسته های آدرس دهی شده به یک میزبان به‬
‫‪ tcp -m tcp –dport 22 -j DNAT –to-destination‬میزبان دیگر [‪]man‬‬
‫‪10.0.0.2:22‬‬

‫نظارت و اشکال زدائی‬


‫توضیح‬ ‫دستور‬
‫‪ # free -m‬نمایش وضعیت حافظه ( ‪ ) RAM‬به مگابایت [‪]man‬‬
‫‪ # kill -9 process_id‬بستن ( از کار انداختن ) اجباری یک برنامه یا پردازش [‪]man‬‬
‫‪ # kill -1 process_id‬مجبور کردن یک برنامه یا پردازش به بارگذاری ( ‪ ) reload‬مجدد‬
‫تنظیمات و فایل های پیکربندی [‪]man‬‬
‫‪ # last reboot‬نمایش تاریخ و زمان آخرین راه اندازی مجدد ( ‪) reboot‬‬
‫سیستم [‪]man‬‬
‫‪ # lsmod‬نمایش ماژول های ( ‪ ) module‬بارگذاری شده توسط هسته (‬
‫‪]man[ ) kernel‬‬
‫‪ # lsof -p process_id‬نمایش لیست فایل های در حال استفاده به وسیله ی یک‬
‫برنامه یا پردازش [‪]man‬‬
‫‪ # lsof /home/user1‬نمایش لیست فایل های در حال استفاده در یک مسیر مورد‬
‫نظر [‪]man‬‬
‫‪ # ps -eafw‬نمایش برنامه های در حال اجرا در لینوکس [‪]man‬‬
‫‪ # ps -e -o pid,args –forest‬نمایش برنامه های در حال اجرا بر اساس شماره ی‬
‫‪]man[ PID‬‬
‫‪ # pstree‬نمایش برنامه های در حال اجرا به صورت نمودار درختی [‪]man‬‬
‫‪ # smartctl -A /dev/hda‬کنترل و بازبینی قابلیت اطمینان دیسک سخت از طریق ویژگی‬
‫‪]man[ SMART‬‬
‫‪ # smartctl -i /dev/hda‬کنترل فعال بودن ویژگی ‪ SMART‬بروی یک دیسک‬
‫سخت [‪]man‬‬
‫‪ # strace -c ls >/dev/null‬نمایش ارتباط های سیستم با یک برنامه یا پردازش [‪]man‬‬
‫‪ # strace -f -e open ls >/dev/null‬نمایش ارتباط های کتابخانه ها ( ‪ ) library‬با یک برنامه یا‬
‫پردازش [‪]man‬‬
‫‪ # tail /var/log/dmesg‬نمایش وقایع و رویدادهای بوت شدن هسته ( ‪]man[ ) kernel‬‬
‫‪ # tail /var/log/messages‬نمایش وقایع و رویدادهای سیستم [‪]man‬‬
‫‪ # top‬نمایش برنامه های در حال اجرا که بیشترین استفاده از ‪ cpu‬را‬
‫دارند [‪]man‬‬
‫’‪ # watch -n1 ‘cat /proc/interrupts‬نمایش حال حاضر ‘خطوط در خواست وقفه’ ( ‪ ) IRQ‬سخت افزار‬
‫های مختلف [‪]man‬‬

‫دیگر دستورات مفید‬


‫توضیح‬ ‫دستور‬
‫’‪ # alias hh=’history‬برای دستور ‪( history‬تاریخچه) اسم مستعار ‪ hh‬را قرار‬
‫بده‪]man[ .‬‬
‫‪ # apropos …keyword‬این دستور لیست تمام دستورهایی که کلمهی کلیدی را داشته‬
‫باشد نمایاش می دهد‪ ،‬وقتی که کارایی دستور را میدانید ولی‬
‫خود دستور را نمیدانید میتوان از این دستور استفاده‬
‫کرد‪]man[ ..‬‬
‫‪ # chsh‬تغییر دادن ‪]man[ shell‬‬
‫‪ # chsh –list-shells‬نمایش لیست شل ( ‪ ) shell‬های موجود در مسیر‬
‫‪]man[ etc/shells‬‬
‫‪ # gpg -c file1‬رمز گذاری یک فایل با استفاده از ‪]man[ GNU Privacy Guard‬‬
‫‪ # gpg file1.gpg‬رمز گشایی یک فایل با استفاده از ‪GNU Privacy‬‬
‫‪]man[ Guard‬‬
‫‪ # ldd /usr/bin/ssh‬نمایش دهندهی کتابخانههای مشترک (‪ )shared libraries‬مور‬
‫نیاز برنامهی ‪]man[ ssh‬‬
‫‪ # man ping‬نمایش دهندهی صفهات راهنمای ‪ on-line‬برای دستور ‪ ping‬با‬
‫استفاده از گزینهی ‪ -k‬میتوان دستورات مربوطه را نیز پیدا‬
‫کردن [‪]man‬‬
‫`‪ # mkbootdisk –device /dev/fd0 `uname -r‬ساخت فالپی قابل ‪]man[ boot‬‬
‫‪ # wget -r www.example.com‬این دستوریک وب سایت کامل را دانلود میکند [‪]man‬‬
‫‪ # wget -c www.example.com/file.iso‬این دستور امکان دانلود فایل با قابلیت ادمه دادن پس از یک‬
‫وقفه را دارد [‪]man‬‬
‫‪ # echo ‘wget -c www.example.com/files.iso’ | at‬شروع دانلود برای زمان مورد نظر [‪]man‬‬
‫‪09:00‬‬
‫‪ # whatis …keyword‬کارایی برنامهای را توضیح میدهد [‪]man‬‬
‫‪ # who -a‬این دستور کسانی را که بر روی سیستم هستن‪ ،‬آخرین راه‬
‫اندازی سیستم‪،‬پروسههای مرده‪ ،‬نحوهی کار ‪ login‬دستگاه‪،‬‬
‫پروسههای فعال راه اندازی شدهی ‪ ،init‬آخرین تغییرات در‬
‫ساعت دستگاه و ‪ runlevel‬فعلی دستگاه را نمایش می‬
‫دهد [‪]man‬‬

You might also like