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

کد دستور توضیحات
arch نمایش معماری پردازنده ماشین (1)
uname -m نمایش معماری پردازنده ماشین (2)
uname -r نمایش نسخه کرنل در حال استفاده
dmidecode -q نمایش اجزای سیستم سخت‌افزاری - (SMBIOS / DMI)
hdparm -i /dev/hda نمایش ویژگی های معماری یک دیسک
hdparm -tT /dev/sda انجام عملیات خواندن آزمایشی بر روی دیسک
cat /proc/cpuinfo نمایش اطلاعات CPU
cat /proc/interrupts نمایش وقفه‌ها
cat /proc/meminfo بررسی استفاده از حافظه
cat /proc/swaps نمایش آن‌هایی که swap هستند
cat /proc/version نمایش نسخه کرنل
cat /proc/net/dev نمایش آداپترهای شبکه و آمار
cat /proc/mounts نمایش سیستم فایل‌های نصب‌شده
lspci -tv نمایش دستگاه‌های PCI
lsusb -tv نمایش دستگاه‌های USB
date نمایش تاریخ سیستم
cal 2007 نمایش تقویم سال 2007
date 041217002007.00 تنظیم تاریخ و زمان - ماه روز ساعت دقیقه سال.ثانیه
clock -w ذخیره تغییرات زمان در BIOS

کد دستور توضیحات
shutdown -h now خاموش کردن سیستم
init 0 خاموش کردن سیستم
telinit 0 خاموش کردن سیستم
shutdown -h hours:minutes & خاموش کردن سیستم در زمان تعین‌شده
shutdown -c لغو خاموش کردن سیستم در زمان تعین‌شده
shutdown -r now راه‌اندازی مجدد
reboot راه‌اندازی مجدد
logout خروج

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

کد دستور توضیحات
find / -name file1 شروع از '/' و جستجوی فایل‌ها و دایرکتوری‌ها در سیستم فایل ریشه
find / -user user1 جستجوی فایل‌ها و دایرکتوری‌ها متعلق به کاربر 'user1'
find /home/user1 -name \*.bin جستجوی فایل‌هایی که با '.bin' در دایرکتوری '/home/user1' ختم می‌شوند
find /usr/bin -type f -atime +100 جستجوی فایل‌های اجرایی که در 100 روز گذشته استفاده نشده‌اند
find /usr/bin -type f -mtime -10 جستجوی فایل‌هایی که در 10 روز گذشته ایجاد یا تغییر یافته‌اند
find / -name \*.rpm -exec chmod 755 '{}' \; جستجوی فایل‌هایی که با '.rpm' ختم می‌شوند و تعریف مجوزهای آن‌ها
find / -xdev -name \*.rpm جستجوی فایل‌هایی که با '.rpm' ختم می‌شوند و نادیده گرفتن دستگاه‌های قابل جابجایی مانند درایو نوری و فلش
locate \*.ps جستجوی فایل‌هایی که با '.ps' ختم می‌شوند - ابتدا دستور 'updatedb' را اجرا کنید
whereis halt نمایش مکان یک فایل اجرایی،_source یا man
which halt نمایش مسیر کامل یک فایل اجرایی یا باینری

کد دستور توضیحات
mount /dev/hda2 /mnt/hda2 نصب دیسک hda2 - مطمئن شوید که دایرکتوری '/mnt/hda2' از قبل وجود دارد
umount /dev/hda2 جداکردن دیسک hda2 - ابتدا از نقطه نصب '/mnt/hda2' خارج شوید
fuser -km /mnt/hda2 جداکردن اجباری در صورت مشغول بودن دستگاه
umount -n /mnt/hda2 اجرای عملیات جداکردن بدون نوشتن در فایل /etc/mtab - در صورت فقط‌خواندنی بودن فایل یا پر بودن دیسک بسیار کارآمد است
mount /dev/fd0 /mnt/floppy نصب یک دیسک نرم
mount /dev/cdrom /mnt/cdrom نصب یک cdrom یا dvdrom
mount /dev/hdc /mnt/cdrecorder نصب یک cdrw یا dvdrom
mount /dev/hdb /mnt/cdrecorder نصب یک cdrw یا dvdrom
mount -o loop file.iso /mnt/cdrom نصب یک فایل یا تصویر ISO
mount -t vfat /dev/hda5 /mnt/hda5 نصب یک سیستم فایل FAT32 ویندوز
mount /dev/sda1 /mnt/usbdisk نصب یک درایو USB یا دستگاه فلش
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share نصب یک اشتراک شبکه ویندوز

کد دستور توضیحات
df -h نمایش لیست پارتیشن‌های نصب‌شده
ls -lSr |more مرتب‌سازی فایل‌ها و دایرکتوری‌ها بر اساس اندازه
du -sh dir1 تخمین فضای دیسک استفاده شده توسط دایرکتوری 'dir1'
du -sk * | sort -rn نمایش اندازه‌های فایل‌ها و دایرکتوری‌ها به ترتیب ظرفیت
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n نمایش فضای استفاده‌شده توسط بسته‌های rpm نصب‌شده بر اساس اندازه (سیستم‌های fedora، redhat)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n نمایش فضای استفاده‌شده توسط بسته‌های deb نصب‌شده بر اساس اندازه (سیستم‌های ubuntu، debian)

کد دستور توضیحات
groupadd group_name ایجاد یک گروه کاربری جدید
groupdel group_name حذف یک گروه کاربری
groupmod -n new_group_name old_group_name تغییر نام یک گروه کاربری
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 ایجاد یک کاربر متعلق به گروه "admin"
useradd user1 ایجاد یک کاربر جدید
userdel -r user1 حذف یک کاربر ('-r' حذف دایرکتوری اصلی)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 تغییر ویژگی‌های یک کاربر
passwd تغییر رمز عبور
passwd user1 تغییر رمز عبور یک کاربر (فقط مجاز به اجرا توسط root)
chage -E 2020-12-31 user1 تنظیم تاریخ انقض رمز عبور یک کاربر
pwck بررسی فرمت و نگهداری فایل '/etc/passwd' و users موجود
grpck بررسی فرمت و نگهداری فایل '/etc/passwd' و گروه‌های موجود
newgrp group_name ورود به یک گروه جدید برای تغییر گروه پیش‌فرض فایل‌های جدید ایجاد شده

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

کد دستور توضیحات
chattr +a file1 فقط اجازه خواندن و نوشتن به صورت الحاقی برای یک فایل
chattr +c file1 اجازه می‌دهد که این فایل به طور خودکار توسط هسته فشرده/از فشرده خارج شود
chattr +d file1 هنگام پشتیبان‌گیری از فایل سیستم، برنامه dump این فایل را نادیده می‌گیرد
chattr +i file1 تنظیم یک فایل به حالت غیرقابل تغییر، نمی‌تواند حذف، تغییر نام، تغییر، یا لینک شود
chattr +s file1 اجازه می‌دهد یک فایل به طور امن حذف شود
chattr +S file1 به محض اینکه یک برنامه روی این فایل عملیات نوشتن انجام داد، تغییرات به طور فوری به دیسک نوشته می‌شود
chattr +u file1 اگر فایل حذف شود، سیستم باید اجازه دهد تا این فایل حذف شده در آینده بازیابی شود
lsattr نمایش ویژگی‌های خاص

کد دستور توضیحات
bunzip2 file1.bz2 استخراج یک فایل به نام 'file1.bz2'
bzip2 file1 فشرده‌سازی یک فایل به نام 'file1'
gunzip file1.gz استخراج یک فایل به نام 'file1.gz'
gzip file1 فشرده‌سازی یک فایل به نام 'file1'
gzip -9 file1 فشرده‌سازی حداکثری
rar a file1.rar test_file ایجاد یک بسته به نام 'file1.rar'
rar a file1.rar file1 file2 dir1 فشرده‌سازی همزمان 'file1'، 'file2' و دایرکتوری 'dir1'
rar x file1.rar استخراج بسته rar
unrar x file1.rar استخراج بسته rar
tar -cvf archive.tar file1 ایجاد یک tarball غیر فشرده
tar -cvf archive.tar file1 file2 dir1 ایجاد یک آرشیو شامل 'file1'، 'file2' و 'dir1'
tar -tf archive.tar نمایش محتویات یک بسته
tar -xvf archive.tar استخراج یک بسته
tar -xvf archive.tar -C /tmp استخراج بسته فشرده به دایرکتوری /tmp
tar -cvfj archive.tar.bz2 dir1 ایجاد یک بسته فشرده با فرمت bzip2
tar -jxvf archive.tar.bz2 استخراج یک بسته فشرده با فرمت bzip2
tar -cvfz archive.tar.gz dir1 ایجاد یک بسته فشرده با فرمت gzip
tar -zxvf archive.tar.gz استخراج یک بسته فشرده با فرمت gzip
zip file1.zip file1 ایجاد یک بسته فشرده با فرمت zip
zip -r file1.zip file1 file2 dir1 فشرده‌سازی چندین فایل و دایرکتوری به یک بسته فشرده با فرمت zip به طور همزمان
unzip file1.zip استخراج یک بسته فشرده با فرمت zip

کد دستور توضیحات
rpm -ivh package.rpm نصب یک بسته rpm
rpm -ivh --nodeeps package.rpm نصب یک بسته rpm در حالی که هشدارهای وابستگی را نادیده می‌گیرد
rpm -U package.rpm بروزرسانی یک بسته rpm بدون تغییر در فایل‌های پیکربندی آن
rpm -F package.rpm بروزرسانی یک بسته rpm که مطمئن باشید قبلا نصب شده است
rpm -e package_name.rpm حذف یک بسته rpm
rpm -qa نمایش تمامی بسته‌های rpm نصب‌شده در سیستم
rpm -qa | grep httpd نمایش همه بسته‌های rpm که" httpd " در نامشان وجود دارد
rpm -qi package_name بدست آوردن اطلاعات خاص یک بسته نصب‌شده
rpm -qg "System Environment/Daemons" نمایش بسته rpm یک مؤلفه
rpm -ql package_name نمایش لیست فایل‌هایی که یک بسته rpm نصب‌شده ارائه می‌دهد
rpm -qc package_name نمایش لیست فایل‌های پیکربندی که یک بسته rpm نصب‌شده ارائه می‌دهد
rpm -q package_name --whatrequires نمایش لیست وابستگی‌های یک بسته rpm
rpm -q package_name --whatprovides نمایش حجم اشغال‌شده توسط یک بسته rpm
rpm -q package_name --scripts نمایش اسکریپت‌های اجرایی در هنگام نصب/حذف
rpm -q package_name --changelog نمایش تاریخچه تغییرات یک بسته rpm
rpm -qf /etc/httpd/conf/httpd.conf تأیید اینکه کدام بسته rpm یک فایل خاص را فراهم کرده است
rpm -qp package.rpm -l نمایش فایل‌های ارائه‌شده توسط یک بسته rpm که هنوز نصب نشده است
rpm --import /media/cdrom/RPM-GPG-KEY وارد کردن گواهی کلید عمومی
rpm --checksig package.rpm تأیید یک بسته rpm از نظر صحت
rpm -qa gpg-pubkey تأیید صحت تمامی بسته‌های rpm نصب‌شده
rpm -V package_name بررسی اندازه، مجوز، نوع، صاحب، گروه، بررسی MD5 و زمان آخرین تغییر
rpm -Va بررسی تمامی بسته‌های rpm نصب‌شده در سیستم - با احتیاط استفاده کنید
rpm -Vp package.rpm تأیید بسته rpm که هنوز نصب نشده است
rpm2cpio package.rpm | cpio --extract --make-directories *bin* اجرای فایل اجرایی از یک بسته rpm
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm نصب یک بسته ساخته‌شده از بسته‌های rpm
rpmbuild --rebuild package_name.src.rpm ساخت یک بسته rpm از بسته‌های منبع

کد دستور توضیحات
yum install package_name دانلود و نصب یک بسته rpm
yum localinstall package_name.rpm نصب یک بسته rpm با استفاده از مخزن نرم‌افزاری خودتان برای حل تمامی وابستگی‌ها
yum update package_name.rpm بروزرسانی تمامی بسته‌های rpm نصب‌شده در سیستم
yum update package_name بروزرسانی یک بسته rpm
yum remove package_name حذف یک بسته rpm
yum list نمایش تمامی بسته‌های نصب‌شده در سیستم
yum search package_name جستجوی بسته‌های نرم‌افزاری در مخزن rpm
yum clean packages پاکسازی کش rpm و حذف بسته‌های دانلود شده
yum clean headers حذف تمام هدرها
yum clean all حذف تمامی بسته‌ها و هدرهای کش شده

کد دستور توضیحات
dpkg -i package.deb نصب/بروزرسانی یک بسته deb
dpkg -r package_name حذف یک بسته deb از سیستم
dpkg -l نمایش تمامی بسته‌های deb نصب‌شده در سیستم
dpkg -l | grep httpd نمایش تمامی بسته‌های deb که" httpd " در نامشان وجود دارد
dpkg -s package_name بدست آوردن اطلاعات یک بسته خاص که در سیستم نصب شده است
dpkg -L package_name نمایش لیست فایل‌هایی که یک بسته deb نصب‌شده ارائه می‌دهد
dpkg --contents package.deb نمایش لیست فایل‌هایی که یک بسته هنوز نصب نشده ارائه می‌دهد
dpkg -S /bin/ping تأیید اینکه کدام بسته deb یک فایل خاص را فراهم کرده است

کد دستور توضیحات
apt-get install package_name نصب/بروزرسانی یک بسته deb
apt-cdrom install package_name نصب/بروزرسانی یک بسته deb از CD
apt-get update بروزرسانی لیست بسته‌های نرم‌افزاری
apt-get upgrade بروزرسانی تمامی نرم‌افزارهای نصب‌شده
apt-get remove package_name حذف یک بسته deb از سیستم
apt-get check تأیید صحت مخزن‌های نرم‌افزاری
apt-get clean پاکسازی کش بسته‌های دانلود شده
apt-cache search searched-package بازگشت شامل بسته‌های نرم‌افزاری که نام‌شان شامل رشته جستجو است

کد دستور توضیحات
cat file1 مشاهده محتوای فایل از اولین بایت به جلو
tac file1 مشاهده محتوای فایل از آخرین خط به عقب
more file1 مشاهده محتوای فایل طولانی
less file1 مشابه دستور 'more' می‌باشد ولی به شما اجازه می‌دهد تا از بالا به سمت پایین برگردید
head -2 file1 مشاهده دو خط ابتدایی یک فایل
tail -2 file1 مشاهده دو خط آخر یک فایل
tail -f /var/log/messages مشاهده مستقیم محتویاتی که به یک فایل اضافه می‌شود

کد دستور توضیحات
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt ادغام متن توضیحات فایل و نوشتن چکیده در فایل جدید
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt ادغام متن توضیحات فایل و نوشتن چکیده در یک فایل موجود
grep Aug /var/log/messages جستجوی کلمه "Aug" در فایل '/var/log/messages'
grep ^Aug /var/log/messages جستجوی کلمات که با "Aug" شروع می‌شوند در فایل '/var/log/messages'
grep [0-9] /var/log/messages انتخاب تمامی خطوط فایل '/var/log/messages' که شامل عدد هستند
grep Aug -R /var/log/* جستجوی رشته "Aug" در دایرکتوری '/var/log' و دایرکتوری‌های زیرمجموعه
sed 's/stringa1/stringa2/g' example.txt جایگزینی "string1" با "string2" در فایل example.txt
sed '/^$/d' example.txt حذف تمامی خطوط خالی از فایل example.txt
sed '/ *#/d; /^$/d' example.txt حذف تمامی نظرات و خطوط خالی از فایل
echo 'esempio' | tr '[:lower:]' '[:upper:]' ادغام محتویات سلول‌های بالا و پایین
sed -e '1d' result.txt حذف اولین خط از فایل example.txt
sed -n '/stringa1/p' نمایش فقط صفحاتی که شامل کلمه "string1" هستند
sed -e 's/ *$//' example.txt حذف تمامی کاراکترهای خالی آخر هر خط
sed -e 's/stringa1//g' example.txt فقط حذف کلمه "string1" از متون و نگه‌داشتن بقیه
sed -n '1,5p;5q' example.txt نمایش محتویات از خط اول تا خط پنجم
sed -n '5p;5q' example.txt نمایش خط پنجم
sed -e 's/00*/0/g' example.txt جایگزینی چندین صفر با یک صفر
cat -n file1 شماره‌گذاری خطوط فایل
cat example.txt | awk 'NR%2==1' حذف تمامی خطوط زوج از فایل example.txt
echo a b c | awk '{print $1}' مشاهده اولین ستون از یک خط
echo a b c | awk '{print $1,$3}' مشاهده اولین و سومین ستون از یک خط
paste file1 file2 ادغام محتویات دو فایل یا دو ستون
paste -d '+' file1 file2 ادغام محتویات دو فایل یا دو ستون با "+" به عنوان جداکننده
sort file1 file2 مرتب‌سازی محتویات دو فایل
sort file1 file2 | uniq نگه‌داشتن فقط یک کپی از خطوط تکراری از دو فایل
sort file1 file2 | uniq -u حذف اشتراک‌ها و نگه‌داشتن بقیه
sort file1 file2 | uniq -d نگه‌داشتن تنها خطوط مشترک بین دو فایل
comm -1 file1 file2 مقایسه محتویات دو فایل و حذف فقط محتوای 'file1'
comm -2 file1 file2 مقایسه محتویات دو فایل و حذف فقط محتوای 'file2'
comm -3 file1 file2 مقایسه محتویات دو فایل و حذف همه بخش های مشترک

کد دستور توضیحات
dos2unix filedos.txt fileunix.txt تبدیل فرمت یک فایل متنی از MSDOS به UNIX
unix2dos fileunix.txt filedos.txt تبدیل فرمت یک فایل متنی از UNIX به MSDOS
recode ..HTML < page.txt> page.html تبدیل یک فایل متنی به HTML
recode -l | more نمایش تمامی فرمت‌های تبدیل مجاز

کد دستور توضیحات
badblocks -v /dev/hda1 بررسی بلوک‌های خراب روی دیسک hda1
fsck /dev/hda1 بررسی و اصلاح یک سیستم فایل لینوکس روی دیسک hda1
fsck.ext2 /dev/hda1 بررسی و اصلاح سلامت سیستم فایل ext2 بر روی دیسک hda1
e2fsck /dev/hda1 بررسی و اصلاح سلامت سیستم فایل ext2 بر روی دیسک hda1
e2fsck -j /dev/hda1 بررسی و اصلاح سلامت سیستم فایل ext3 بر روی دیسک hda1
fsck.ext3 /dev/hda1 بررسی و اصلاح سلامت سیستم فایل ext3 بر روی دیسک hda1
fsck.vfat /dev/hda1 بررسی و اصلاح سلامت سیستم فایل FAT بر روی دیسک hda1
fsck.msdos /dev/hda1 بررسی و اصلاح سلامت سیستم فایل MS-DOS بر روی دیسک hda1
dosfsck /dev/hda1 بررسی و اصلاح سلامت سیستم فایل DOS بر روی دیسک hda1

کد دستور توضیحات
mkfs /dev/hda1 ایجاد یک سیستم فایل در پارتیشن hda1
mke2fs /dev/hda1 ایجاد یک سیستم فایل ext2 در پارتیشن hda1
mke2fs -j /dev/hda1 ایجاد یک سیستم فایل ext3 (سیستم فایل لاگ) در پارتیشن hda1
mkfs -t vfat 32 -F /dev/hda1 ایجاد یک سیستم فایل FAT32
fdformat -n /dev/fd0 فرمت یک دیسک نرم
mkswap /dev/hda3 ایجاد یک سیستم فایل swap

کد دستور توضیحات
mkswap /dev/hda3 ایجاد یک سیستم فایل swap
swapon /dev/hda3 فعال‌سازی یک سیستم فایل swap جدید
swapon /dev/hda2 /