> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> توثيق Clickhouse-disks

# Clickhouse-disks

أداة توفّر عمليات على أقراص ClickHouse شبيهة بعمليات نظام الملفات. ويمكنها العمل في الوضعين التفاعلي وغير التفاعلي.

<div id="program-wide-options">
  ## خيارات عامة للبرنامج
</div>

* `--config-file, -C` -- مسار إعدادات ClickHouse، والقيمة الافتراضية هي `/etc/clickhouse-server/config.xml`.
* `--save-logs` -- يسجّل تقدّم الأوامر المستدعاة في `/var/log/clickhouse-server/clickhouse-disks.log`.
* `--log-level` -- [نوع](/docs/ar/reference/settings/server-settings/settings#logger) الأحداث المطلوب تسجيلها، والقيمة الافتراضية هي `none`.
* `--disk` -- وحدة التخزين المستخدمة لأوامر `mkdir, move, read, write, remove`. القيمة الافتراضية هي `default`.
* `--query, -q` -- استعلام واحد يمكن تنفيذه دون تشغيل الوضع التفاعلي
* `--help, -h` -- عرض جميع الخيارات والأوامر مع الوصف

<div id="lazy-initialization">
  ## التهيئة الكسولة
</div>

تُهيَّأ جميع الأقراص المتاحة في إعدادات تهيئةً كسولة. وهذا يعني أن الكائن المرتبط بالقرص لا يُهيَّأ إلا عند استخدام ذلك القرص في أحد الأوامر. ويُجرى ذلك لجعل الأداة أكثر متانةً وتجنّب التعامل مع الأقراص الموصوفة في إعدادات ولكن غير المستخدمة من قِبل المستخدم، والتي قد تفشل أثناء التهيئة. ومع ذلك، يجب أن يكون هناك قرص يُهيَّأ عند تشغيل clickhouse-disks. ويُحدَّد هذا القرص باستخدام المعلَمة `--disk` عبر سطر الأوامر (القيمة الافتراضية هي `default`).

<div id="default-disks">
  ## الأقراص الافتراضية
</div>

بعد بدء التشغيل، يتوفر قرصان غير محددين في التهيئة ولكن يمكن تهيئتهما.

1. **قرص `local`**: صُمم هذا القرص لمحاكاة نظام الملفات المحلي الذي شُغّلت منه الأداة `clickhouse-disks`. ويكون مساره الأولي هو الدليل الذي بدأت منه `clickhouse-disks`، ويكون مربوطًا بدليل الجذر لنظام الملفات.

2. **قرص `default`**: يكون هذا القرص مربوطًا بنظام الملفات المحلي في الدليل المحدد بواسطة المعلمة `clickhouse/path` في التهيئة (القيمة الافتراضية هي `/var/lib/clickhouse`). ويُضبط مساره الأولي على `/`.

<div id="clickhouse-disks-state">
  ## حالة Clickhouse-disks
</div>

بالنسبة إلى كل قرص مُضاف، تحتفظ الأداة بالدليل الحالي (كما هو الحال في نظام ملفات اعتيادي). ويمكن للمستخدم تغيير الدليل الحالي والتبديل بين الأقراص.

تظهر الحالة في موجّه الأوامر بالشكل "`disk_name`:`path_name`"

<div id="commands">
  ## الأوامر
</div>

في ملف التوثيق هذا، يُشار إلى جميع الوسيطات الموضعية الإلزامية بصيغة `<parameter>`، ويُشار إلى الوسيطات المُسمّاة بصيغة `[--parameter value]`. ويمكن أيضًا الإشارة إلى جميع المعلمات الموضعية كمعلمات مُسمّاة باستخدام الاسم المقابل.

* `cd (change-dir, change_dir) [--disk disk] <path>`
  غيّر الدليل إلى المسار `path` على القرص `disk` (القيمة الافتراضية هي القرص الحالي). ولا يحدث أي تبديل للقرص.
* `copy (cp) [--disk-from disk_1] [--disk-to disk_2] <path-from> <path-to>`.
  انسخ البيانات بشكل تكراري من `path-from` على القرص `disk_1` (القيمة الافتراضية هي القرص الحالي (المعلمة `disk` في الوضع غير التفاعلي))
  إلى `path-to` على القرص `disk_2` (القيمة الافتراضية هي القرص الحالي (المعلمة `disk` في الوضع غير التفاعلي)).
* `current_disk_with_path (current, current_disk, current_path)`
  اطبع الحالة الحالية بالتنسيق:
  `Disk: "current_disk" Path: "current path on current disk"`
* `du [--human-readable] [<path>]`
  اطبع الحجم الإجمالي بالبايت للملف أو الدليل الموجود في `path` على القرص الحالي. وبالنسبة إلى الدليل، يُجمع حجم جميع الملفات التي يحتويها بشكل تكراري. وإذا لم يتم تحديد `path`، فسيُستخدم الدليل الحالي. ومع `--human-readable` (`-h`) يُطبع الحجم بصيغة مقروءة بشريًا (مثل `1.23 GiB`).
* `help [<command>]`
  اطبع رسالة المساعدة الخاصة بالأمر `command`. وإذا لم يتم تحديد `command`، فاطبع معلومات عن جميع الأوامر.
* `move (mv) <path-from> <path-to>`.
  انقل ملفًا أو دليلًا من `path-from` إلى `path-to` داخل القرص الحالي.
* `remove (rm, delete) <path>`.
  احذف `path` بشكل تكراري على القرص الحالي.
* `link (ln) <path-from> <path-to>`.
  أنشئ رابطًا صلبًا من `path-from` إلى `path-to` على القرص الحالي.
* `list (ls) [--recursive] <path>`
  اعرض الملفات في `path` على القرص الحالي. والوضع الافتراضي غير تكراري.
* `list-disks (list_disks, ls-disks, ls_disks)`.
  اعرض أسماء الأقراص.
* `mkdir [--recursive] <path>` على القرص الحالي.
  أنشئ دليلًا. والوضع الافتراضي غير تكراري.
* `read (r) <path-from> [--path-to path]`
  اقرأ ملفًا من `path-from` إلى `path` (`stdout` إذا لم يتم توفيره).
* `read-bitmap <path-from> [--values]`
  افحص ملف `delete-bitmap` الجانبي (`.rbm`) في `path-from`. يطبع الأمر القيمة السحرية والإصدار وصلاحية CRC والكاردينالية (عدد الصفوف المحذوفة) ونطاق الصفوف. ومع `--values`، يفرغ أيضًا جميع البتات المضبوطة (إزاحات الصفوف المحذوفة) بترتيب تصاعدي.
* `switch-disk [--path path] <disk>`
  بدّل إلى القرص `disk` على المسار `path` (إذا لم يتم تحديد `path`، فالقيمة الافتراضية هي المسار السابق على القرص `disk`).
* `write (w) [--path-from path] <path-to>`.
  اكتب ملفًا من `path` (`stdin` إذا لم يتم توفير `path`، ويجب إنهاء الإدخال عبر Ctrl+D) إلى `path-to`.
* `wc <path> [--bytes] [--lines] [--words]`
  احسب عدد البايتات والأسطر والكلمات في الملف الموجود في `path` على القرص الحالي (كما في Unix `wc`). ومن دون أي علامة، تُطبع القيم الثلاث كلها بترتيب الأسطر ثم الكلمات ثم البايتات. استخدم `--bytes` (`-c`) و`--lines` (`-l`) و`--words` (`-w`) لتحديد القيم المطلوبة.
* `sed <expression> <path>`
  طبّق `expression` الخاصة بـ `sed` على الملف الموجود في `path` على القرص الحالي، مباشرةً على الملف نفسه. يتطلب ذلك أن يكون `sed` مثبتًا على المضيف. لا يُدعم إلا تعبير `sed` واحد من دون خيارات (مثل `'s/foo/bar/g'` و`'/foo/d'`)، ولا تُدعم تعبيرات متعددة (`-e ... -e ...`) أو خيارات مدمجة مع عنوان (مثل `-n` مع `4,10p`).
* `read-checksums <path>`
  اقرأ ملف `checksums.txt` الخاص بـ `MergeTree` data part على القرص الحالي واطبعه إلى `stdout` كجدول مفصول بعلامات الجدولة ومقروء بشريًا، بالأعمدة `name` و`file_size` و`file_hash` و`uncompressed_size` و`uncompressed_hash`. ويظهر العمودان الأخيران فقط للملفات المضغوطة.
