| HARDLINK(1) | أوامر المستخدم | HARDLINK(1) |
الاسم
hardlink - ربط نسخ متعددة من ملف
موجز
hardlink [خيارات] دليل|ملف...
الوصف
hardlink هي أداة تستبدل نسخ الملف إما بروابط صلبة (hardlinks) أو بنسخ مستنسخة عند الكتابة (copy-on-write clones)، مما يوفر المساحة.
تقوم hardlink أولاً بإنشاء شجرة ثنائية لأحجام الملفات ثم تقارن محتوى الملفات التي لها نفس الحجم. هناك طريقتان أساسيتان لمقارنة المحتوى. طريقة memcmp تقرأ كتل البيانات مباشرة من الملفات وتقارن بينها. الطريقة الأخرى تعتمد على المجموع الاختباري (مثل SHA256)؛ في هذه الحالة، يُحسب مجموع اختباري لكل كتلة بيانات بواسطة واجهة برمجة تطبيقات التشفير في نواة لينكس، ويُخزن هذا المجموع الاختباري في مساحة المستخدم ويُستخدم لمقارنات الملفات.
يتم أيضاً تخزين مخزن مؤقت "intro" (32 بايت) في الخبيئة لكل ملف. يُستخدم هذا المخزن المؤقت بشكل مستقل عن طريقة المقارنة وحجم الخبيئة المطلوب وحجم الإدخال/الإخراج. يقلل مخزن "intro" المؤقت بشكل كبير من العمليات على محتوى البيانات لأن الملفات غالباً ما تكون مختلفة من البداية.
الخيارات
-c، --content
-b، --io-size حجم
-d، --respect-dir
-f، --respect-name
-F، --prioritize-trees
-i، --include تعبير_نمطي
-l، --list-duplicates
-m، --maximize
-M، --minimize
--mount
-n، --dry-run
-o، --ignore-owner
-O، --keep-oldest
-p، --ignore-mode
-q، --quiet
-r، --cache-size حجم
--reflink[=متى]
المعطى الاختياري متى يمكن أن يكون never أو always أو auto. وإذا أُهمل المعطى متى، فإنه يعود مبدئياً إلى auto، وهو ما يعني أن hardlink يفحص نوع نظام الملفات ويستخدم تقنية reflinks على أنظمة BTRFS و XFS و ZFS فقط، ويتراجع إلى الوصلات الصلبة عندما يكون إنشاء reflink مستحيلاً. أما المعطى always فيعطل الكشف عن نوع نظام الملفات والتراجع إلى الوصلات الصلبة، وهو ما يعني السماح بـ reflinks فقط.
--skip-reflinks
-s، --minimum-size حجم
-S، --maximum-size حجم
-t، --ignore-time
-v، --verbose
-x، --exclude تعبير_نمطي
--exclude-subtree تعبير_نمطي
-X، --respect-xattrs
-y، --method اسم
-z، --zero
-h، --help
-V، --version
المعطيات
يأخذ hardlink دليلًا واحدًا أو أكثر حيث سيُبحث فيها عن ملفات لوصلها.
البيئة
ULFILEEQ_DEBUG=all
العلل
يستخدم تطبيق hardlink الأصلي الخيار -f لإجبار إنشاء وصلات صلبة بين أنظمة الملفات. هذه الميزة نادرة الاستخدام لم تعد متاحة في hardlink الحالي.
يفترض hardlink أن الشجيرات التي يعمل عليها لا تتغير أثناء التشغيل. وإذا تغيرت الشجيرة، فإن النتيجة تكون غير محددة ومن المحتمل أن تكون خطيرة. على سبيل المثال، إذا استُبدل ملف عادي بجهاز، فقد يبدأ hardlink في القراءة من الجهاز. وإذا استُبدل مكون من مسار بوصلة رمزية أو تغيرت أذونات ملف، فقد تُخترق الأمان. لا تشغل hardlink على شجيرة تتغير أو على شجيرة يتحكم فيها مستخدم آخر.
المؤلف
توجد تطبيقات متعددة لـ hardlink. التطبيق الأول كان من قبل Jakub Jelinek لتوزيعة Fedora، وقد استُخدم هذا التطبيق في util-linux بين الإصدارين v2.34 و v2.36. أما التطبيق الحالي فيعتمد على إصدار Debian من Julian Andres Klode.
التبليغ عن الأخطاء
لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.
التوفر
الأمر hardlink جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.
| 2026-05-18 | util-linux 2.42.1 |