user@linux-tutorials: ~/tutorials/04-file-management — linux-tutorials

tutorials / linux / chapter-04.md · utf-8 ⬇ download chapter-04.md

فصل چهارم: مدیریت فایل‌ها در لینوکس

Linux File Management

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

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

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

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

مدیریت فایل‌ها یکی از مهارت‌های پایه‌ای لینوکس است و تقریباً در تمام حوزه‌های مرتبط با لینوکس مانند مدیریت سرور، برنامه‌نویسی، امنیت سایبری و DevOps کاربرد دارد.

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

در لینوکس یک مفهوم مهم وجود دارد:

Everything is a file

یعنی تقریباً همه چیز در لینوکس به شکل فایل مدیریت می‌شود.

فایل فقط شامل متن، تصویر یا ویدیو نیست.

مواردی مانند:

  • فایل‌های متنی
  • برنامه‌ها
  • تنظیمات سیستم
  • اطلاعات دستگاه‌ها
  • داده‌های پردازش‌ها

همگی در ساختار فایل سیستم لینوکس قرار می‌گیرند.

دایرکتوری یا Directory محلی برای سازمان‌دهی فایل‌ها است.

[i]به زبان ساده: File: محلی برای نگهداری اطلاعات.

Directory: محلی برای نگهداری فایل‌ها و پوشه‌های دیگر.

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

یکی از پرکاربردترین دستورات لینوکس:

user@linux-tutorials: ~/ch-04BASH
ls

است.

این دستور محتویات مسیر فعلی را نمایش می‌دهد.

مثال:

user@linux-tutorials: ~/ch-04BASH
ls

نمونه خروجی:

Documents
Downloads
Pictures
Projects

نمایش اطلاعات کامل فایل‌ها

برای مشاهده جزئیات بیشتر از گزینه:

-l

استفاده می‌کنیم.

مثال:

user@linux-tutorials: ~/ch-04BASH
ls -l

این دستور اطلاعاتی مانند موارد زیر را نمایش می‌دهد:

  • سطح دسترسی فایل
  • مالک فایل
  • گروه فایل
  • حجم فایل
  • زمان آخرین تغییر
  • نام فایل

نمایش فایل‌های مخفی

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

مثال:

.bashrc
.profile
.gitconfig

برای مشاهده این فایل‌ها:

user@linux-tutorials: ~/ch-04BASH
ls -a

استفاده می‌شود.

برای نمایش کامل همراه با جزئیات:

user@linux-tutorials: ~/ch-04BASH
ls -la

ایجاد پوشه با mkdir

برای ساخت پوشه جدید از دستور:

user@linux-tutorials: ~/ch-04BASH
mkdir

استفاده می‌کنیم.

mkdir مخفف:

Make Directory

است.

مثال:

user@linux-tutorials: ~/ch-04BASH
mkdir projects

یک پوشه با نام projects ایجاد می‌شود.

ساخت چند پوشه همزمان

مثال:

user@linux-tutorials: ~/ch-04BASH
mkdir photos documents videos

سه پوشه ایجاد می‌کند.

ساخت مسیرهای تو در تو

با گزینه:

-p

می‌توان چند سطح پوشه را همزمان ایجاد کرد.

مثال:

user@linux-tutorials: ~/ch-04BASH
mkdir -p Projects/Python/Beginner

ساختار زیر ایجاد می‌شود:

Projects
└── Python
    └── Beginner

ایجاد فایل با touch

برای ساخت فایل خالی از دستور:

user@linux-tutorials: ~/ch-04BASH
touch

استفاده می‌کنیم.

مثال:

user@linux-tutorials: ~/ch-04BASH
touch hello.txt

فایل hello.txt ایجاد می‌شود.

بررسی نوع فایل با file

برای تشخیص نوع یک فایل:

user@linux-tutorials: ~/ch-04BASH
file filename

استفاده می‌شود.

مثال:

user@linux-tutorials: ~/ch-04BASH
file hello.txt

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

کپی کردن فایل‌ها با cp

برای کپی کردن فایل:

user@linux-tutorials: ~/ch-04BASH
cp source destination

استفاده می‌کنیم.

مثال:

user@linux-tutorials: ~/ch-04BASH
cp file.txt backup.txt

یک نسخه کپی از فایل ایجاد می‌شود.

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

برای کپی کردن پوشه باید از گزینه:

-r

استفاده کنیم.

مثال:

user@linux-tutorials: ~/ch-04BASH
cp -r Projects Backup

پوشهٔ Projects و تمام محتویات آن در مقصد کپی می‌شود؛ دادهٔ مبدأ حذف یا منتقل نمی‌شود. اگر Backup از قبل یک دایرکتوری موجود باشد، نتیجه داخل Backup/Projects قرار می‌گیرد؛ در غیر این صورت دایرکتوری جدید Backup ساخته می‌شود.

انتقال و تغییر نام فایل‌ها با mv

دستور:

user@linux-tutorials: ~/ch-04BASH
mv

برای دو کار استفاده می‌شود:

  • تغییر نام فایل
  • انتقال فایل

تغییر نام

مثال:

user@linux-tutorials: ~/ch-04BASH
mv old.txt new.txt

نام فایل تغییر می‌کند.

انتقال فایل

مثال:

user@linux-tutorials: ~/ch-04BASH
mv file.txt Documents/

فایل به پوشه Documents منتقل می‌شود.

حذف فایل‌ها با rm

برای حذف فایل:

user@linux-tutorials: ~/ch-04BASH
rm file.txt

استفاده می‌کنیم.

توجه:

دستور rm معمولاً فایل را به سطل زباله منتقل نمی‌کند و حذف مستقیم انجام می‌دهد.

حذف پوشه‌ها

برای حذف پوشه خالی:

user@linux-tutorials: ~/ch-04BASH
rmdir folder

برای حذف پوشه همراه با محتویات:

user@linux-tutorials: ~/ch-04BASH
rm -r folder

استفاده می‌شود.

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

دستور cat

برای نمایش کامل یک فایل:

user@linux-tutorials: ~/ch-04BASH
cat file.txt

استفاده می‌شود.

دستور less

برای مشاهده فایل‌های طولانی:

user@linux-tutorials: ~/ch-04BASH
less file.txt

استفاده می‌شود.

برای خروج:

user@linux-tutorials: ~/ch-04BASH
q

را فشار دهید.

دستور head

نمایش ابتدای فایل:

user@linux-tutorials: ~/ch-04BASH
head file.txt

دستور tail

نمایش انتهای فایل:

user@linux-tutorials: ~/ch-04BASH
tail file.txt

این دستور برای بررسی فایل‌های Log بسیار کاربردی است.

کاربرد واقعی مدیریت فایل‌ها

مدیریت فایل‌ها یکی از کارهای روزمره کاربران حرفه‌ای لینوکس است.

یک برنامه‌نویس فایل‌های پروژه خود را مدیریت می‌کند.

یک مدیر سیستم فایل‌های تنظیمات سرورها را تغییر می‌دهد.

یک متخصص امنیت فایل‌های Log را بررسی می‌کند.

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

تمرین‌های فصل چهارم

[01]ساخت پوشه تمرینی

user@linux-tutorials: ~/ch-04BASH
mkdir linux-practice

[02]ورود به پوشه

user@linux-tutorials: ~/ch-04BASH
cd linux-practice

[03]ساخت چند فایل

user@linux-tutorials: ~/ch-04BASH
touch file1.txt file2.txt file3.txt

[04]نمایش فایل‌ها

user@linux-tutorials: ~/ch-04BASH
ls -la

[05]کپی فایل

user@linux-tutorials: ~/ch-04BASH
cp file1.txt backup.txt

[06]تغییر نام فایل

user@linux-tutorials: ~/ch-04BASH
mv file2.txt document.txt

[07]حذف فایل

user@linux-tutorials: ~/ch-04BASH
rm file3.txt

جمع‌بندی فصل چهارم

در این فصل یاد گرفتیم:

  • فایل و دایرکتوری در لینوکس چیست.
  • چگونه فایل‌ها را مشاهده کنیم.
  • چگونه فایل و پوشه ایجاد کنیم.
  • چگونه فایل‌ها را کپی کنیم.
  • چگونه فایل‌ها را منتقل یا تغییر نام دهیم.
  • چگونه فایل‌ها را حذف کنیم.
  • چگونه محتوای فایل‌ها را بررسی کنیم.

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

[→]در فصل بعد با یکی از مهم‌ترین بخش‌های لینوکس آشنا می‌شویم: مجوزها، مالکیت فایل‌ها و سیستم کاربران.