...

مدیریت فایل در لینوکس | آموزش کار با فایل و پوشه در ترمینال

وبلاگ شخصی || تکنیکال رایتر و تستر نرم‌افزار
آموزش کار با دایرکتوری و فایل در لینوکس

جدول محتواها

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

رابط خط فرمان (ترمینال) به کاربران اجازه می‌دهد تا با سرعت، دقت، و کنترل کامل، عملیات مختلفی را روی فایل‌ها و پوشه‌ها انجام دهند؛ از ایجاد و حذف گرفته تا جابجایی، فشرده‌سازی، و تنظیم مجوزهای دسترسی. این توانایی نه‌تنها بهره‌وری را افزایش می‌دهد، بلکه در محیط‌های بدون رابط گرافیکی نیز ضروری است.

این راهنما با هدف آموزش گام‌به‌گام مدیریت فایل‌ها و پوشه‌ها از طریق ترمینال لینوکس تهیه شده است. مطالب به‌صورت ماژولار و قابل چاپ تنظیم شده‌اند تا هم برای مبتدیان قابل فهم باشند، و هم برای کاربران حرفه‌ای کاربردی و قابل استناد.

در ادامه، با دستورات پایه و پیشرفته، مثال‌های واقعی، نکات امنیتی، و توصیه‌های حرفه‌ای آشنا خواهید شد، همه در قالبی آموزشی، دقیق، و قابل استفاده در پروژه‌های روزمره.

مفاهیم پایه‌ای فایل‌سیستم لینوکس

پیش از شروع کار با دستورات ترمینال، آشنایی با ساختار فایل‌سیستم لینوکس ضروری است. لینوکس از یک ساختار درختی استفاده می‌کند که در آن همه‌چیز از ریشه (/) آغاز می‌شود و پوشه‌ها و فایل‌ها به‌صورت سلسله‌مراتبی درون یکدیگر قرار دارند.

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

  • مسیر مطلق (Absolute Path): مسیر کامل از ریشه تا مقصد. مثال:
    /home/username/projects/test.txt
  • مسیر نسبی (Relative Path): مسیر نسبت به موقعیت فعلی ترمینال. مثال:
    ../documents/report.txt

برای مشاهده مسیر فعلی، از دستور pwd استفاده می‌شود:

pwd

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

  • /home → محل نگهداری پوشه‌های کاربران
  • /etc → فایل‌های پیکربندی سیستم
  • /var → فایل‌های متغیر مانند لاگ‌ها
  • /usr → برنامه‌ها و کتابخانه‌های کاربر
  • /tmp → فایل‌های موقتی
  • /root → پوشه کاربر ریشه (مدیر سیستم)

نکات کلیدی

  • لینوکس به بزرگی و کوچکی حروف حساس است: File.txt با file.txt متفاوت است.
  • فاصله در نام فایل‌ها توصیه نمی‌شود؛ از خط‌تیره (-) یا زیرخط (_) استفاده کنید.
  • برای جلوگیری از خطا، مسیرها را با Tab تکمیل خودکار کنید.

دستورات پایه برای مدیریت فایل‌ها

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

ایجاد فایل جدید

touch filename.txt

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

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

  • نمایش کامل محتوا:
cat filename.txt
  • نمایش صفحه‌به‌صفحه:
less filename.txt
  • نمایش ابتدای فایل:
head filename.txt
  • نمایش انتهای فایل:
tail filename.txt

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

کپی فایل

cp source.txt destination.txt

کپی فایل از مسیر مبدا به مقصد. برای کپی در پوشه دیگر:

cp source.txt /home/username/docs/

جابجایی یا تغییر نام فایل

mv oldname.txt newname.txt

برای انتقال فایل به پوشه دیگر:

mv file.txt /home/username/archive/

حذف فایل

rm filename.txt

برای حذف چند فایل:

rm file1.txt file2.txt

هشدار: دستور rm بدون تأیید عمل می‌کند. برای ایمنی بیشتر از rm -i استفاده کنید.

 

نیاز به سرور دارید؟

همین حالا سرور رایگان‌ خودت رو از پچیم دریافت کن!

دستورات پایه برای مدیریت پوشه‌ها

پوشه‌ها (دایرکتوری‌ها) نقش حیاتی در سازماندهی فایل‌ها در لینوکس دارند. با استفاده از ترمینال، می‌توان پوشه‌ها را ایجاد، حذف، پیمایش و بررسی کرد، همه با چند دستور ساده و قابل ترکیب.

ایجاد پوشه

mkdir foldername

ایجاد یک پوشه جدید با نام مشخص. برای ایجاد چند پوشه هم‌زمان:

mkdir folder1 folder2 folder3

برای ایجاد پوشه‌های تو در تو:

mkdir -p parent/child/grandchild

ورود به پوشه

cd foldername

تغییر مسیر فعلی ترمینال به پوشه مورد نظر. برای بازگشت به پوشه قبلی:

cd ..

برای رفتن به پوشه خانگی کاربر:

cd ~

نمایش مسیر فعلی

pwd

نمایش مسیر کامل پوشه‌ای که در آن قرار دارید.

حذف پوشه

  • حذف پوشه خالی:
rmdir foldername
  • حذف پوشه به‌همراه محتویات:
rm -r foldername

هشدار: دستور rm -r تمام فایل‌ها و زیرپوشه‌ها را بدون تأیید حذف می‌کند. برای ایمنی بیشتر از rm -ri استفاده کنید.

نمایش ساختار پوشه‌ها

اگر ابزار tree نصب شده باشد، می‌توانید ساختار پوشه‌ها را به‌صورت درختی مشاهده کنید:

tree foldername

برای نصب: sudo apt install tree یا sudo yum install tree

سطح پیشرفته، کار با مجوزها و مالکیت فایل‌ها

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

بررسی مجوزها و مالکیت

ls -l

نمایش لیست فایل‌ها همراه با جزئیات مجوزها، مالکیت، حجم، و تاریخ آخرین تغییر.

نمونه خروجی:

-rw-r--r-- 1 username users 1024 Nov 3 10:00 report.txt
  • -rw-r--r-- → مجوزها
  • 1 → تعداد لینک‌ها
  • arastoo → مالک فایل
  • users → گروه مالک
  • 1024 → حجم فایل (بایت)
  • Nov 3 10:00 → زمان آخرین تغییر
  • report.txt → نام فایل

تغییر مجوزها با chmod

فرمان chmod برای تغییر مجوزهای دسترسی استفاده می‌شود.

  • مجوزها به‌صورت عددی:
chmod 644 filename.txt
  • یا به‌صورت نمادین:
chmod u+x script.sh

نمادها:

  • r → خواندن (read)
  • w → نوشتن (write)
  • x → اجرا (execute)
  • u → کاربر (user)
  • g → گروه (group)
  • o → سایرین (others)

مثال:

chmod ug+rw file.txt

اعطای مجوز خواندن و نوشتن به کاربر و گروه.

تغییر مالکیت با chown

chown username filename.txt

تغییر مالک فایل به کاربر مشخص‌شده.

برای تغییر گروه:

chown username:groupname filename.txt

مثال:

chown arastoo:editors report.txt

توجه: برای اجرای chown معمولاً نیاز به دسترسی root دارید.

جستجو و فیلتر فایل‌ها در ترمینال

در سیستم‌عامل لینوکس، یافتن فایل‌ها و محتوا با استفاده از ترمینال بسیار سریع و دقیق است. ابزارهای خط فرمان مانند find،grep و locate به شما امکان می‌دهند تا فایل‌ها را بر اساس نام، مسیر، محتوا یا ویژگی‌های دیگر جستجو کنید.

جستجوی فایل‌ها با find

find /path/to/search -name "filename.txt"

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

مثال‌های کاربردی:

  • جستجوی همه فایل‌های .log در پوشه فعلی:
find . -type f -name "*.log"
  • جستجوی فایل‌های بزرگ‌تر از ۵۰ مگابایت:
find / -type f -size +50M
  • جستجوی فایل‌های ویرایش‌شده در ۲۴ ساعت گذشته:
find . -type f -mtime -1

جستجوی محتوا با grep

grep "keyword" filename.txt

جستجوی یک عبارت خاص درون فایل.

مثال‌های پیشرفته:

  • جستجوی عبارت در همه فایل‌های .txt در پوشه فعلی:
grep "error" *.txt
  • جستجوی بازگشتی در زیرپوشه‌ها:
grep -r "timeout" /var/log/

نکته: برای نمایش شماره خط، از -n استفاده کنید.

جستجوی سریع با locate

locate filename.txt

جستجوی سریع فایل‌ها با استفاده از پایگاه داده داخلی.

برای به‌روزرسانی پایگاه داده:

sudo updatedb

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

فشرده‌سازی و استخراج فایل‌ها در لینوکس

فشرده‌سازی فایل‌ها در لینوکس نه‌تنها به صرفه‌جویی در فضای دیسک کمک می‌کند، بلکه انتقال و بکاپ‌گیری را نیز ساده‌تر می‌سازد. ابزارهای متنوعی مانند tar، gzip ،zip و unzip برای این منظور در دسترس هستند.

خرید سرور لینوکس در کمتر از 2 دقیقه!

پچیم، ارائه دهنده سرور های لینوکس ایران و خارج!

فشرده‌سازی با tar

tar -cvf archive.tar file1.txt file2.txt
  • -c → ایجاد آرشیو
  • -v → نمایش فایل‌های در حال پردازش
  • -f → تعیین نام فایل خروجی

فشرده‌سازی همراه با gzip:

tar -czvf archive.tar.gz foldername/

استخراج فایل‌های tar یا tar.gz

  • استخراج فایل .tar:
tar -xvf archive.tar
  • استخراج فایل .tar.gz:
tar -xzvf archive.tar.gz

برای استخراج در مسیر خاص:

tar -xzvf archive.tar.gz -C /path/to/destination/

فشرده‌سازی با gzip

gzip filename.txt

فایل را به filename.txt.gz تبدیل می‌کند و فایل اصلی را حذف می‌نماید.

برای بازگردانی:

gunzip filename.txt.gz

فشرده‌سازی و استخراج با zip و unzip

  • فشرده‌سازی:
zip archive.zip file1.txt file2.txt
  • فشرده‌سازی پوشه:
zip -r archive.zip foldername/
  • استخراج:
unzip archive.zip

نکات حرفه‌ای و توصیه‌های امنیتی

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

استفاده هوشمندانه از Wildcards

کاراکترهای جای‌گزین (wildcards) در ترمینال برای انتخاب گروهی از فایل‌ها بسیار مفیدند:

  • * → جای‌گزین هر تعداد کاراکتر
    مثال: rm *.log → حذف همه فایل‌های .log
  • ? → جای‌گزین یک کاراکتر
    مثال: ls file?.txt → نمایش فایل‌هایی مانند file1.txt, fileA.txt

توجه: استفاده نادرست از * در دستورات حذف (rm) ممکن است منجر به پاک‌سازی ناخواسته شود.

حذف ایمن فایل‌ها

  • استفاده از حالت تأیید قبل از حذف:
rm -i filename.txt
  • حذف ایمن پوشه‌ها:
rm -ri foldername/

این گزینه‌ها قبل از حذف هر فایل یا پوشه، از شما تأیید می‌خواهند.

بررسی قبل از اجرا

برای اطمینان از عملکرد دستور، ابتدا آن را با echo تست کنید:

echo rm *.log

یا از حالت dry-run در ابزارهای پیشرفته مانند rsync استفاده کنید:

rsync -av --dry-run source/ destination/

محدود کردن دسترسی‌ها

  • از دادن مجوزهای اجرایی (chmod +x) به فایل‌های ناشناس خودداری کنید.
  • فایل‌های حساس را فقط برای مالک قابل خواندن و نوشتن کنید:
chmod 600 secrets.txt

جمع‌بندی

در این راهنمای گام‌به‌گام، با مهم‌ترین دستورات و مفاهیم مربوط به مدیریت فایل‌ها و پوشه‌ها در ترمینال لینوکس آشنا شدیم. از ایجاد و حذف فایل‌ها گرفته تا تنظیم مجوزها، جستجو، فشرده‌سازی و رعایت نکات امنیتی، همه در قالبی ماژولار، کاربردی و قابل استناد ارائه شدند.

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

عملیاتدستور نمونه
ایجاد فایلtouch file.txt
مشاهده محتواcat،less ،head ،tail
کپی و جابجاییcp ،mv
حذف فایل/پوشهrm ،rm -r ،rmdir
ایجاد پوشهmkdir ،mkdir -p
پیمایش مسیرcd ،pwd
تغییر مجوزchmod 755 file.sh
تغییر مالکیتchown user:group file.txt
جستجوی فایلfind ،locate
جستجوی محتواgrep -r "keyword" .
فشرده‌سازی و استخراجtar ،gzip ،zip ،unzip

منابع پیشنهادی برای یادگیری بیشتر

  • صفحات راهنمای داخلی لینوکس:
    man command-name
    

    مثال: man chmod

  • وب‌سایت‌های آموزشی معتبر:
  • تمرین‌های پیشنهادی:
    • ایجاد یک ساختار پوشه‌ای نمونه و مدیریت فایل‌های متنی در آن
    • نوشتن اسکریپت ساده برای بکاپ‌گیری با tar
    • تنظیم مجوزها برای فایل‌های حساس و بررسی با ls -l

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

همچنین با خرید سرور از پچیم میتوانید علاوه بر دریافت سرور، از خدمات پنل مدیریت سرور پچیم هم به صورت رایگان استفاده کنید.

وبلاگ شخصی || تکنیکال رایتر و تستر نرم‌افزار

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

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

دسته بندی ها

ویدیو
اخبار
مقالات