جدول محتوایی
دستور های پایه که هر کاربر لینوکس باید بلد باشد
دستور های مهم لینوکس تازه وارد دنیای لینوکس شدهاید یا یک کاربر حرفهای هستید که میخواهد دانش خود را مرور کند، دستورات پایه لینوکس یکی از اساسیترین مهارتهایی است که هر کاربری باید بلد باشد. لینوکس، با قدرت و انعطافپذیری بینظیرش، قلب تپنده بسیاری از سرورها، سیستمهای ابری و حتی دستگاههای هوشمند امروزی است. اما کلید تسلط بر این سیستمعامل، آشنایی با ترمینال و دستورات آن است.
در این راهنما، ۱۰۰ دستور ضروری لینوکس را به صورت طبقهبندیشده و با مثالهای کاربردی معرفی میکنیم. از مدیریت فایلها و دایرکتوریها گرفته تا کنترل فرآیندها، شبکه و امنیت، این لیست جامع به شما کمک میکند تا:
کارهای روزمره را سریعتر انجام دهید
سیستم خود را بهتر مدیریت کنید
برای یادگیری مفاهیم پیشرفتهتر آماده شوید
فرقی نمیکند که از اوبونتو، فدورا، دبیان یا هر توزیع دیگری استفاده میکنید؛ این دستورات در اکثر محیطهای لینوکس کاربرد دارند. حتی اگر از WSL (زیرسیستم لینوکس ویندوز) استفاده میکنید، این راهنما برای شما مفید خواهد بود.
پس اگر آماده اید تا تبدیل به یک کاربر حرفهای لینوکس شوید، این مطلب را دنبال کنید
1 – دستورات پایه سیستم
1. ls
– نمایش محتویات دایرکتوری
برای مشاهده فایلها و پوشههای داخل دایرکتوری جاری.
مثال: ls -l
برای نمایش با جزئیات.
پرکاربردترین دستور برای بررسی محتویات پوشهها.
میتواند با فلگهایی مثل -a
(نمایش فایلهای مخفی) ترکیب شود.
cd
– تغییر دایرکتوری
برای جابجایی بین پوشهها استفاده میشود.
مثال: cd /home
به پوشه home میرود.
cd ..
به پوشه والد برمیگردد.
cd ~
به دایرکتوری خانگی کاربر برمیگردد.
pwd
– نمایش مسیر جاری
مسیر کامل دایرکتوری فعلی را نشان میدهد.
برای اطمینان از موقعیت فعلی در سیستم فایل مفید است.
خروجی آن مسیر مطلق (Absolute Path) است.
در اسکریپتها برای تعیین موقعیت کاربرد دارد.
clear
– پاک کردن صفحه ترمینال
تمام محتوای ترمینال را پاک میکند.
معادل Ctrl+L در بسیاری از ترمینالها.
دستورات قبلی در تاریخچه باقی میمانند.
برای مرتب کردن محیط کار مفید است.
whoami
– نمایش نام کاربری فعلی
نام کاربری که با آن وارد سیستم شدهاید را نشان میدهد.
برای تأیید هویت کاربر مفید است.
در اسکریپتها برای بررسی سطح دسترسی استفاده میشود.
معادل دستور id -un
است.
uname -a
– نمایش اطلاعات سیستم
جزئیات سیستم عامل و کرنل را نشان میدهد.
اطلاعاتی مانند نسخه کرنل و معماری سیستم.
برای عیبیابی و بررسی سازگاری مفید است.
uname -r
فقط نسخه کرنل را نمایش میدهد.
history
– نمایش تاریخچه دستورات
فهرست دستورات اجرا شده را نشان میدهد.
با !عدد
میتوان دستور قبلی را دوباره اجرا کرد.
تاریخچه در فایل ~/.bash_history
ذخیره میشود.
history -c
تاریخچه را پاک میکند.
man
– راهنمای دستورات
راهنمای کامل دستورات را نمایش میدهد.
مثال: man ls
راهنمای دستور ls را میآورد.
برای خروج از راهنما کلید q
را بزنید.
معمولاً شامل مثالهای کاربردی است.
whatis
– توضیح کوتاه دستور
توضیح یک خطی درباره دستور میدهد.
مثال: whatis ls
توضیح کوتاهی درباره ls میدهد.
برای آشنایی سریع با کاربرد دستورات مفید است.
برخلاف man، جزئیات کمتری ارائه میدهد.
which
– محل اجرایی دستور
مسیر کامل اجرای یک دستور را نشان میدهد.
مثال: which python
مسیر پایتون را نشان میدهد.
برای تشخیص نسخههای مختلف یک برنامه مفید است.
2 – مدیریت فایلها و دایرکتوریها
mkdir
– ساخت دایرکتوری جدید
برای ایجاد پوشههای جدید استفاده میشود.
مثال: mkdir new_folder
یک پوشه جدید میسازد.
با فلگ -p
میتوان مسیرهای تودرتو را یکجا ساخت.
حساس به بزرگی و کوچکی حروف است.
touch
– ساخت فایل جدید
برای ایجاد فایلهای خالی کاربرد دارد.
مثال: touch file.txt
فایل متنی جدید میسازد.
اگر فایل وجود داشته باشد، تاریخ آن را به روز میکند.
میتواند چندین فایل را همزمان ایجاد کند.
cp
– کپی فایل/دایرکتوری
برای کپی کردن فایلها و پوشهها استفاده میشود.
مثال: cp file1.txt file2.txt
یک کپی میسازد.
با -r
برای کپی پوشهها به صورت بازگشتی.
با -i
قبل از رونویسی تأیید میگیرد.
mv
– انتقال/تغییر نام
برای جابجایی فایلها یا تغییر نام آنها.
مثال: mv old.txt new.txt
نام فایل را تغییر میدهد.
میتواند همزمان چند فایل را به پوشه مقصد منتقل کند.
اگر مقصد پوشه باشد، فایل به آنجا منتقل میشود.
rm
– حذف فایل
برای پاک کردن دائمی فایلها استفاده میشود.
مثال: rm file.txt
فایل را حذف میکند.
با -r
برای حذف بازگشتی پوشهها.
با -i
قبل از حذف تأیید میگیرد.
rmdir
– حذف دایرکتوری خالی
فقط پوشههای خالی را حذف میکند.
مثال: rmdir empty_folder
پوشه خالی را پاک میکند.
برای پوشههای پر باید از rm -r
استفاده کرد.
خطا میدهد اگر پوشه خالی نباشد.
ln -s
– ساخت لینک نمادین
برای ایجاد میانبر به فایل/پوشه استفاده میشود.
مثال: ln -s target.txt link.txt
لینک میسازد.
لینکها پس از حذف فایل اصلی بیاستفاده میشوند.
مشابه Shortcut در ویندوز عمل میکند.
find
– جستجوی پیشرفته فایل
برای یافتن فایلها بر اساس معیارهای مختلف.
مثال: find /home -name "*.txt"
فایلهای متنی را پیدا میکند.
میتواند بر اساس سایز، تاریخ و نوع فایل جستجو کند.
قدرتمندترین ابزار جستجوی فایل در لینوکس.
locate
– جستجوی سریع فایل
از پایگاه داده برای جستجوی سریع استفاده میکند.
مثال: locate myfile.txt
مسیر فایل را نشان میدهد.
قبل از استفاده باید updatedb
اجرا شود.
برای فایلهای جدیدتر ممکن است نتایج قدیمی نشان دهد.
chmod
– تغییر مجوزها
دسترسیهای فایل/پوشه را تغییر میدهد.
مثال: chmod 755 script.sh
مجوزها را تنظیم میکند.
از سه حالت عددی (مالک، گروه، دیگران) استفاده میکند.
حالت نمادین (مانند +x) هم قابل استفاده است.
3 – مشاهده و ویرایش فایلها
cat
– نمایش محتوای فایل
سادهترین روش برای مشاهده محتوای فایلها
مثال: cat file.txt
محتوای فایل را نمایش میدهد
برای فایلهای کوچک مناسب است
میتواند چند فایل را به هم الحاق کند (cat file1 file2
)
less
– نمایش صفحهبهصفحه فایل
برای مشاهده فایلهای بزرگ و پیمایش آسان
مثال: less long_file.log
با کلیدهای Space (صفحه بعد) و b (صفحه قبل) کنترل میشود
برای خروج از کلید q استفاده کنید
head
– نمایش ابتدای فایل
10 خط اول فایل را نشان میدهد
مثال: head -n 20 file.log
20 خط اول را نمایش میدهد
برای بررسی سریع فایلهای بزرگ مفید است
معمولاً برای مشاهده هدر فایلها استفاده میشود
tail
– نمایش انتهای فایل
10 خط آخر فایل را نشان میدهد
مثال: tail -f logfile.log
برای دنبال کردن فایل لاگ
با فلگ -f
محتوای جدید فایل را به صورت زنده نمایش میدهد
برای مانیتورینگ فایلهای در حال تغییر عالی است
grep
– جستجوی متن در فایلها
برای یافتن خطوط حاوی الگوی خاص
مثال: grep "error" logfile.log
خطوط حاوی کلمه error را پیدا میکند
با -i
حساسیت به بزرگی حروف را غیرفعال میکند
با -r
به صورت بازگشتی در پوشهها جستجو میکند
nano
– ویرایشگر متن ساده
ویرایشگر ساده و کاربرپسند برای مبتدیان
مثال: nano file.txt
دستورات پایین صفحه نمایش داده میشوند
برای ذخیره: Ctrl+O، برای خروج: Ctrl+X
vim
– ویرایشگر متن پیشرفته
ویرایشگر قدرتمند برای کاربران حرفهای
مثال: vim file.txt
حالتهای مختلف دارد (نرمال، insert، visual)
برای شروع ویرایش i را بزنید، برای ذخیره :w
و خروج :q
diff
– مقایسه دو فایل
تفاوتهای بین دو فایل را نشان میدهد
مثال: diff file1.txt file2.txt
برای فایلهای کد و پیکربندی بسیار مفید است
خروجی رنگی با colordiff
قابل مشاهده است
wc
– شمارش خطوط و کلمات
اطلاعات آماری درباره فایل ارائه میدهد
مثال: wc -l file.txt
تعداد خطوط را میشمارد
با -w
تعداد کلمات و با -c
تعداد بایتها را نشان میدهد
برای تحلیل فایلهای متنی مفید است
sort
– مرتبسازی محتوای فایل
خطوط فایل را به ترتیب الفبایی مرتب میکند
مثال: sort names.txt
با -r
به صورت معکوس مرتب میکند
با -n
برای مرتبسازی عددی استفاده میشود
4 – فیلترها و پردازش متن
|
(pipe) – انتقال خروجی به دستور دیگر
>
– ذخیره خروجی در فایل
>>
– الحاق خروجی به فایل
cut
– برش ستونهای متن
sed
– ویرایش جریان متن
awk
– پردازش پیشرفته متن
tr
– ترجمه یا حذف کاراکترها
tee
– نمایش و ذخیره همزمان خروجی
xargs
– ساخت و اجرای دستورات از ورودی
uniq
– حذف خطوط تکراری
5 – مدیریت کاربران و دسترسیها
sudo
– اجرای دستور با دسترسی root
su
– تغییر کاربر
passwd
– تغییر رمز عبور
useradd
– افزودن کاربر جدید
userdel
– حذف کاربر
usermod
– تغییر مشخصات کاربر
groupadd
– افزودن گروه جدید
chmod
– تغییر مجوزهای فایل/دایرکتوری
chown
– تغییر مالک فایل/دایرکتوری
chgrp
– تغییر گروه فایل/دایرکتوری
سرور مجازی آمریکا
6 – مدیریت فرآیندها
ps
– نمایش فرآیندهای در حال اجرا
top
– نمایش تعاملی فرآیندها
htop
– نسخه پیشرفته top
kill
– توقف فرآیند
killall
– توقف همه فرآیندهای با نام مشخص
pkill
– توقف فرآیند بر اساس نام
bg
– ادامه فرآیند در پسزمینه
fg
– آوردن فرآیند به پیشزمینه
jobs
– نمایش فرآیندهای پسزمینه
nice
– تغییر اولویت فرآیند
7 – شبکه و اینترنت
ping
– تست اتصال به هاست
ifconfig
– نمایش اطلاعات شبکه (قدیمی)
ip
– نمایش و مدیریت رابطهای شبکه
netstat
– نمایش آمار شبکه
ss
– نمایش سوکتها
dig
– جستجوی DNS
nslookup
– جستجوی DNS (قدیمی)
wget
– دانلود فایل از اینترنت
curl
– انتقال داده از/به سرور
ssh
– اتصال امن به سرور راه دور
8 – مدیریت بستهها
apt
– مدیریت بسته در دبیان/اوبونتو
yum
– مدیریت بسته در RHEL/CentOS
dnf
– مدیریت بسته در فدورا
pacman
– مدیریت بسته در آرچ
zypper
– مدیریت بسته در openSUSE
dpkg
– مدیریت بستههای دبیان
rpm
– مدیریت بستههای RPM
snap
– مدیریت بستههای Snap
flatpak
– مدیریت بستههای Flatpak
apt-get
– نسخه قدیمی apt
9 – دیسک و ذخیرهسازی
df
– نمایش فضای دیسک
du
– نمایش استفاده از فضای دایرکتوری
mount
– mount کردن دستگاهها
umount
– unmount کردن دستگاهها
fsck
– بررسی و تعمیر فایل سیستم
fdisk
– مدیریت پارتیشنها
parted
– ابزار پیشرفته پارتیشنبندی
mkfs
– ساخت فایل سیستم
dd
– کپی سطح پایین دیسک/فایل
lsblk
– نمایش دستگاههای بلوک
10 – دستورات پیشرفته و مفید
alias
– ساخت نام مستعار برای دستورات
cron
– زمانبندی اجرای دستورات
tar
– فشردهسازی و استخراج فایلها
gzip
/gunzip
– فشردهسازی با gzip
zip
/unzip
– فشردهسازی با zip
scp
– کپی امن فایل بین سیستمها
rsync
– همگامسازی فایلها
watch
– اجرای دورهای یک دستور
tmux
– مدیریت ترمینال چندگانه
exit
– خروج از ترمینال
11 – نکات مهم :
برای یادگیری هر دستور میتوانید از man
استفاده کنید (مثال: man ls
)
بسیاری از دستورات با --help
اطلاعات پایه نمایش میدهند.
ترکیب این دستورات با pipe (|
) قدرت زیادی به شما میدهد.