انڈروئد

لینکس میں فائلوں کو چھوٹا (خالی) کرنے کا طریقہ

این کلیپ رو از دست Ù†Ø¯Ù‡ÛŒØ¯ØØªÙ…ا ببینید

این کلیپ رو از دست Ù†Ø¯Ù‡ÛŒØ¯ØØªÙ…ا ببینید

فہرست کا خانہ:

Anonim

کچھ حالات میں ، آپ کسی موجودہ فائل کو صفر لمبائی میں چھوٹنا چاہتے ہیں۔ آسان الفاظ میں ، کسی فائل کو چھوٹا کرنے کا مطلب فائل کو حذف کیے بغیر فائل کے مواد کو ہٹانا ہے۔

فائل کو چھوٹنا فائل کو حذف کرنے ، اسے دوبارہ بنانے ، اور صحیح اجازت اور ملکیت طے کرنے سے کہیں زیادہ تیز اور آسان ہے۔ نیز ، اگر فائل کو کسی عمل کے ذریعہ کھول دیا گیا ہے تو ، فائل کو ہٹانے سے پروگرام کا سبب بن سکتا ہے جو اسے خرابی میں استعمال کرتا ہے۔

اس ٹیوٹوریل میں یہ بتایا گیا ہے کہ کس طرح شیل ری ڈائریکشن اور truncate کمانڈ کا استعمال کرتے ہوئے لینکس سسٹم میں فائلوں کو صفر سائز میں truncate ۔

شیل ری ڈائریکشن

فائلوں کو چھوٹا کرنے کا سب سے آسان اور سب سے آسان طریقہ یہ ہے کہ > شیل ری ڈائریکشن آپریٹر استعمال کریں۔

ری ڈائریکشن کا استعمال کرتے ہوئے فائلوں کو تراشنے کا عمومی فارمیٹ یہ ہے:

: > filename

آئیے کمانڈ کو توڑ دیں:

  • کولن کا مطلب true اور کوئی آؤٹ پٹ نہیں پیدا کرتا ہے۔ ری ڈائریکشن آپریٹر > پچھلے کمانڈ کے آؤٹ پٹ کو دی فائل میں ری ڈائریکٹ کرتے ہیں۔ filename ، جس فائل کو آپ چھوٹنا چاہتے ہیں۔

اگر فائل موجود ہے تو ، اسے صفر کر دیا جائے گا۔ ورنہ ، فائل بن جائے گی۔

اس کے بجائے : کوئی اور کمانڈ بھی استعمال کرسکتے ہیں جس سے کوئی آؤٹ پٹ پیدا نہ ہو۔

یہاں cat کمانڈ کو /dev/null آلہ کے مندرجات کو آؤٹ پٹ کرنے کے لئے استعمال کرنے کی ایک مثال ہے ، جو فائل کے آخر میں صرف ایک کردار کی واپسی کرتی ہے۔

cat /dev/null > filename

ایک اور کمانڈ جو استعمال کیا جاسکتا ہے وہ echo ۔ -n آپشن نئی echo کو شامل نہ کرنے کی echo کو بتاتا ہے:

echo -n > filename

بیش یا زیش جیسے بیشتر جدید خولوں پر آپ ری ڈائریکشن سمبل سے پہلے کمانڈ کو چھوڑ سکتے ہیں اور استعمال کرسکتے ہیں:

> filename

کسی فائل کو چھوٹا کرنے کے ل، ، آپ کو فائل پر لکھنے کی اجازت کی ضرورت ہے۔ عام طور پر ، آپ اس کے لئے sudo استعمال کریں گے ، لیکن جڑ استحقاق ری ڈائریکشن پر لاگو نہیں ہوتے ہیں۔ یہاں ایک مثال یہ ہے:

sudo: > /var/log/syslog

bash: /var/log/syslog: Permission denied

بہت سے حل ہیں جو sudo ساتھ ری ڈائریکٹ کرنے کی اجازت دیتے ہیں۔ پہلا آپشن سوڈو کے ساتھ ایک نیا شیل چلا سکتا ہے اور اس شیل کے اندر -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

تمام لاگ فائلوں کو خالی کریں

وقت گزرنے کے ساتھ ، آپ کی ڈسک ڈرائیو بہت بڑی لاگ فائلوں کے ساتھ بے ترتیبی ہوسکتی ہے جس میں بڑی مقدار میں ڈسک کی جگہ لی جاسکتی ہے۔

درج ذیل کمانڈ /var/log ڈائریکٹری کے تحت ".log" کے ساتھ ختم ہونے والی فائلوں کو خالی کردے گی۔

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

ایک بہتر آپشن یہ ہوگا کہ logrotate ٹول کی مدد سے لاگ ان فائلوں کو گھمائیں ، کمپریس کریں اور ہٹا دیں۔

نتیجہ اخذ کرنا

لینکس میں فائل کو چھوٹا کرنے کے لئے ری ڈائریکشن آپریٹر > اس کے بعد فائل کا نام استعمال کریں۔

چھوٹا ٹرمینل