ذكري المظهر

كيفية اقتطاع (فارغة) الملفات في لينكس

احتراف سطر الاوامر فى نظام لينكس الجزء الرابع (mv) عمليه النقل فى نظام لينكس من خلال Terminal

احتراف سطر الاوامر فى نظام لينكس الجزء الرابع (mv) عمليه النقل فى نظام لينكس من خلال Terminal

جدول المحتويات:

Anonim

في بعض الحالات ، قد ترغب في اقتطاع (فارغ) ملف موجود بطول صفري. بكلمات بسيطة ، يعني اقتطاع ملف ما إزالة محتويات الملف دون حذف الملف.

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

يشرح هذا البرنامج التعليمي كيفية اقتطاع الملفات إلى حجم صفر في أنظمة Linux باستخدام إعادة توجيه shell والأمر truncate .

شل إعادة توجيه

الطريقة الأسهل والأكثر استخدامًا لاقتطاع الملفات هي استخدام مشغل إعادة توجيه shell.

التنسيق العام لاقتطاع الملفات باستخدام إعادة التوجيه هو:

: > filename

دعنا ننهار الأمر:

  • : النقطتين تعني true ولا تنتج أي إخراج. يقوم مشغل إعادة التوجيه > بإعادة توجيه إخراج الأمر السابق إلى الملف المحدد. filename ، الملف الذي تريد اقتطاعه.

إذا كان الملف موجودًا ، فسيتم اقتطاعه إلى الصفر. خلاف ذلك ، سيتم إنشاء الملف.

بدلاً من : يمكن أيضًا استخدام أمر آخر لا ينتج عنه إخراج.

فيما يلي مثال على استخدام الأمر cat لإخراج محتويات الجهاز /dev/null ، والذي يُرجع فقط حرف نهاية الملف:

cat /dev/null > filename

الأمر الآخر الذي يمكن استخدامه هو echo . يخبر الخيار -n echo بعدم إلحاق سطر جديد:

echo -n > filename

في معظم الأصداف الحديثة مثل Bash أو Zsh ، يمكنك حذف الأمر قبل رمز إعادة التوجيه والاستخدام:

> filename

لتكون قادرًا على اقتطاع ملف ، يجب أن يكون لديك أذونات الكتابة على الملف. عادةً ما تستخدم sudo لهذا ، لكن امتيازات الجذر المرتفعة لا تنطبق على إعادة التوجيه. هنا مثال:

sudo: > /var/log/syslog

bash: /var/log/syslog: Permission denied

هناك العديد من الحلول التي تسمح بإعادة التوجيه باستخدام sudo . يمكن للخيار الأول تشغيل صدفة جديدة باستخدام sudo وتنفيذ أمر داخل تلك shell باستخدام علامة -c :

sudo sh -c '> filename'

هناك خيار آخر يتمثل في توجيه الإخراج إلى الأمر tee ، ورفع امتيازات tee sudo ، وكتابة الإخراج الفارغ إلى ملف محدد:

: | sudo tee filename

truncate القيادة

truncate عبارة عن أداة مساعدة لسطر الأوامر تتيح لك تقليص حجم الملف أو توسيعه إلى حجم معين.

بناء الجملة العام لقص الملفات إلى حجم صفر باستخدام الأمر truncate ، كما يلي:

truncate -s 0 filename

يعين الخيار -s 0 حجم الملف إلى صفر.

على سبيل المثال ، لإفراغ سجل وصول Nginx الذي تستخدمه:

sudo truncate -s 0 /var/log/nginx/access.log

إفراغ جميع ملفات السجل

بمرور الوقت ، قد يتعثر محرك الأقراص لديك مع الكثير من ملفات السجل الكبيرة التي تشغل كميات كبيرة من مساحة القرص.

سيقوم الأمر التالي بإفراغ الملفات التي تنتهي بـ ".log" ضمن دليل /var/log :

sudo truncate -s 0 /var/log/**/*.log

سيكون الخيار الأفضل هو تدوير وضغط وإزالة ملفات السجلات باستخدام أداة تسجيل الدخول.

استنتاج

لاقتطاع ملف في Linux ، استخدم عامل إعادة التوجيه > متبوعًا باسم الملف.

محطة اقتطاع