Hostwinds مدونة
نتائج البحث عن:
منذ عام 1995 ، Microsoft Windows NTFS وقد دعم نظام الملفات التدفقات.في الواقع ، جميع ملفات NTFS هي في الواقع تدفقات.ما نعتقده عادة كملف في NTFS يسمى بدقة دفق بيانات افتراضي.دفق البيانات الافتراضي لم يكشف عن اسمه.ما هو دفق البيانات الذي لم يكشف عن اسمه؟النظر في NTFS تنسيق اسم الملف المؤهل تماما:
file-name:stream-name:stream-type
من اليسار إلى اليمين ، لدينا:
مثال يتبع:
myTextFile.txt
هذا هو دفق بيانات افتراضي.كما ذكرنا ، فإن تدفقات البيانات الافتراضية لم يتم اسمها.يمكن ملاحظة ذلك في شكل اسم الملف المؤهل بالكامل:
myTextFile.txt::$DATA
حقيقة أنه لا يوجد شيء بين الكولون (: :) يشير إلى أن هذا دفق بيانات لم يكشف عن اسمه.لدفق البيانات الافتراضي ، لا نحتاج إلى استخدام اسم الملف المؤهل بالكامل ، على الرغم من أننا نستطيع ذلك.على سبيل المثال ، من موجه أوامر Windows ، يفتح الأمران التاليان نفس دفق البيانات الافتراضي:
notepad myTextFile.txt
notepad myTextFile.txt::$DATA
لتبسيط الأشياء ، سنستخدم مصطلح "ملف" بدلاً من "دفق البيانات الافتراضي" الأكثر دقة.
يمكنك إنشاء دفق مسمى في ملف باستخدام NTFs العادية اتفاقيات تسمية.على سبيل المثال ، من موجه الأوامر ، قم بتشغيل ما يلي:
notepad foo.docx:bar.txt
تحديد نعم عندما سئل عما إذا كنت تريد إنشاء ملف جديد.بعد ذلك ، اكتب المحتوى التالي:
This is the named stream "bar.txt" that is in (attached to) the file "foo.docx".
حفظ والخروج من المفكرة.
عندما تقوم بتشغيل أمر DIR ، سترى ملفًا يدعى foo.docx الذي يكون حجمه ، المثير للاهتمام ، هو 0 بايت.ومع ذلك ، عند تشغيل أمر DIR /R ، سترى دفق البيانات المسماة الذي أنشأته للتو ، ويبلغ حجمه 80 بايت:
هذان أحجام الدفقان منطقيين في هذا الدفق ، لا يوجد لدى DOCX محتوى أثناء دفق foo.docx: bar.txt لديه 80 بايت من المحتوى.للمساعدة في توضيح ذلك ، أضف بعض المحتوى إلى دفق البيانات الافتراضي ، على النحو التالي:
notepad foo.docx
أدخل النص التالي:
This is the default data stream (file) named "foo.docx", which has one named data stream attached to it, called "bar.txt".
حفظ والخروج من المفكرة.
قم بتشغيل dir /r مرة أخرى ولاحظ أن دفق البيانات الافتراضي foo.docx يحتوي الآن على 120 بايت من البيانات:
ولهذا السبب ، يمكننا أن نقول أن الجداول تستهلك 200 بايت على مستوى الصوت.ومع ذلك ، فإن تشغيل أمر DIR غير المقلوب يوفر معلومات مضللة إلى حد ما - وهذا يعني أن foo.docx يحتوي فقط على 120 بايت من البيانات ، وهو أمر غير دقيق بمعنى أنه عند حذف foo.docx ، فإنك ستصدر فعليًا 200 بايت مرة أخرى إلىحجم المساحة الحرة المتاحة:
del foo.docx
dir /r
الأخلاقية من القصة ، ربما ، هي استخدام مفتاح /r دائمًا.الذي يطرح السؤال ، كيف تجد جميع الملفات التي تحتوي على تدفقات "مخفية"؟تمت مناقشة هذا الموضوع بعد ذلك.
إذا سمحنا لمصطلح "ملف" يعني "دفق البيانات الافتراضي" و "دفق" يعني "دفق البيانات المسماة" ، فيمكننا استخدام PowerShell للعثور على جميع الملفات التي تحتوي على تدفقات على النحو التالي.
افتح موجه أوامر PowerShell وقم بتوزيع الأمر اختياريًا (هذا القمع الذي ربما يتم رفض الوصول إلى الملفات المزعجة التي تم رفضها):
$ErrorActionPreference = "SilentlyContinue"
بعد ذلك ، قم بتشغيل الأوامر التالية:
Get-ChildItem -Path \ -Recurse | Get-Item -Stream * | Where-Object Stream -ne ':$DATA' | Convert-Path
بالنسبة إلى مستوى الصوت الحالي ، فإن هذا يعيد قائمة بجميع الملفات التي تحتوي على تدفقات واحدة أو أكثر.يتم شرح خط أنابيب PowerShell على النحو التالي:
من موجه أوامر PowerShell ، يمكنك إزالة bar.txt دفق من ملف foo.docx على النحو التالي:
Remove-Item -Path .\foo.docx -Stream bar.txt
إذا كان اسم الدفق يحتوي على مسافات ، فيجب عليك استخدام عروض الأسعار ، كما في:
Remove-Item -Path ".\Bob's Grandfather.png" -Stream "Image Info.txt"
كانت القصد الأصلي لتدفقات NTFS هو تمكين قابلية التشغيل المتداخل لملف Apple Macintosh ولكن يمكن أن تكون تدفقات NTFS مفيدة للغاية.على سبيل المثال ، قد ترغب في "تضمين" معلومات مفصلة ضمن ملفات الصور العائلية:
إذا تمت تسمية ملف الصورة أعلاه "Grandfather.png" ، فيمكنك إضافة دفق (باستخدام PowerShell) يحتوي على معلومات صورة مفصلة ، على النحو التالي:
Set-Content -Path ".\Bob's Grandfather.png" -Stream "image-info.txt" -Value "This is Bob's grandfather (on his mother's side) in the Gold Rush Bar and Restaurant in Seattle, WA - circa 1856."
لعرض بيانات تعريف الصورة التي قمت بتعيينها للتو ، قم بتشغيلها:
Get-Content -Path ".\Bob's Grandfather.png" -Stream "image-info.txt"
لاحظ أن الوسيطة -stream تتطلب أن تعرف الاسم الدقيق للتيار (لا يُسمح بالأحرف البرية).أذكر أنه يمكنك دائمًا الحصول على أسماء دفق باستخدام Get-Intem (الذي يقبل أحرف البرية):
Get-Item -Path '.\Bob''s Grandfather.png' -Stream *
للحصول على اسم الدفق المطلوب ، انظر إلى خاصية الدفق في الإخراج الناتج:
يمكن أن تشمل الاستخدامات الأخرى لتيارات NTFS:
أخيرًا ، ربما لاحظت أن مستوى الصوت الخاص بك يحتوي على عدد من التدفقات المسماة Zone.Inderifier.يتم استخدام هذه التدفقات عمومًا بواسطة Windows لتخزين مناطق أمان URL ، والتي تحدد ما إذا كان ينبغي الوثوق بالملف أم لا.مثال يوضح كيفية عرض محتويات المنطقة. يتبع دفق identifier:
Get-Content -Path .\sanders.net-May-2022.gz -Stream Zone.Identifier
وعبر موجه أوامر Windows:
notepad sanders.net-May-2022.gz:Zone.Identifier
نأمل أن تكون قد وجدت هذه المقالة مثيرة للاهتمام ؛وربما ستجد بعض الاستخدامات المثيرة للاهتمام لتدفقات NTFS للتمهيد.
كتب بواسطة Karlito Bonnevie / مايو 24, 2022