دستورات رایج ترمینال در لینوکس

استاندارد

دستورات ترمینال لینوکس

زمانی که نیاز به نوشتن دستورات برای انجام برخی وظایف که در محیط گرافیکی قابل انجام نیست (ویا حتی وجود ندارد!) می بایستی به سراغ ترمینال رفت. محیط ترمینال را می توان نسخه تحت لینوکس CMD ویندوز دانست که میتوان با وارد کردن دستورات کارها را انجام داد با این تفاوت که قابلیت و قدرت های ترمینال لینوکس از سی ام دی ویندوز بیشتر می باشد. برای یادگیری این دستورات با ما همراه باشید.

اطلاعات سیستم

دستور توضیح
# arch نمایش معماری سیستم   [man]
# cal 2007 نمایش تقویم سال ۲۰۰۷ میلادی   [man]
# cat /proc/cpuinfo نمایش اطلاعات CPU   [man]
# 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 نمایش قطعات و دستگاههای متصل شده به پورت PCI   [man]
# lsusb -tv نمایش قطعات و دستگاههای متصل شده به پورت USB   [man]
# 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 ورود به دایرکتوری یا شاخه ی مورد نظر مانند پوشه ی خانگی ( home )   [man]
# 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 > outputFile تبدیل سیستم کدگذاری ( encoding ) یک فایل ورودی به یک سیستم کدگذاری دیگر   [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 ایجاد یک شاخه ی دایرکتوری با شروع از root   [man]
# mv dir1 new_dir تغییر نام یا جا به جا کردن ( move ) یک فایل یا دایرکتوری   [man]
# pwd نشان دادن مسیر دایرکتوری جاری   [man]
# rm -f file1 پاک کردن یک فایل با نام file1   [man]
# rm -rf dir1 پاک کردن یک دایرکتوری با نام dir1 و محتویات آن به صورت بازگشتی   [man]
# rm -rf dir1 dir2 پاک کردن دو دایرکتوری در مسیر مورد نظر و محتویات آنها به صورت بازگشتی   [man]
# rmdir dir1 پاک کردن یک دایرکتوری با نام dir1   [man]
# touch -t 0712250000 file1 تغییر تاریخ ویرایش یا تغییر یک فایل یا دایرکتوری. به جای file1 مسیر فایل یا دایرکتوری مورد نظر را قرار دهید   [man]
# tree نمایش تمام فایل ها و دایرکتوری های یک شاخه   [man]

جستجوی فایل

دستور توضیح
# find / -name file1 جستجوی فایل و دایرکتوری در داخل پارتیشن لینوکس ( root )   [man]
# find / -user user1 جستجوی فایل و دایرکتوری متعلق به user1   [man]
# find /home/user1 -name *.bin جستجوی فایل های با پسوند bin در داخل دایرکتوری home/user1   [man]
# find /usr/bin -type f -atime +100 جستجوی فایل های باینری که در ۱۰۰ روز گذشته استفاده نشده اند   [man]
# find /usr/bin -type f -mtime -10 جستجوی فایل های ایجاد شده با تغییر کرده در طول ۱۰ روز گذشته   [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 ) از مسیر mnt/hda2   [man]
# 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 //WinClient/share /mnt/share استقرار ( mount ) یک دایرکتوری به اشتراک گذاشته شده در شبکه ی سمبا ( samba ) در مسیر mnt/share   [man]
# umount /dev/hda2 خارج کردن پارتیشن با نام hda2 از مسیر mnt/hda2   [man]
# umount -n /mnt/hda2 اجرای عمل خارج کردن پارتیشن ( unmount ) بدون بازنویسی فایل etc/mtab   [man]

فضای دیسک سخت

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

کاربرها و گروه ها

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

مجوز فایل ها

دستور توضیح
# chgrp group1 file1 تغییر گروه فایل با نام file1 به گروه با نام group1   [man]
# chmod ugo+rwx directory1 تغییر مجوز یک فایل یا دایرکتوری. خواندن (r) , نوشتن (w) , اجرای فایل یا جستجوی دایرکتوری (x) , مالکیت کاربری (u) , مالکیت کاربران گروه فایل (g) , مالکیت کاربران خارج از گروه فایل مورد نظر (o)   [man]
# 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 تغییر مالکیت یک فایل یه کاربر user1   [man]
# chown -R user1 directory1 تغییر مالکیت یک دایرکتوری و تمام محتویات آن به کاربر user1   [man]
# chown user1:group1 file1 تغییر مالکیت فایل با نام file1 به گروه و کاربر group1 و user1   [man]
# find / -perm -u+s نمایش همه ی فایل ها داخل پارتیشن لینوکس ( / ) که دارای مجوز مورد نظر هستند   [man]
# ls -lh نمایش مجوز فایل ها در مسیر مورد نظر   [man]
# ls /tmp | pr -T5 -W$COLUMNS نمایش فایل ها و دایرکتوری ها مسیر tmp به صورت ستونی , شامل ۵ ستون   [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 نمایش مشخصات ویژه یک فایل در یک پارتیشن با سیستم فایل ext3   [man]

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

دستور توضیح
# bunzip2 file1.bz2 خارج کردن فایل file1.bz2 از حالت فشرده   [man]
# bzip2 file1 فشرده کردن ( compress ) یک فایل با نام file1 با فرمت bzip2   [man]
# gunzip file1.gz خارج کردن فایل file1.gz از حالت فشرده   [man]
# gzip file1 فشرده کردن ( compress ) یک فایل با نام file1 با فرمت gzip   [man]
# gzip -9 file1 فشرده کردن ( compress ) یک فایل با نام file1 با فرمت gzip با بیشترین میزان فشردگی   [man]
# rar a file1.rar test_file فشرده کردن ( compress ) یک فایل با نام file1 با فرمت rar   [man]
# 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 نمایش محتویات یک فایل فشرده با فرمت tar   [man]
# tar -xvf archive.tar خارج کردن یک فایل فشرده با فرمت tar   [man]
# tar -xvf archive.tar -C /tmp خارج کردن یک فایل فشرده با فرمت tar به مسیر tmp   [man]
# tar -cvfj archive.tar.bz2 dir1 ایجاد یک فایل فشرده با فرمت tar.bz2   [man]
# tar -xvfj archive.tar.bz2 خارج کردن یک فایل فشرده با فرمت tar.bz2   [man]
# tar -cvfz archive.tar.gz dir1 ایجاد یک فایل فشرده با فرمت tar.gz   [man]
# tar -xvfz archive.tar.gz خارج کردن یک فایل فشرده با فرمت tar.gz   [man]
# unrar x file1.rar خارج کردن فایل file1.rar از حالت فشرده   [man]
# unzip file1.zip خارج کردن یک فایل فشرده با فرمت zip   [man]
# zip file1.zip file1 ایجاد یک فایل فشرده با فرمت zip   [man]
# zip -r file1.zip file1 file2 dir1 ایجاد یک فایل فشرده با فرمت zip که حاوی تعدادی فایل و دایرکتوری است   [man]

بسته های RPM ( فدورا و توزیع های مبتنی بر Red Hat )

دستور توضیح
# rpm -ivh [package.rpm] نصب یک بسته ی rpm   [man]
# 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 با نام httpd   [man]
# 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 نمایش لیست پیش نیاز های یک بسته ی rpm   [man]
# rpm -q [package] –whatprovides نمایش قابلیت های یک بسته ی rpm   [man]
# rpm -q [package] –scripts نمایش اسکریپت های اجرا شده در حین عمل نصب یا حذف یک بسته ی rpm   [man]
# 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 وارد کردن کلید ( key )   [man]
# rpm –checksig [package.rpm] بررسی سالم بودن یک بسته ی rpm   [man]
# rpm -qa gpg-pubkey بررسی سالم بودن همه ی بسته های rpm نصب شده   [man]
# rpm -V [package] چک کردن حجم , md5 , مجوز و سایر مشخصات یک بسته ی rpm   [man]
# rpm -Va چک کردن حجم , md5 , مجوز و سایر مشخصات همه ی بسته ها ی rpm   [man]
# rpm -Vp [package.rpm] چک کردن حجم , md5 , مجوز و سایر مشخصات یک بسته ی rpm نصب نشده   [man]
# rpm -ivh /usr/src/redhat/RPMS/arch/[package.rpm] نصب یک بسته ی ساخته شده از سورس یک بسته ی rpm   [man]
# rpm2cpio [package.rpm] | cpio –extract –make-directories *bin* استخراج فایل های اجرایی از یک بسته ی rpm   [man]
# rpmbuild –rebuild [package.src.rpm] ساختن یک فایل rpm از روی سورس یک بسته ی rpm   [man]

ابزار نصب 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 با استفاده از ابزار yum   [man]
# yum list نمایش لیست همه ی بسته های نصب شده در سیستم   [man]
# yum search [package] پیدا کردن یک بسته از مخازن   [man]
# yum clean [package] پاک کردن cache که شامل بسته های rpm دانلود شده توسط ابزار yum است   [man]
# yum clean headers پاک کردن همه فایل های header که سیستم برای حل پیش نیاز ها ( dependency ) از آنها استفاده می کند   [man]
# yum clean all پاک کردن همه ی فایل های header و cache   [man]

بسته های DEB ( اوبونتو و توزیع های مبتنی بر دبیان )

دستور توضیح
# dpkg -i [package.deb] نصب یا أپگرید یک بسته ی deb   [man]
# dpkg -r [package] حذف یک بسته ی deb از سیستم   [man]
# dpkg -l نمایش همه ی بسته های deb نصب شده در سیستم   [man]
# dpkg -l | grep httpd نمایش همه ی بسته های deb با نام httpd   [man]
# 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 از روی مخازن با استفاده از ابزار apt   [man]
# apt-get update بروز رسانی لیست تمام بسته های موجود در مخازن   [man]
# apt-get upgrade آپگرید همه ی بسته های نصب شده به نسخه ی جدیدتر   [man]
# apt-get remove [package] حذف یک بسته ی deb از روی سیستم توسط ابزار apt   [man]
# apt-get check بررسی وضعیت پیش نیازها ( dependencies )   [man]
# 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 ‘۱d’ 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 ‘۱,۵p’ example.txt سطر اول تا پنجم را از example.txt نمایش بده   [man]
# sed -n ‘۵p;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 به سیستم UNIX   [man]
# recode ..HTML < page.txt > page.html تبدیل یک فایل متنی به فرمت html   [man]
# recode -l | more نمایش همه ی فرمت های قابل تبدیل   [man]
# unix2dos fileunix.txt filedos.txt تبدیل فرمت یک فایل متنی از سیستم UNIX به سیستم MSDOS   [man]
 « بالا «

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

دستور توضیح
# 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 ایجاد یک پارتیشن با فرمت swap   [man]
# swapon /dev/hda3 فعال کردن یک پارتیشن swap جدید   [man]
# swapon /dev/hda2 /dev/hdb3 فعال کردن همزمان دو پارتیشن swap   [man]
 « بالا «

گرفتن پشتیبان

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

سی دی رام

دستور توضیح
# cd-paranoia -B ترک‌های صوتی را از CD گرفته و به فایل‌های wav تبدیل کن   [man]
# cd-paranoia – ریپ کردن ۳ فایل اول یک سی دی audio به فرمت wav   [man]
# cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force پاک کردن یک سی دی با قابلیت رایت مجدد (rewritable)   [man]
# cdrecord -v dev=/dev/cdrom cd.iso رایت ISO بر روی CD   [man]
# gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom – رایت ISO فشرده بر روی CD   [man]
# cdrecord –scanbus مرور bus برای شناسایی کانالهای scsi   [man]
# dd if=/dev/hdc | md5sum انجام دستور md5sum بر روی وسیله‌ای مانند CD   [man]
# 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 در مد dhcp   [man]
# ethtool eth0 امار شبکه‌ی eth0 را نمایش می دهد   [man]
# host www.example.com تبدیل آدرس سایت مورد نظر به آدرس های IP و بالعکس !   [man]
# hostname اسم host دستگاه را نمایش می‌دهد   [man]
# ifconfig eth0 نمایش تنظیمات کارت شبکه‌ی ethernet   [man]
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 تنظیم آدرس IP   [man]
# ifconfig eth0 promisc تنظیم کارت شبکه ( eth0 ) در حالت promiscuous برای جمع آوری بسته ها   [man]
# ifdown eth0 واسط eth0 را غیر فعال می‌کند   [man]
# ifup eth0 فعال سازی واسط eth0   [man]
# ip link show مشاهده ی وضعیت اتصال تمامی شبکه های موجود   [man]
# iwconfig eth1 نمایش شبکه‌ی بی‌سیم   [man]
# iwlist scan جستجوی wifi برای نمایش اتصلات بی‌سیم قابل دسترسی   [man]
# mii-tool eth0 وضعیت اتصال ‘eth0′ را نمایان کن   [man]
# netstat -tup نمایش تمام اتصلات فعال و PID مربوط آنها   [man]
# netstat -tupl نمایش تمام سرویس‌های دستگاه و PID مربوطه   [man]
# netstat -rn جدول مسیرها “routing table” را نمایش بده، مانند دستور “route -n”   [man]
# nslookup www.example.com تبدیل آدرس سایت مورد نظر به آدرس های IP و بالعکس !   [man]
# route -n نمایش جدول routing   [man]
# route add -net 0/0 gw IP_Gateway تغییر دروازه (gateway) پایه   [man]
# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 تنظیم مسیر ایستایی برای رسیدن به شبکه‌ی ۱۹۲٫۱۶۸٫۰٫۰/۱۶   [man]
# route del 0/0 gw IP_gateway حذف مسیر ایستایی   [man]
# echo “۱” > /proc/sys/net/ipv4/ip_forward فعال سازی ip routing   [man]
# tcpdump tcp port 80 تمام ترافیک HTTP را نمایش می‌دهد   [man]
# whois www.example.com جستوجو در پایگاه داده‌ی Whois   [man]
 « بالا «

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

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

IPTABLES ( دیوار آتش )

دستور توضیح
# iptables -t filter -L تمام زنجیرهای جدول فیلتر شدن را نمایش می دهد   [man]
# iptables -t nat -L تمام زنجیر های جدول nat را نمایش می دهد   [man]
# iptables -t filter -F تمام قوانین و شروط را از جدول فیلتر شدن پاک می‌کند   [man]
# iptables -t nat -F تمام قوانین و شروط را از جدول nat پاک می‌کند   [man]
# iptables -t filter -X هر زنجیری را که توسط کاربر درست شده باشد را پاک می‌کند   [man]
# iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT اجازه‌ی اتصالات telnet را به ورودی می‌دهد   [man]
# iptables -t filter -A OUTPUT -p tcp –dport http -j DROP اتصالات HTTP به خروجی را قطع می‌کنند   [man]
# iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT اجازه‌ی اتصالات POP3 را به زنجیر forward می‌دهد   [man]
# iptables -t filter -A INPUT -j LOG –log-prefix ثبت اتفاقات بروی رشته ی ورودی   [man]
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE پیکربندی PAT بروی بسته های خروجی از eth0   [man]
# 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 هدایت مجدد بسته های آدرس دهی شده به یک میزبان به میزبان دیگر   [man]
 « بالا «

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

دستور توضیح
# free -m نمایش وضعیت حافظه ( RAM ) به مگابایت   [man]
# kill -9 process_id بستن ( از کار انداختن ) اجباری یک برنامه یا پردازش   [man]
# kill -1 process_id مجبور کردن یک برنامه یا پردازش به بارگذاری ( reload ) مجدد تنظیمات و فایل های پیکربندی   [man]
# last reboot نمایش تاریخ و زمان آخرین راه اندازی مجدد ( reboot ) سیستم   [man]
# lsmod نمایش ماژول های ( module ) بارگذاری شده توسط هسته ( kernel )   [man]
# lsof -p process_id نمایش لیست فایل های در حال استفاده به وسیله ی یک برنامه یا پردازش   [man]
# lsof /home/user1 نمایش لیست فایل های در حال استفاده در یک مسیر مورد نظر   [man]
# ps -eafw نمایش برنامه های در حال اجرا در لینوکس   [man]
# ps -e -o pid,args –forest نمایش برنامه های در حال اجرا بر اساس شماره ی PID   [man]
# pstree نمایش برنامه های در حال اجرا به صورت نمودار درختی   [man]
# smartctl -A /dev/hda کنترل و بازبینی قابلیت اطمینان دیسک سخت از طریق ویژگی SMART   [man]
# 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 نمایش وقایع و رویدادهای بوت شدن هسته ( kernel )   [man]
# 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 تغییر دادن shell   [man]
# chsh –list-shells نمایش لیست شل ( shell ) های موجود در مسیر etc/shells   [man]
# gpg -c file1 رمز گذاری یک فایل با استفاده از GNU Privacy Guard   [man]
# gpg file1.gpg رمز گشایی یک فایل با استفاده از GNU Privacy Guard   [man]
# ldd /usr/bin/ssh نمایش دهنده‌ی کتابخانه‌های مشترک (shared libraries) مور نیاز برنامه‌ی ssh   [man]
# man ping نمایش دهنده‌ی صفهات راهنمای on-line برای دستور ping با استفاده از گزینه‌ی k- می‌توان دستورات مربوطه را نیز پیدا کردن   [man]
# mkbootdisk –device /dev/fd0 uname -r ساخت فلاپی قابل boot   [man]
# wget -r www.example.com این دستوریک وب سایت کامل را دانلود می‌کند   [man]
# wget -c www.example.com/file.iso این دستور امکان دانلود فایل با قابلیت ادمه دادن پس از یک وقفه را دارد   [man]
# echo ‘wget -c www.example.com/files.iso’ | at 09:00 شروع دانلود برای زمان مورد نظر   [man]
# whatis …keyword کارایی برنامه‌ای را توضیح می‌دهد   [man]
# who -a این دستور کسانی را که بر روی سیستم هستن، آخرین راه اندازی سیستم،پروسه‌های مرده، نحوه‌ی کار login دستگاه، پروسه‌های فعال راه اندازی شده‌ی init، آخرین تغییرات در ساعت دستگاه و runlevel فعلی دستگاه را نمایش می دهد   [man]

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *