سؤال نقل الدلائل


إذا كنت تستخدم cp الأمر لنسخ الدليل A إلى داخل الدليل B ، هل سيضاعف مقدار المساحة التي يستغرقها (الدليل A + نسخة من الدليل A)؟ لا أستطيع أن أتخيل أن هذا هو الحال ، ولكن هل من شأنه أن يزعج البحث عن الوقت على القرص للملفات في هذا الدليل؟

أنا مبتدئ لذلك أنا آسف إذا كان هذا السؤال لا معنى له حقًا.


4
2017-08-05 13:45


الأصل




الأجوبة:


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

يمكنك سحب وإسقاط الملفات بسهولة في Nautilus لنقلها بشكل طبيعي ، دون التأثيرات السلبية على تحسين محرك الأقراص الصلبة. ال mv سوف الأوامر في المحطة تفعل الشيء نفسه. إنها مشابهة في قابلية الاستخدام لأمر cp:

mv </oldlocation/target> </newlocation/destination/>

حيث أن الهدف هو ملف ، أو دليل ، والوجهة دليل.

ملاحظة: إذا كنت تستخدم mv </location/filenameA> <location/filenameB> ستعيد تسمية الملف. فمثلا،

mv /etc/x11/xorg.conf /etc/x11/xorg.conf.backup

سوف يعيد تسمية xorg.conf ملف نصي ل xorg.conf.backup. جرب القيام ببحث جوجل لأدوات سطر الأوامر لينكس مفيدة.

آخر خدعة أنيقة في سطر الأوامر يستخدم خيار "الرجل". فمثلا

mv man

أو

sudo man

يقف "الرجل" للدليل. يحتوي كل تطبيق طرفي على دليل يشرح طبيعة التطبيق وكافة خياراته وتعريفاته لكل شيء. يمكنك تشغيل خيار الرجل مع أي أمر طرفي قمت بتثبيته.


2
2017-08-05 14:05



الحق ، أفهم ذلك ، أعتقد أن الطريقة التي كان ينبغي لي أن أضعها في إطار السؤال هي أنه إذا قمت بنسخ دليل ، فذلك هو مجرد إنشاء مؤشر آخر إلى حيث يتم تخزين هذه الملفات (أفترض بالتسلسل على القرص) أو سوف يحترق دليل آخر مساحة بحجم على القرص ، أو المسمار مع طريقة البحث عنها بطريقة سيئة. كما قلت ، أنا مستاء للغاية ، وربما هذا سؤال معقد للغاية بالنسبة لي لفهم الإجابة دون القيام بمزيد من البحث. - RyanGC
ابحث عن بعض مقاطع الفيديو أو المقالات على google / youtube عن كيفية عمل نظام ملفات linux. انها مختلفة جدا عن ويندوز ، انها في الواقع رائعة. يقوم لينكس بكتابة ملفات الأقراص الصلبة فعليًا في بداية كل شريط HDD ، ويستمر مع التشفير التالي إذا كان هناك أي مساحة متبقية ، ويضيف الباقي إلى الشريط التالي ، وهكذا. إنه أسرع في الوصول إلى الملفات من Windows بسبب هذا. كما أنه يعيّن الملفات رقميًا وليس جسديًا. لا يتم نقل الملفات في خطوط مثل Windows. لست مضطرا ابدا الى defrag في لينكس. - Alex
إذا كنت تستخدم cp لنسخ دليل ، سيصدر إشعارًا يخبرك بأنه يتجاهل الدليل ولا يفعل أي شيء. تحتاج إلى استخدام -r (أو أفضل ، -a للحفاظ على بعض السمات الأخرى) ، لنسخ دليل ، حيث يقوم بتشغيل التكرار (إدخال دليل لنسخ محتوياته). - thomasrutter


الأمر move في linux هو mv، نرى mv --help لمزيد من المعلومات

هذا ينقل الدليل وجميع dirs الفرعية

mv -f dir1 /destinationDir

هذا نقل الملفات من dir1 إلى dir2

mv -f dir1/* dir2

2
2017-08-05 13:56



صحيح ، لكني أريد أن أحصل على نفس الدليل بالضبط في دليل آخر. - RyanGC


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

حزب المحافظين - نسخ. سيقوم بعمل نسخة متطابقة بشكل افتراضي ، مع أخذ مساحة متطابقة ، على الرغم من أنه يمكنك إخبار cp لعمل ارتباطات ثابتة (مؤشرات لكل ملف) باستخدام الخيار -l.

إذا كنت ترغب في إنشاء نسخة من مجلد ، فقم بما يلي:

cp -a source dest

حيث -a يعني "أرشيف" أو نسخة متطابقة ، بما في ذلك المجلدات والروابط. يمكنك استبدالها إذا كنت تريد نسخ المجلدات ولكن ليس الروابط.

إذا كنت ترغب في إنشاء نسخة تحتوي على ارتباطات إلى الملفات الأصلية (تغيير التغييرات الأصلية النسخة أيضًا ، وتستهلك مساحة أقل) ، قم بما يلي:

cp -l source dest

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

إذا كنت تريد إنشاء رابط واحد إلى مجلد ، فافعل ذلك:

ln -s source dest

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

ام - نقل الملفات أو المجلدات.

لنقل المجلدات (أو الملفات) فقط قم بهذا:

mv source dest

0
2017-09-04 01:42



قد يكون من الجدير بالذكر أنه بدون -r أو -a، cp لن ينسخ سوى الملفات (أي ، source يجب أن يكون ملفًا) ، وسيتجاهل الأدلة. - thomasrutter
شكرا لك سيدي! :) - Nick Steele
cp -a يحافظ أيضا على المالك ومعرف المجموعة على ما أعتقد. - WinEunuuchs2Unix