دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
لینوکس
  • Folder icon closed Folder open iconآشنایی با لینوکس (Linux Fundamentals)
  • Folder icon closed Folder open iconتوزیع‌های مختلف لینوکس (Linux Distributions)
  • Folder icon closed Folder open iconFHS؛ آشنایی با ساختار فایل‌ و پوشه‌های لینوکسی
  • Folder icon closed Folder open iconمهم‌ترین دستورات پایه‌ای برای هر sysadmin
  • Folder icon closed Folder open iconمدیریت فایل و پوشه (file & directory management) در لینوکس
  • Folder icon closed Folder open iconآموزش ویرایش فایل‌های متنی در لینوکس با Nano و Vim
  • Folder icon closed Folder open iconآشنایی با users، groups و ساختار مدیریت کاربران در لینوکس
  • Folder icon closed Folder open iconآموزش Permission و Ownership در لینوکس
  • Folder icon closed Folder open iconآشنایی با Root و sudo
  • Folder icon closed Folder open iconآشنایی با Processها در لینوکس
  • Folder icon closed Folder open iconتغییر Hostname در لینوکس
  • Folder icon closed Folder open iconتنظیم Timezone در لینوکس
  • Folder icon closed Folder open iconتنظیم NTP در لینوکس
  • Folder icon closed Folder open iconبروزرسانی سیستم در لینوکس
  • Folder icon closed Folder open iconساخت کاربر جدید در لینوکس
  • Folder icon closed Folder open iconایجاد کاربران و گروه ها در لینوکس
  • Folder icon closed Folder open iconآموزش ACL در لینوکس؛ مدیریت سطح دسترسی پیشرفته برای کاربران و گروه‌ها
  • Folder icon closed Folder open iconآموزش umask در لینوکس؛ تعیین مجوز پیش‌فرض فایل‌ها و پوشه‌های جدید
  • Folder icon closed Folder open iconآموزش فایل sudoers؛ مدیریت دسترسی کاربران به دستورات مدیریتی در لینوکس
  • Folder icon closed Folder open iconآموزش دستور chown در لینوکس
  • Folder icon closed Folder open iconآموزش دستور chmod در لینوکس
  • Folder icon closed Folder open iconSticky Bit در لینوکس چیست؟ آموزش افزایش امنیت پوشه‌های اشتراکی
  • Folder icon closed Folder open iconآموزش SUID در لینوکس؛ اجرای برنامه‌ها با دسترسی مالک فایل
  • Folder icon closed Folder open iconآموزش SGID در لینوکس؛ مدیریت دسترسی گروه‌ها و اجرای برنامه‌ها
لینوکس

مدیریت فایل و پوشه (file & directory management) در لینوکس

file management in linux

ایجاد، حذف، کپی، انتقال و جستجوی فایل‌ها

مقدمه

مدیریت فایل‌ها و پوشه‌ها (file and directory management) یکی از مهارت‌های پایه و در عین حال بسیار مهم در لینوکس است. تقریباً تمام کارهای روزمره یک مدیر سرور (آپلود وبسایت، سازماندهی لاگ‌ها، بکاپ‌گیری، پاک‌سازی فضا و غیره) با دستورات مدیریت فایل انجام می‌شود.

در این مقاله به صورت کامل و کاربردی با دستورات ایجاد، کپی، جابجایی، حذف، جستجو و مشاهده فایل‌ها و پوشه‌ها آشنا می‌شویم.

تسلط بر این بخش به شما کمک می‌کند تا با اعتماد به نفس کامل با فایل سیستم لینوکس کار کنید.


دستورات ناوبری در فایل سیستم

1. pwd — نمایش مسیر فعلی

دستور pwd (Print Working Directory) مسیر کامل پوشه‌ای که در حال حاضر در آن هستید را نمایش می‌دهد.

مدیریت فایل و پوشه (file & directory management) در لینوکس

این دستور بسیار مفید است، مخصوصاً وقتی چندین ترمینال باز دارید و می‌خواهید مطمئن شوید در کدام پوشه هستید.

2. ls — نمایش لیست فایل‌ها و پوشه‌ها

مهم‌ترین دستور برای مشاهده محتویات یک پوشه.

رایج‌ترین گزینه‌ها:

flagتوضیح
-1نمایش ۱ فایل در هر خط
-aنمایش تمامی فایل‌ها حتی فایل‌های مخفی
-hنمایش اطلاعات حافظه به صورت خواناتر
-lنمایش اطلاعات کامل مانند زمان ساخت و permissions
-tنمایش فایل‌ها به ترتیب زمان
-Sنمایش فایل‌ها به ترتیب اندازه
-ltrhمرسوم‌ترین ترکیب مشاهده محتویات یک پوشه

مثال:

مدیریت فایل و پوشه (file & directory management) در لینوکس

3. tree — مشاهده ساختار درختی پوشه‌ها

گاهی می‌خواهیم مسیری از پوشه‌ها را بررسی کنیم یا در یک نگاه کلی ساختار پوشه‌ها و فایل‌های موجود در یک مسیر را به طور سریع مرور کنیم. در این موارد از دستور tree استفاده می‌شود

دستورتوضیح
tree -L numمیزان ارتفاع درخت را تنها به num محدود می‌کند
tree -dتنها پوشه‌ها را نمایش می‌دهد
tree -a -Cنمایش پوشه‌‌های پنهان با -a و رنگ‌آمیزی درخت با -C
tree -s -h --duنمایش سایز پوشه‌ها و سایز تجمعی(به علاوه لول قبل) به همراه نمایش خوانا تر
tree -fنمایش مسیر کامل به جای مسیر نسبی
مدیریت فایل و پوشه (file & directory management) در لینوکس

4. cd — تغییر دایرکتوری

دستور cd (Change Directory) برای حرکت بین پوشه‌ها استفاده می‌شود.

دستورتوضیح
cd /root/etcرفتن به یک پوشه با مسیر کامل (absolute path)
cd ..رفتن به یک پوشه بالاتر
cd ~رفتن به پوشه خانه کاربر فعلی (/home/<user>)
cd -رفتن به پوشه قبلی
cd ~<username>رفتن به پوشه کاربر انتخاب شده

4.1 z – تغییر دایرکتوری مدرن

دستور z – جایگزینی هوشمند برای cd

در محیط خط فرمان، دستور cd یکی از پرکاربردترین دستورات است، اما در استفادهٔ مکرر از آن، به‌ویژه هنگام کار با مسیرهای طولانی یا تودرتو، کارایی کاهش می‌یابد. دستور z به عنوان یک راهکار مدرن و کارآمد طراحی شده است تا این محدودیت را برطرف کند.

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

از نقاط قوت دیگر z، هم‌افزایی آن با ابزار fzf است. fzf یک موتور جستجوی تعاملی و فوق‌سریع است که قابلیت تطابق رشته‌های مشابه را نیز دارد؛ به این معنا که حتی اگر نام دقیق پوشه را به خاطر نداشته باشید، با وارد کردن بخشی از آن، گزینه‌های نزدیک به شما پیشنهاد می‌شوند. این ویژگی در محیط‌های میزبانی وب که معمولاً با تعداد زیادی پوشهٔ پروژه، لاگ، تنظیمات و بک‌آپ سروکار دارید، بسیار کارگشاست.

با استفادهٔ منظم از z، به مرور زمان یک حافظهٔ پویا از عادات کاری شما شکل می‌گیرد که نیاز به تایپ مسیرهای کامل را به حداقل می‌رساند و سرعت کار با سرور را به طور محسوسی افزایش می‌دهد.

به عنوان مثال مسیر ~/dotfiles/.config/nvim در این سیستم مسیری پر کاربرد است:

مدیریت فایل و پوشه (file & directory management) در لینوکس

علاوه بر این، دستور z از چند کلمه کلیدی به صورت همزمان پشتیبانی می‌کند و آن‌ها را به ترتیب حضور در مسیر جستجو می‌کند؛ برای نمونه، در این سیستم دستور z programming lpic کاربر را مستقیماً به پوشهٔ ~/Programming/Linux/LPIC-1/ هدایت می‌کند.

مدیریت فایل و پوشه (file & directory management) در لینوکس

می‌توانید با جزئیات بیشتر z در صفحه github این دستور آشنا شوید.


ایجاد و حذف فایل و پوشه

1. mkdir — ساخت پوشه جدید

دستور mkdir (Make Directory) برای ایجاد پوشه استفاده می‌شود.

دستورتوضیح
mkdir -p یا mkdir --parentsایجاد پوشه‌های والد در صورت عدم وجود
mkdir --mode rwxrw-r--تنظیم حالت permission ذکر شده برای پوشه جدید
mkdir --parents {a,b}/{x,y,z}/{h,i,j}ایجاد پوشه‌های تو در تو با یک دستور

دستور آخر جدول عملکردی مانند عکس زیر دارد:

مدیریت فایل و پوشه (file & directory management) در لینوکس

2. touch — ساخت فایل خالی

دستور touch برای ایجاد فایل خالی یا به‌روزرسانی زمان آخرین تغییر فایل استفاده می‌شود.

مثال:

touch index.html
touch /tmp/test.log
touch file1.txt file2.txt file3.txt

نکته: اگر فایل از قبل وجود داشته باشد، touch فقط زمان دسترسی و تغییر آن را به‌روزرسانی می‌کند.

3. rm — حذف فایل و پوشه

دستور rm (Remove) قدرتمندترین دستور برای حذف است. با احتیاط استفاده کنید!

دستورتوضیح
rm -rحذف recursive (برای پوشه‌ها)
rm -fForce (بدون پرسیدن)
rm -iپرسیدن قبل از هر حذف (interactive)
rm -v / rm --verboseنمایش جزئیات حذف
rm -rfحذف کامل یک پوشه به همراه تمامی فایل‌ها و پوشه‌های داخلی

4. rmdir — حذف پوشه خالی

دستور rmdir فقط پوشه‌های خالی را حذف می‌کند.


انتقال کپی و تغییر نام پوشه‌ها و فایل‌ها

1. cp — کپی کردن فایل و پوشه

دستور cp (Copy) برای کپی فایل یا پوشه استفاده می‌شود.

دستورتوضیح
cp -rکپی recursive (برای پوشه‌ها)
cp -iپرسیدن قبل از overwrite
cp -vنمایش جزئیات (verbose)

2. mv — جابجایی یا تغییر نام

دستور mv (Move) هم برای جابجایی و هم تغییر نام فایل/پوشه استفاده می‌شود.

دستورتوضیح
mv -iپرسیدن قبل از overwrite
mv -vنمایش جزئیات

مشاهده و ویرایش فایل‌ها

1. file – نمایش اطلاعاتی از ماهیت فایل

برای اینکه بدانیم در حال کار با چه فایلی هستیم می‌توانیم به جای اکتفا به پسوند فایل که می‌تواند حاولی اطلاعات گمراه کننده باشد از دستور file استفاده کنیم.

دستورتوضیح
file --keep-goingتا انتهای فایل بررسی را انجام می‌دهد و به اطلاعات اولیه اکتفا نمی‌کند
file --uncompressبرای فایل‌های فشرده استفاده می‌شود و محتویات داخل آن‌ها را بررسی می‌کند

این دستور بسیار در حفظ امنیت سرور لینوکسی شما با اهمیت است. به عنوان مثال فرض کنید عکسی را از سایتی دانلود می‌کنید یا به شما ایمیل می‌شود. مطابق تصویر زیر ممکن است در اصل این یک فایل اجرایی باشد و با استفاده از دستوری مانند file می‌توان تفاوت میان یک فایل تصویر واقعی و یک فایل مشکوک را مشاهده کرد:

مدیریت فایل و پوشه (file & directory management) در لینوکس

2. cat — نمایش محتوای فایل

دستور cat (Concatenate) ساده‌ترین راه برای نمایش محتوای فایل است.

دستورتوضیح
cat file1 file2 file3 > fileفایل‌های ۱ تا ۳ را می‌خواند و در file جایگزین می‌کند
cat file1 file2 file3 > fileفایل‌های ۱ تا ۳ را می‌خواند و به انتهای file اضافه می‌کند
cat > fileبه صورت interactive به file محتوا اضافه می‌کند. خاتمه با EOF در سیستم لینوکسی معادل ctrl + d
cat -nخروجی فایل را شماره گذاری می‌کند
cat file1 | programخروجی file1 را به عنوان ورودی program استفاده می‌کند
مدیریت فایل و پوشه (file & directory management) در لینوکس

دستورات |, >,>> دستوراتی تحت عنوان pipe و redirect هستند که در مقالات آینده به آن‌ها به طور تکمیلی اشاره خواهد شد.

3. less — نمایش صفحه به صفحه

دستور less برای مشاهده فایل‌های بزرگ مناسب است (با امکان اسکرول).

نکته مهمی که در رابطه با این دستور بسیار کاربردی باید بدانید این است که جابه‌جایی در فایل باز شده (همانند man) با کلیدهای vim انجام می‌شود.

کلیدتوضیح
qخروج از فایل
hحرکت نشانگر به چپ
jحرکت نشانگر به پایین
kحرکت نشانگر به بالا
lحرکت نشانگر به راست
/<keyword>جستجو برای keyword در فایل
nمعادل next در جستجو
Nمعادل previous در جستجو

در مقاله راهنمای ویرایشگرهای متن vim و nano بیشتر به این دستور

4.head & tail — نمایش ابتدا و انتهای فایل

جدول گزینه‌های مهم:

دستورتوضیح
head -n numنمایش num خط اول
tail -n numنمایش num خط آخر
tail -fنمایش زنده (follow) یعنی در صورت اضافه شدن به فایل محتوای جدید نمایش داده می‌شود

دستور tail -f برای زیر نظر گرفتن logهای سیستمی بسیار کاربردی است.

پیدا کردن فایل‌ها و پوشه‌ها

1. find — جستجوی قدرتمند فایل و پوشه

دستور find یکی از قوی‌ترین ابزارهای جستجو در لینوکس است.

دستورتوضیح
find - nameجستجو بر اساس نام (حساس به حروف)
find -inameجستجو بدون حساسیت به حروف بزرگ/کوچک
find -type f/dفقط فایل (f) یا پوشه (d)
find -size +100Mجستجو بر اساس حجم

2. locate — جستجوی سریع

دستور locate بسیار سریع‌تر از find است زیرا از دیتابیس استفاده می‌کند.

دستورتوضیح
locate "patern"جستجو بر اساس نام (حساس به حروف)
locate -i "pattern"جستجو بدون حساسیت به حروف بزرگ/کوچک
sudo updatedbبه روز رسانی فایل دیتابیس

3. grep — جستجو فایل و محتویات

دستور بسیار مهم و کاربردی که هم برای جستجوی فایل‌ها و هم محتویات آن‌ها استفاده می‌شود. این دستور از عبارات منظم یا به اختصار regex برای شناسایی الگوها استفاده می‌کند.

دستورتوضیح
grep "pattern" file1 file2جستجو در فایل‌های انتخابی
grep -i "pattern" file1 file2جستجو بدون حساسیت به حروف بزرگ/کوچک در فایل
grep -F "string"جستجو بدون استفاده از regex
grep -rجستجوی بازگشتی در یک پوشه
grep -cفقط نمایش تعداد (count) تطبیق‌های مشاهده شده
grep -nنمایش به همراه شماره خط

به عنوان مثال می‌توانید با دستور زیر تمامی دستورهای sudo اجرا شده در یک سیستم لینوکسی توسط یک کاربر خاص را مشاهده کنید:

❯ grep "sudo" /home/<user>/.bash_history -n | less

این دستور بسیار گسترده و پرکاربرد است. پیشنهاد می‌شود صفحه man این دستور را به طور کامل مطالعه و بررسی کنید.

4. fzf — جستجوی تعاملی (پیشنهادی)

ابزار مدرن و بسیار قدرتمند برای جستجوی تعاملی. این دستور که مخفف fuzzily find است از الگوریتم متفاوتی نسبت به grep برای جستجو انتخاب می‌کند. این الگوریتم بسیار سریع است و در صورتی که حروف جستجو شده حتی بدون اینکه به طور متوالی در کنار هم قرار داشته باشند را شناسایی میکند. به عنوان مثال در عکس زی تمامی فایل‌ها به طور مشترک کلمات fzf را به همین ترتیب دارند.

مدیریت فایل و پوشه (file & directory management) در لینوکس

file manager تحت ترمینال TUI

به عنوان یک دستور اضافی و کاربردی می‌توان از yazi که یک file manager تحت ترمینال است استفاده کرد. این مرورگر فایل بر روی بسیاری از ترمینال‌ها اجرا می‌شود و برای برخی از آن‌ها قابلیت نمایش عکس به صورت preview نیز وجود دارد.

yazi tui file management

خلاصه مقاله

در این مقاله با دستورات مدیریت فایل و پوشه در لینوکس آشنا شدید. این مهارت یکی از پایه‌ای‌ترین و پرکاربردترین بخش‌های کار با سرور لینوکس است.

به یاد داشته باشید:

  • همیشه با pwd و ls -la موقعیت خود را چک کنید.
  • از cp -r و mv با احتیاط استفاده کنید.
  • برای حذف از rm -i یا rm -rf با دقت کامل استفاده کنید.

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مطالب اخیراً بازدیدشده

  • آشنایی با Windows Admin Center؛ مدیریت ویندوز سرور از طریق مرورگر
  • تفاوت Windows Server با Windows معمولی
  • تغییر دامنه اصلی هاست
  • آموزش بررسی etc/resolv.conf/ و عیب‌یابی مشکلات DNS در لینوکس
  • آموزش کانفیگ صحیح exim
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

مدیریت فایل و پوشه (file & directory management) در لینوکس

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

آگوست 2026
شیدسچپج
1234567
891011121314
15161718192021
22232425262728
293031 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام