it-swarm.asia

ما هي الأسباب التقنية لعدم استخدام أحرف المسافات في أسماء الملفات؟

شخص ما أعرفه أعرب عن غضبه اليوم فيما يتعلق بهؤلاء الذين يميلون إلى عدم استخدام المساحات في أسماء ملفاتنا ، على سبيل المثال NamingThingsLikeThis.txt - على الرغم من أن معظم أنظمة التشغيل الحديثة تدعم المساحات في أسماء الملفات.

هل هناك أسباب فنية لا يزال من الشائع رؤية أسماء الملفات بدون مسافات (مناسبة)؟ إذا كان الأمر كذلك ، فما هي هذه الأسباب التقنية لتلافي المسافات في أسماء الملفات أو تثبيطها ، وما هي الظروف ذات الصلة؟

السبب الأكثر وضوحًا الذي يمكنني التفكير فيه ، ولماذا عادةً ما أتجنبه ، هو الاقتباسات الإضافية المطلوبة في سطر الأوامر عند التعامل مع هذه الملفات. هل هناك أي أسباب فنية أخرى مهمة؟

75
Chris W. Rea

يمكن أن تكون أحرف بيضاء في أسماء الملفات ألمًا ملكيًا صحيحًا في المثل في العديد من السياقات في سطر الأوامر ، وفي البرامج النصية ، حيث يجب عليك أن تتوخى الحذر للتأكد من أنها قد هربت بشكل صحيح حتى لا تبدو وكأنها فواصل للأوامر التي تكون جري.

من الآمن عدم وجودهم هناك ، حتى لو كنت متأكدًا من أن الملف/dir/ما لم يتم استخدامه أبدًا في هذا السياق.

ذلك ، والعادات القديمة تموت بشدة.

65
David Spillett

بالإضافة إلى الإجابات الأخرى حول سطر الأوامر والعادات القديمة ، هناك أيضًا العديد من بروتوكولات الشبكة التي تتطلب عناية خاصة عند التعامل مع أسماء الملفات التي تحتوي على مسافات.

(إذا كنت قد حاولت تنزيل "Product List.pdf" من أي موقع ويب ، وانتهى الأمر بملف يسمى فقط "Product" ، فقد شعرت بالضيق من هذا ، لأن المبرمج على الطرف الآخر لم يعرف أو لم يستطع يمكن اكتشاف قواعد الاقتباس الخاصة برأس الصفحة HTTP Content-Disposition.)

30
Stobor

الكثير من الأسباب تاريخية. هذا لا يعني أنهم لا معنى لهم اليوم.

مشاكل في قابلية

عند تسمية ملف ، قد تضطر أيضًا إلى التفكير في كيفية تعامل أنظمة (ملف) أخرى مع اسم الملف هذا. قد يكون أي حرف في اسم الملف جيدًا لنظامك ، ولكنه قد يكون مشكلة بالنسبة لنظام آخر.

لذلك ، طالما كان هناك أدنى احتمال في أنك قد ترغب في أن تكون قادرًا على الوصول إلى الملف بسهولة من نظام قديم ، فستختار فقط شخصية آمنة . قد يشمل ذلك التمهيد في نظام استرداد قديم حافظت عليه أو الخوف من أن إصدارات Windows الحديثة لا تزال تعتمد بطريقة ما على MS-DOS.

الطول

قد يحد نظام الملفات من طول الملف. كان هذا أكثر خطورة خلال الأيام التي كان فيها MS-DOS مقصورًا على أسماء الملفات 8.3 . لذا ، فقد أتاح لك ترك المساحات وضع أحرف أكثر معنى في الاسم.

حددت عدة أنظمة ملفات أخرى أيضًا قيودًا صارمة على طول اسم الملف الخاص بها. تحتوي ويكيبيديا على جدول في مقالة حول مقارنة نظام الملفات لأولئك الذين يريدون التفاصيل.

الشخصيات المحجوزة

تعريف MS-DOS أيضًا حرف المسافة كحرف محجوز. هذا يرجع إلى حقيقة أن حرف المسافة تم استخدامه لحشو في FAT . بالإضافة إلى ذلك ، لم توفر MS-DOS لنظام الهروب في Shell.

تفسير سطر الأوامر

معظم أسطر الأوامر التي أدركها تستخدم حرف المسافة كمحدد معلمة . عند إهمال الهروب من اسم ملف بشكل صحيح ، يمكن أن يكون له عواقب وخيمة حيث يمكن تفسير أجزاء من اسم الملف على أنها معلمات للتطبيق الذي تريد الاتصال به.

النظر في الفرق بين

rm foo bar

و

rm "foo bar"

يشير مقال WikiPedia المرتبط أعلاه إلى غموض تم طرحه بواسطة مفقود للهروب بشكل صحيح من أحد الأوامر:

يمكن منع الغموض إما عن طريق حظر المسافات المضمنة في أسماء الملفات والدليل في المقام الأول (على سبيل المثال ، عن طريق استبدالها بعلامات الشرطة السفلية '_') ، أو ، إذا كانت مدعومة بواسطة مترجم سطر الأوامر والبرامج التي تأخذ هذه المعلمات كما يلي الوسائط ، من خلال إحاطة اسم به مسافات مضمنة بين أحرف اقتباس أو استخدام حرف هروب قبل المسافة ، عادة ما تكون شرطة مائلة للخلف ('\'). فمثلا

Long path/Long program name Parameter one Parameter two ...

غامضة (هل "اسم البرنامج" جزء من اسم البرنامج ، أو معلمتين؟) ؛ ومع ذلك

Long_path/Long_program_name Parameter_one Parameter_two ...,
LongPath/LongProgramName ParameterOne ParameterTwo ...,
"Long path/Long program name" "Parameter one" "Parameter two" ...

و Long\path/Long\program\name Parameter\one one\two ...

ليست غامضة.

محدد موقع الموارد (URL)

عند محاولة وصف موقع ملف ما ، باستخدام عنوان URL ، تحتاج المساحات إلى الهروب.

يمكن أن تكون الشخصيات غير آمنة لعدد من الأسباب. إن حرف المسافة غير آمن لأن المساحات الكبيرة قد تختفي ويمكن إدخال مسافات غير مهمة عندما يتم نسخ عناوين URL أو تنضيدها أو تعرضها لمعاملة برامج معالجة النصوص.

المصدر: RFC1738

وبالتالي ، يجب استبدال مساحة بـ %20 بدلاً من ذلك. هذا يجعل اسم الملف جزءًا من عنوان URL أقل قابلية للقراءة ، وبالتالي يجعل الناس يتجنبونه في المقام الأول.

28
Der Hochstapler

يتم تشفير المسافات أو تحويلها إلى %20 في أسماء الملفات على الويب ، مما قد يجعل من الصعب إدارة أصول الموقع.

وجود Image 1.png و Image%201.png أمر محير. من الأسهل استخدام Image001.png بدلاً من ذلك.

هذا حقا يندرج تحت نفس الفئة كما تسلسل هروب لسطر الأوامر.

25
user7012

في بعض الأحيان ، يمكن أن تشكل المسافات مشكلة عند التعامل على سطر الأوامر ، أو عند استخدام أنظمة تشغيل أقدم ، أو عند كتابة البرامج التي سيتم تجميعها على أنظمة تشغيل مختلفة ، أو عندما ... هناك العديد من الأسباب التي يمكن أن تشكل مشكلة ، وأنا لا " أشعر حقًا أن هناك مشكلة في كتابة الملف كـ: file-blank-blanks.txt أو file_without_blanks . TXT . أنا أفضل dask لأن تسطير أسفل السطر يمكن أن يصبح أحيانًا غير مرئي عند التعامل معه ، على سبيل المثال ، خط مسطر.

لكن في الغالب ، إنها عادة من الشيخوخة. ما لا أشعر بوجود أسباب كافية للمحترفين للتخلي عنها.


ملاحظة إضافية ، ربما ليست ذات صلة ، ولكن مع ذلك سوف أضعها هنا. الأشخاص الذين يقومون بتسمية ملفاتهم بمسافات لا يفكرون في ذلك كثيرًا ؛ الأشخاص الذين لا يعرفون في كثير من الأحيان لماذا من الجيد تجنبها في أسماء الملفات.
ويمكننا أن نتفق جميعًا على أنه لا يوجد ما هو أسوأ من الملف الذي يحمل أسماء "عزيزي سيدي أو سيدتي ، أكتب إليكم هذه الرسالة لإخبارك yo.doc".

ليس فقط المسافات - طول الملف مهم أيضًا بالنسبة إلى شيء ما ، و IMHO ، يجب ألا يكون أطول من 30 حرفًا. بالنسبة لأسماء الملفات الطويلة مع وجود مسافات في الداخل ، فهي نعمة عند تسجيل الأقراص المضغوطة وأقراص DVD وما شابه ، والتي يجب قراءتها تحت أنظمة التشغيل الأقدم ، وبين أشكال Win و * nix.

5
Rook