'\" t .\" Title: hardlink .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-05-18 .\" Manual: أوامر المستخدم .\" Source: util-linux 2.42.1 .\" Language: English .\" .TH "HARDLINK" "1" "2026-05-18" "util\-linux 2.42.1" "أوامر المستخدم" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "الاسم" hardlink \- ربط نسخ متعددة من ملف .SH "موجز" .sp \fBhardlink\fP [خيارات] \fIدليل\fP|\fI‎ملف\fP.\|.\|. .SH "الوصف" .sp \fBhardlink\fP هي أداة تستبدل نسخ الملف إما بروابط صلبة (hardlinks) أو بنسخ مستنسخة عند الكتابة (copy\-on\-write clones)، مما يوفر المساحة. .sp تقوم \fBhardlink\fP أولاً بإنشاء شجرة ثنائية لأحجام الملفات ثم تقارن محتوى الملفات التي لها نفس الحجم. هناك طريقتان أساسيتان لمقارنة المحتوى. طريقة \fBmemcmp\fP تقرأ كتل البيانات مباشرة من الملفات وتقارن بينها. الطريقة الأخرى تعتمد على المجموع الاختباري (مثل SHA256)؛ في هذه الحالة، يُحسب مجموع اختباري لكل كتلة بيانات بواسطة واجهة برمجة تطبيقات التشفير في نواة لينكس، ويُخزن هذا المجموع الاختباري في مساحة المستخدم ويُستخدم لمقارنات الملفات. .sp يتم أيضاً تخزين مخزن مؤقت "intro" (32 بايت) في الخبيئة لكل ملف. يُستخدم هذا المخزن المؤقت بشكل مستقل عن طريقة المقارنة وحجم الخبيئة المطلوب وحجم الإدخال/الإخراج. يقلل مخزن "intro" المؤقت بشكل كبير من العمليات على محتوى البيانات لأن الملفات غالباً ما تكون مختلفة من البداية. .SH "الخيارات" .sp \fB\-c\fP، \fB\-\-content\fP .RS 4 ضع في الاعتبار محتوى الملف فقط، وليس السمات، عند تحديد ما إذا كان ملفان متساويين. مماثل لـ \fB\-pot\fP. .RE .sp \fB\-b\fP، \fB\-\-io\-size\fP \fIحجم\fP .RS 4 حجم مخزن \fBread\fP(2) أو \fBsendfile\fP(2) المؤقت المستخدَم عند مقارنة محتويات الملفات. يمكن أن يُتبع معامل \fIحجم\fP باللاحقات المضاعفة KiB و MiB وما إلى ذلك. تُعد "iB" اختيارية، فعلى سبيل المثال، "K" لها نفس معنى "KiB". القيمة المبدئية هي 8KiB لطريقة memcmp و 1MiB للطرق الأخرى. تستخدم طريقة memcmp فقط ذاكرة العمليات للمخزن المؤقت، بينما تستخدم الطرق الأخرى طريقة النسخ الصفري وتُنفذ عملية الإدخال/الإخراج في النواة. قد يُعدل الحجم آليًا ليتناسب مع عدد مجموعات التحقق من المحتوى المخزنة في الخبيئة. .RE .sp \fB\-d\fP، \fB\-\-respect\-dir\fP .RS 4 محاولة وصل الملفات التي لها نفس اسم الدليل فقط. يُتجاهل الدليل ذو المستوى الأعلى (كما هو محدد في سطر الأوامر لـ \fBhardlink\fP). على سبيل المثال، سيقوم \fBhardlink \-\-respect\-dir /foo /bar\fP بوصل \fI/foo/some/file\fP مع \fI/bar/some/file\fP، ولكن ليس مع \fI/bar/other/file\fP. إذا دُمج مع \fB\-\-respect\-name\fP، فتُقارن المسارات الكاملة (باستثناء دليل المستوى الأعلى). .RE .sp \fB\-f\fP، \fB\-\-respect\-name\fP .RS 4 محاولة وصل الملفات التي لها نفس الاسم (الأساسي) فقط. يُوصى بشدة باستخدام الخيارات الطويلة بدلًا من \fB\-f\fP الذي يُفسر بطريقة مختلفة في تطبيقات \fBhardlink\fP الأخرى. .RE .sp \fB\-F\fP، \fB\-\-prioritize\-trees\fP .RS 4 الإبقاء على الملفات الموجودة في أول دليل مستوى أعلى محدد في حال وجود ملفات متطابقة متعددة في أشجار مختلفة. على سبيل المثال، سيقوم \fBhardlink foo/ bar/\fP بوصل الملفات في bar/ بالملفات المساوية لها في دليل foo/. .RE .sp \fB\-i\fP، \fB\-\-include\fP \fIتعبير_نمطي\fP .RS 4 تعبير نمطي لتضمين الملفات. إذا أُعطي الخيار \fB\-\-exclude\fP، فيعيد هذا الخيار تضمين الملفات التي كانت ستُستثنى لولاه. إذا استُخدم الخيار دون \fB\-\-exclude\fP، فتُضمن الملفات التي تطابق النمط فقط. .RE .sp \fB\-l\fP، \fB\-\-list\-duplicates\fP .RS 4 عدم وصل أي شيء، ولكن سرد المسار المطلق لكل ملف مكرر، بمعدل ملف لكل سطر، مسبوقًا بمميز فريد بحجم 16 بايت وعلامة جدولة. .RE .sp \fB\-m\fP، \fB\-\-maximize\fP .RS 4 من بين الملفات المتساوية، يُبقى على الملف الذي يملك أعلى عدد روابط. .RE .sp \fB\-M\fP، \fB\-\-minimize\fP .RS 4 من بين الملفات المتساوية، يُبقى على الملف الذي يملك أدنى عدد روابط. .RE .sp \fB\-\-mount\fP .RS 4 لا تعبر الأدلة الموجودة على أنظمة ملفات مختلفة (ابقَ داخل نظام الملفات نفسه). .RE .sp \fB\-n\fP، \fB\-\-dry\-run\fP .RS 4 عدم التنفيذ، فقط طباعة ما قد يحدث. .RE .sp \fB\-o\fP، \fB\-\-ignore\-owner\fP .RS 4 وصل الملفات ومقارنتها حتى لو اختلفت معلومات المالك (المستخدم والمجموعة). قد تكون النتائج غير متوقعة. .RE .sp \fB\-O\fP، \fB\-\-keep\-oldest\fP .RS 4 من بين الملفات المتساوية، يُبقى على أقدم ملف (أقل وقت تعديل حديث). مبدئيًا، يُبقى على أحدث ملف. إذا حُدد \fB\-\-maximize\fP أو \fB\-\-minimize\fP، فإن لعدد الروابط أولوية أعلى من وقت التعديل. .RE .sp \fB\-p\fP، \fB\-\-ignore\-mode\fP .RS 4 وصل الملفات ومقارنتها حتى لو اختلف وضعها. قد تكون النتائج غير متوقعة قليلًا. .RE .sp \fB\-q\fP، \fB\-\-quiet\fP .RS 4 الوضع الصامت، لا يُطبع أي شيء. .RE .sp \fB\-r\fP، \fB\-\-cache\-size\fP \fIحجم\fP .RS 4 حجم الخبيئة لمجموعات التحقق من المحتوى. تحسب كافة الطرق التي لا تستخدم memcmp مجموع التحقق لكل كتلة من محتوى الملف (انظر \fB\-\-io\-size\fP)، وتُخزن مجموعات التحقق هذه في الخبيئة للمقارنة التالية. الحجم مهم للملفات الكبيرة أو لمجموعات كبيرة من الملفات ذات الحجم نفسه. القيمة المبدئية هي 10MiB. .RE .sp \fB\-\-reflink\fP[\fB=\fP\fIمتى\fP] .RS 4 إنشاء نسخ مستنسخة بتقنية النسخ عند الكتابة (تُعرف باسم reflinks) بدلاً من الوصلات الصلبة. تتشارك الملفات الموصلة عبر تقنية reflink في البيانات المخزنة على القرص فقط، ولكن يمكن أن يختلف وضع الملف ومالكه. ويُنصح باستخدام هذا الخيار مع خياري \fB\-\-ignore\-owner\fP و \fB\-\-ignore\-mode\fP. يتضمن هذا الخيار تفعيل \fB\-\-skip\-reflinks\fP لتجاهل الملفات المستنسخة مسبقاً. .sp المعطى الاختياري \fIمتى\fP يمكن أن يكون \fBnever\fP أو \fBalways\fP أو \fBauto\fP. وإذا أُهمل المعطى \fIمتى\fP، فإنه يعود مبدئياً إلى \fBauto\fP، وهو ما يعني أن \fBhardlink\fP يفحص نوع نظام الملفات ويستخدم تقنية reflinks على أنظمة BTRFS و XFS و ZFS فقط، ويتراجع إلى الوصلات الصلبة عندما يكون إنشاء reflink مستحيلاً. أما المعطى \fBalways\fP فيعطل الكشف عن نوع نظام الملفات والتراجع إلى الوصلات الصلبة، وهو ما يعني السماح بـ reflinks فقط. .RE .sp \fB\-\-skip\-reflinks\fP .RS 4 تجاهل الملفات المستنسخة مسبقًا. يمكن استخدام هذا الخيار دون \fB\-\-reflink\fP عند إنشاء وصلات صلبة تقليدية. .RE .sp \fB\-s\fP، \fB\-\-minimum\-size\fP \fIحجم\fP .RS 4 الحد الأدنى للحجم المراد مراعاته. مبدئيًا هذه القيمة هي 1، لذا لن تُوصل الملفات الفارغة. يمكن أن يُتبع معامل \fIحجم\fP باللاحقات المضاعفة KiB (=1024)، و MiB (=1024*1024)، وما إلى ذلك لـ GiB و TiB و PiB و EiB و ZiB و YiB (تُعد "iB" اختيارية، فعلى سبيل المثال، "K" لها نفس معنى "KiB"). .RE .sp \fB\-S\fP، \fB\-\-maximum\-size\fP \fIحجم\fP .RS 4 الحد الأقصى للحجم المراد مراعاته. مبدئيًا هذه القيمة هي 0 وللرقم 0 معنى خاص وهو غير محدود. يمكن أن يُتبع معامل \fIحجم\fP باللاحقات المضاعفة KiB (=1024)، و MiB (=1024*1024)، وما إلى ذلك لـ GiB و TiB و PiB و EiB و ZiB و YiB (تُعد "iB" اختيارية، فعلى سبيل المثال، "K" لها نفس معنى "KiB"). .RE .sp \fB\-t\fP، \fB\-\-ignore\-time\fP .RS 4 وصل الملفات ومقارنتها حتى لو اختلف وقت تعديلها. يُعد هذا خيارًا جيدًا عادةً. .RE .sp \fB\-v\fP، \fB\-\-verbose\fP .RS 4 مخرجات مسهبة، توضح للمستخدم ما الذي يجري تنفيذه. إذا حُدد مرة واحدة، يُعرض كل ملف موصول وصلًا صلبًا. إذا حُدد مرتين، فإنه يعرض أيضًا كل مقارنة. .RE .sp \fB\-x\fP، \fB\-\-exclude\fP \fIتعبير_نمطي\fP .RS 4 تعبير نمطي يستبعد ملفات من المقارنة والوصل. يمكن استخدام هذا الخيار مرات متعددة. .RE .sp \fB\-\-exclude\-subtree\fP \fIتعبير_نمطي\fP .RS 4 تعبير نمطي يستبعد أدلة كاملة من المقارنة والوصل. يمكن أيضًا استخدام هذا الخيار مرات متعددة. .RE .sp \fB\-X\fP، \fB\-\-respect\-xattrs\fP .RS 4 حاول فقط وصل الملفات التي لها نفس السمات الموسعة. .RE .sp \fB\-y\fP، \fB\-\-method\fP \fIاسم\fP .RS 4 ضبط طريقة مقارنة محتوى الملف. الطرق المدعومة حالياً هي \fBsha256\fP و \fBsha1\fP و \fBcrc32c\fP و \fBmemcmp\fP. الطريقة المبدئية هي \fBsha256\fP، أو \fBmemcmp\fP إذا لم تكن واجهة برمجة تطبيقات التشفير في لينكس (Linux Crypto API) متاحة. نُفذت الطرق القائمة على فحص المجموع بطريقة النسخ الصفري (zero\-copy)، وهو ما يعني عدم نسخ محتويات الملف إلى مساحة المستخدم وإجراء جميع الحسابات في النواة. .RE .sp \fB\-z\fP، \fB\-\-zero\fP .RS 4 فصل الأسطر ببايت NUL بدلاً من سطر جديد (لـ \fB\-l\fP). .RE .sp \fB\-h\fP، \fB\-\-help\fP .RS 4 اعرض نص المساعدة ثم اخرج. .RE .sp \fB\-V\fP، \fB\-\-version\fP .RS 4 اعرض الإصدار واخرج. .RE .SH "المعطيات" .sp يأخذ \fBhardlink\fP دليلًا واحدًا أو أكثر حيث سيُبحث فيها عن ملفات لوصلها. .SH "البيئة" .sp \fBULFILEEQ_DEBUG\fP=all .RS 4 يُفعل مخرجات التنقِيح لمقارنات الملفات. .RE .SH "العلل" .sp يستخدم تطبيق \fBhardlink\fP الأصلي الخيار \fB\-f\fP لإجبار إنشاء وصلات صلبة بين أنظمة الملفات. هذه الميزة نادرة الاستخدام لم تعد متاحة في \fBhardlink\fP الحالي. .sp يفترض \fBhardlink\fP أن الشجيرات التي يعمل عليها لا تتغير أثناء التشغيل. وإذا تغيرت الشجيرة، فإن النتيجة تكون غير محددة ومن المحتمل أن تكون خطيرة. على سبيل المثال، إذا استُبدل ملف عادي بجهاز، فقد يبدأ \fBhardlink\fP في القراءة من الجهاز. وإذا استُبدل مكون من مسار بوصلة رمزية أو تغيرت أذونات ملف، فقد تُخترق الأمان. لا تشغل \fBhardlink\fP على شجيرة تتغير أو على شجيرة يتحكم فيها مستخدم آخر. .SH "المؤلف" .sp توجد تطبيقات متعددة لـ \fBhardlink\fP. التطبيق الأول كان من قبل Jakub Jelinek لتوزيعة Fedora، وقد استُخدم هذا التطبيق في util\-linux بين الإصدارين v2.34 و v2.36. أما التطبيق الحالي فيعتمد على إصدار Debian من Julian Andres Klode. .SH "التبليغ عن الأخطاء" .sp لتقارير العِلل، استخدم \c .URL "https://github.com/util\-linux/util\-linux/issues" "مُتتبع المشكلات" "." .SH "التوفر" .sp الأمر \fBhardlink\fP جزء من حزمة util\-linux التي يمكن تنزيلها من \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "أرشيف نواة لينكس" "."