موضوع مقاله: نام پرونده (رایانه) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # نام پرونده (رایانه) | مقدمه: این فراداده، به‌منظور شناسایی یک پرونده در میان سایر پرونده‌های موجود در سیستم به‌کار می‌رود. | ## بخش 1: نام پرونده (رایانه) | هم‌چنین مطابق تعریف لغت‌نامه، یک نام متمایزکننده است که به یک پروندهٔ کامپیوتریِ ذخیره‌شدهٔ الکترونیکی داده می‌شود. این نام، پروندهٔ کامپیوتری را با محدودیت‌های مختلفی که سیستم‌عامل اعمال می‌کند — مانند طول یا محدودیت در انتخاب کاراکترها — مطابق می‌کند. این نام ممکن است در حالت‌های گوناگون دچار اعمال محدودیت‌هایی مانند طول نام یا نوع حروف و نویسه‌های مختلف نیز شود. برای مثال، ویندوز این تعریف را ارائه می‌دهد: یک داده از نوع نام پرونده، یک رشتهٔ متنی است که نام یک پرونده یا پوشه را دربر می‌گیرد. به‌طور پیش‌فرض تصور می‌شود که نام پرونده از یک ترکیب نام پروندهٔ کوتاه تشکیل می‌شود که شامل ۸ کاراکتر نام، وقفه (.) و ۳ کاراکتر افزونه. برای داشتن نام بلند در کنار نام کوتاه، آن را با یک علامت "|" از نام پروندهٔ کوتاه جدا می‌کنیم. (توجه کنید که این مطلب از سایت مایکروسافت برداشته شده؛ لذا قواعد مطروحه در آن لزومًا در سایر سیستم‌عامل‌ها درست نیستند.) یک نام پرونده، به‌طور معمول از اجزای زیر تشکیل می‌گردد: میزبان (یا گره یا کارگزار (سرور - دستگاه شبکه‌ای که پرونده‌ها را در بر می‌گیرد. بعضاً ارجاعی است که یک افزونه را مشخص می‌کند، بنابراین در این حالت نام پرونده myfile خواهد بود. چنین ابهاماتی متداول است و این مقاله تلاش نمی‌کند هیچ یک از معانی را تعریف کند، و فعلاً ممکن است هر یک از آن‌ها را استفاده کنیم. بعضی سامانه‌ها ممکن است نام‌گذاری استاندارد خود را پذیرفته باشند مانند «نام مسیر» (path name)؛ ولی همین اسامی نیز در سراسر سیستم استاندارد نیستند. تاریخچه در حدود سال ۱۹۶۲ سیستم اشتراک زمانی سازگار، مفهوم پرونده (پروندهٔ بدون کاغذ) را معرفی کرد. تقریبًا در همین زمان، نقطه (برای توقف کامل یا کوتاه) به عنوان جداکنندهٔ افزونهٔ نام فایل به‌وجود آمد و افزونه به سه حرف محدود شد. در گذشته، تنها نویسه (کاراکتر)های حرفی–عددی در نام پرونده مجاز بودند؛ اما با گذشت زمان، تعداد کاراکترهای مجاز افزایش یافت؛ که این باعث ایجاد مشکلات هم‌سازی در زمان انتقال پرونده‌ها از یک فایل سیستم به دیگری شد. در حدود سال ۱۹۹۵، یکی از افزونه‌های فایل سیستم FAT به نام جدول تخصیص فایل دروینوز۹۵ و ویندوز NT3.5 معرفی شد. در این افزونه، علاوه‌بر نام‌های کلاسیک «۸٫۳»، نام پرونده‌های طولانی یونی‌کد نیز مجاز بود. به این منظور، شرکت‌های نرم‌افزاریِ بسیاری، نرم‌افزارهایی برای مهاجرت نام پرونده‌ها به رمزگذاری یونی‌کدِ جدید فراهم کردند. در بعضی سیستم‌ها، اگر ارجاع یک نام پرونده شامل مسیر کامل فهرست نباشد، به‌طور پیش‌فرض فهرست جاری در نظر گرفته می‌شود. | ## بخش 2: نام پرونده (رایانه) | یکی از مزایای استفاده از ارجاع نسبی در فایل‌های پیکربندی برنامه یا اسناد این است که نمونه‌های مختلفی از سند یا برنامه می‌توانند در پرونده‌های مختلف استفاده شوند. تعداد نام‌های هر فایل فایل سیستم‌های شبیه به Unix به یک فایل اجازه می‌دهند بیش از یک نام داشته باشد؛ نام‌ها در فایل سیستم‌های به سبک Unix قدیمی پیوندهایی سخت به آی‌نود یا معادل فایل هستند. این ویژگی توسط الگوریتم فرمان move که ابتدا یک نام پروندهٔ ثانویه ایجاد می‌کند سپس تنها نام پروندهٔ اولیه را حذف می‌کند، استفاده می‌شد. طراحی سایر فایل سیستم‌ها به‌گونه‌ای است که تنها یک نام پرونده را در هر پرونده مقرر می‌کند. این طراحی تضمین می‌کند که تغییرات فایل یک نام پرونده، فایل نام پروندهٔ دیگری را تغییر ندهد. در بعضی موارد این طول‌ها در نام کامل پرونده اعمال می‌شوند مانند ۴۴ کاراکتر در IBM S/370. در سایر موارد، ممکن است محدودیت‌های طول در بخش‌های خاصی از نام پرونده، از قبیل نام فایل در فهرست یا نام فهرست اعمال شوند. محدودیت‌های طول عموماً نتیجهٔ تخصیص فضای معینی در فایل سیستم برای ذخیرهٔ مؤلفه‌های نام است، به همین دلیل، محدودیت‌های بیشتر همانند اختصاص‌دادن فضای بیشتر نیازمند یک تغییر ناسازگارند. یک مسئلهٔ مهم در رابطه با فایل سیستم‌هایی که اطلاعات را در فهرست‌های تودرتو ذخیره می‌کنند، این است که شاید امکان ایجاد پرونده‌ای که اسم کامل آن از محدودیت‌های پیاده‌سازی تجاوز کند وجود داشته باشد؛ زیرا ممکن است بررسی طول به‌جای نام کامل برای بخش‌های مجزای نام، به‌تنهایی انجام شود. حداکثر محدودهٔ (MAX_PATH) بسیاری از نرم‌افزارهای کاربردی ویندوز ۲۶۰ است، در حالی که نام پرونده‌های ویندوز به‌راحتی می‌توانند از این محدوده تجاوز کنند. افزونه‌ها (extensions) نام پرونده بسیاری از فایل سیستم‌ها، مانند سیستم‌های جدول تخصیص فایل، ان‌تی‌اف‌اس و vms به یک افزونهٔ نام پرونده اجازه می‌دهند نام پرونده را به دو بخش تقسیم کند: یک نام اصلی یا ریشه و یک افزونه یا پسوند که بعضی از نرم‌افزارهای کاربردی برای تشخیص قالب پرونده از آن استفاده می‌کنند. افزونهٔ نام فایل از یک یا چند کاراکتر تشکیل می‌شود که پیروی آخرین بخش نام پرونده می‌آیند. پرونده‌های دارای خروجی چندگانه توسط نرم‌افزارهای کاربردی که از نام اصلی یکسان و افزونه‌های متفاوت استفاده می‌کنند ایجاد می‌شوند. با این‌که تعدادی افزونهٔ متداول وجود دارد، اما این افزونه‌ها قراردادی هستند و ممکن است یک نرم‌افزار کاربردی دیگر از REL و RPT استفاده کند. معمولاً پرونده‌ها در فایل سیستم‌هایی که افزونه‌ها را جدا نمی‌کنند، افزونهٔ طولانی‌تری دارند مانند html. قابلیت‌های همکاری رمزگذاری برای نام پرونده‌ها یک رمزگذاری استاندارد عمومی وجود ندارد. چرا که نام پرونده‌ها باید میان نرم‌افزارها مبادله شوند (انتقال فایل شبکه، ذخیرهٔ فایل سیستم، نرم‌افزار پشتیبانی و هماهنگ‌سازی پرونده، مدیریت پیکربندی، فشرده‌سازی و بایگانی داده و…)، این بسیار مهم است که اطلاعات نام پرونده میان دو نرم‌افزار کاربردی از دست نرود. | ## بخش 3: نام پرونده (رایانه) | این مسئله موجب پذیرش گستردهٔ یونی‌کد به‌عنوان استانداردی برای رمزگذاری پرونده‌ها شد، گرچه برخی نرم‌افزارهای قدیمی ممکن است یونی‌کد را متوجه نشوند. قابلیت همکاری نشانهٔ رمزگذاری در گذشته، نام پرونده‌ها در هر کاراکتری را تا جایی که برای فایل سیستم ایمن بود در نام پرونده‌های خود مجاز می‌دانستند. با اینکه این روش استفاده از هرگونه رمزگذاری را مجاز می‌داند، و به همین دلیل، امکان نمایش هر متن محلی را در هر سامانهٔ محلی فراهم می‌کند، منجر به بسیاری از قابلیت‌های همکاری می‌شود. تبدیل ممکن نبوده؛ زیرا بیشتر سامانه‌ها شرحی از رمزگذاری که برای یک نام پرونده استفاده شده را به عنوان قسمتی از اطلاعات فایل توسعه‌یافته نمایش نمی‌دادند. اما در MacOS کلاسیک، رمزگذاری نام پرونده‌ها همراه خصوصیات نام پرونده ذخیره می‌شد. برای نمونه، UDF به یونی‌کد ۲٫۰ محدود شد؛ MacOS هنجارسازی یونی‌کد NFD که به‌طور اختیاری می‌تواند به حروف کوچک و بزرگ حساس باشد (به‌طور پیش‌فرض حساس نیست) را اعمال می‌کند. در لینوکس به این معناست که نام پرونده برای باز کردن آن کافی نیست: علاوه‌بر آن، نمایش دقیق بایتی نام پرونده روی دستگاه حافظه نیاز است. یک راه حل آگاهی از ترکیب غیرنرمال یونی‌کد است که در تخریب و سرقت از جوامع فنی استفاده می‌شود. با این حال، بعضی جوامع این راهبرد را انحصاری کردند، به‌طوری‌که استفاده از آن در سایر جوامع ممنوع باشد. چشم‌اندازها برای محدودکردن مسائل قابلیت همکاری بعضی اندیشه‌ها که توسط Sun شرح داده شده عبارتند از: استفاده از یک رمزگذاری یونی‌کد (مانند جدول تخصیص فایل_۸) انجام تبدیلات شفاف کد روی نام پرونده‌ها ذخیرهٔ نام پرونده‌های هنجارسازی‌نشده بررسی برای هم‌ارزی استاندارد میان نام پرونده‌ها، برای جلوگیری از دو نام پروندهٔ هم‌ارز استاندارد در یک فهرست یکسان این توجهات یک محدودیت را ایجاد می‌کند که اجازهٔ تغییر به یک رمزگذاری متفاوت با جدول تخصیص فایل_۸ در آینده را نمی‌دهد. از آن‌جا که ترکیب مربوط به نام پرونده برای فهرست‌ها نیز اعمال می‌شود، امکان ایجاد یک فایل و ورودی‌های فهرست با نام یکسان وجود ندارد. رویکرد یکتایی می‌تواند حساسیت نسبت به حروف کوچک و بزرگ و شکل استانداردسازی یونی‌کد را تغییر دهد مانند NFC و NFD. یعنی دو پروندهٔ مجزا می‌توانند با متن نام پروندهٔ یکسان و پیاده‌سازی بایتی متفاوت از آن نام پرونده ایجاد شوند. حفاظت از بزرگی یا کوچکی حروف بعضی فایل سیستم‌ها، مانند جدول تخصیص فایل، نام پرونده‌ها را بدون توجه به کوچک یا بزرگ بودن حروف آن‌ها با حروف بزرگ ذخیره می‌کنند. هر تغییری در حروف کوچک و بزرگ می‌تواند برای ارجاع به یک پروندهٔ یکسان استفاده شود. بعضی فایل سیستم‌ها اجازه نمی‌دهند در نام پرونده‌ها فقط از حروف کوچک استفاده شود. اما، همه انواع فایل سیستم‌های Unix حساس به حروف کوچک و بزرگ نیستند؛ به‌طور پیش‌فرض، HFS+ در macOS نسبت به حروف کوچک و بزرگ حساس است، و کارگزاران SMB (بلوک پیام سرور) رفتارهای غیرحساس به حروف کوچک و بزرگ ارائه می‌دهند (حتی زمانی که فایل سیستم اصلی به حروف کوچک و بزرگ حساس باشد، مانند سامبا در بیشتر سامانه‌های شبیه به Unix) و فایل سیستم کاربر SMB رفتار غیرحساس نسبت به حروف کوچک و بزرگ ارائه می‌دهد. | ## جمع‌بندی | حساسیت یا عدم حساسیت فایل سیستم به حروف کوچک و بزرگ یک چالش قابل توجه برای نرم‌افزار است مانند سامبا و واین، که باید به‌طور کارآمد همکاری کند هم با سامانه‌هایی که با پرونده‌های با حروف بزرگ و پرونده‌های با حروف کوچک متفاوت رفتار می‌کنند و هم سامانه‌هایی که با آن‌ها یکسان برخورد می‌کنند.