بلاگ شخصی امین

اینجاییم که باهم یاد بگیریم

1 October 2025

قسمت پنجم آموزش لینوکس - FileTypes and Links

by amin Ghorbani

نگاه عمیق تر به فایل ها و انواع لینک شدن فایل

خب همه ما میدونیم که با دستور ls میتونیم لیست فایل های موجود در یک مسیر رو ببینیم اما اینجا خوبه بگیم ما انواع مختلفی از فایل ها داریم که برای دیدن نوع کافیه وقتی ls رو میزنیم با سوییچ ld- اجراش کنیم ولی دیگه نه اینکه ادرس یه پوشه رو بدید و انتظار داشته باشید ببینید چه فایل هایی داخلش هست، بلکه ادرس فایل رو بهش میدید و اون به شما میگه نوع این فایل چیه

ls -ld /usr/bin/pwd

خروجی ls -ld

اون کاراکتر اول در حقیقت نشون دهنده همین نوع فایله اما خب اینجا سوال اینه - یعنی چی؟

نوع توضیح
- فایل های معمولی
d پوشه‌ها، بله در لینکوس directoryهم نوعی خاص از فایل است
l symbolic link : فایلی که به فایل یا پوشه دیگه ای اشاره میکنه
p named pipe
c character device file: سخت افزارهایی که داده ورودی میگیرن مثل میکروفن
b block device file: سخت افزارهایی که داده ها را در خودشون ذخیره میکنند
s unix socket

از جدول بالا احتمالا یکی از مواردی که خیلی خوبه درباره اش صحبت کنیم symbolic link ها یا همان soft link ها هستند. این ها فایل هایی هستند که به یه فایل دیگه اشاره میکنند.برای اینکه یه همچین فایلی بسازید میتونید از دستور ln استفاده کنید

ln -s /usr/bin/pwd myfile

اینجا درحقیقت ما داریم میگیم فایل myfile رو که اجرا کردن همون pwd سیستم است. البته که میتونید این soft link خودتون رو به یه پوشه وصل کنید. نمونه symbolic link به نظرم شکل بالا گویا است :)

در soft link اگر فایل اصلی حذف شه دیگه این link ما به درد نمیخوره

در hard link موضوع متفاوته اینجا در حقیقت ما داریم انگار به همون داده اصلی اشاره میکنیم یعنی اینجوری نیست که ما به یه فایلی که روی هارد است اشاره کنیم به خود اون داده اشاره میکنیم و حتی اگر اون فایل حذف بشه باز ما hard Linkمون سرجاش کار میکنه و تغییر دریکی از فایل ها باعث تغییر در دیگری میشود. نکته مهمی که باید دقت کنید این است که نمیتونید روی یه پارتیشن برای فایلی در پارتیشن دیگر hard link بسازید. برای ساختش ln رو بدون s- میزنیم:

ln mainfile softfile

مقایسه hard link و soft link

قبل از اینکه فایل اصلی رو پاک کنیم خروجی ls رو دقت کنید

شمارنده لینک‌ها

اون عدد دو در حقیقیت داره میگه به این فایل چند لینک وجود دارد. بعد از حذف یکی از فایل ها قاعدتا این عدد 1 میشود

ویژگی Hard Link Soft Link (Symlink)
اشاره به inode فایل مسیر فایل
اگر فایل پاک شود همچنان کار می‌کند (تا وقتی inode باقی است) خراب می‌شود (Broken Link)
پارتیشن فقط روی همان پارتیشن روی پارتیشن‌های مختلف هم کار می‌کند
دایرکتوری معمولاً پشتیبانی نمی‌شود می‌تواند به دایرکتوری اشاره کند
شبیه به نام دوم فایل Shortcut (میانبر)
tags: Bash - shell - terminal - linux - soft-link - hard-link