همان‌طور که می‌دانید محتوای فایل‌های گزارش دائماً در حال افزایش است و این منجر به بزرگ شدن فایل گزارش می‌شود. در این آموزش، روش‌های مختلف خالی کردن یک فایل (حذف محتوای آن بدون حذف خود فایل) در لینوکس آموزش داده می‌شود.

بدیهی‌ترین روشی که به ذهن می‌خورد، این است که آن فایل بزرگ را پاک کرده و سپس یک فایل جدید ایجاد نماییم. اما این ایده خوبی نیست؛ چرا که، فایل جدید از نظر برچسب زمان (atime ,mtime, …) و مجوزها با فایل قبل متفاوت خواهد بود.

در این مقاله، مشاهده خواهید کرد که به‌راحتی می‌توان به‌جای ایجاد یک فایل خالی جدید، محتوای آن را حذف کرد.

 

4 راه برای خالی کردن یک فایل در لینوکس

روش‌های مختلفی برای خالی کردن یک فایل بدون حذف آن فایل وجود دارد. در این‌جا، برخی از این روش‌ها شرح داده می‌شود.

روش 1: استفاده از دستور truncate

امن‌ترین راه برای خالی کردن فایل گزارش، استفاده از دستور truncate است.

truncate -s 0 filename

در دستور فوق، از s- برای تنظیم اندازه (به واحد بایت) فایل استفاده می‌شود. وقتی از دستور s 0- استفاده می‌کنید، اندازه فایل بر روی 0 بایت تنظیم می‌شود.

روش 2: استفاده از <: یا <

ساده‌ترین روش برای خالی کردن یک فایل (در زمانی که از آن استفاده نمی‌شود)، استفاده از دستور زیر در bash است.

> filename

دستور < تنها در پوسته Bash کار می‌کند و شما می‌توانید از یک دستور مشابه <: برای سایر پوسته‌ها استفاده کنید:

:> filename

از این دستور نیز می‌توان برای پاک کردن فایل نیز استفاده نمود:

true > filename

روش 3: استفاده از دستور echo

راه دیگر برای خالی کردن یک فایل، استفاده از دستور echo است:

echo > filename

می‌توانید از دستور echo به‌صورت زیر نیز استفاده کنید:

echo "" > filename

روش 4: استفاده از /dev/null

برای خالی کردن یک فایل، می‌توان از ترکیب دستور معروف dev/null/ به‌همراه دستور cat نیز استفاده نمود:

cat /dev/null > file.log

در پایان ...

اگر مجوز کافی برای هیچ‌یک از دستورات بالا ندارید، از دستور زیر استفاده کنید. اگرچه این دستور استاندارد نیست؛ ولیکن می‌تواند شما را به هدف‌تان برساند:

touch newfile
mv newfile filename

 

 

منبع:

linuxhandbook