۱۴۰۳-۰۹-۰۱

برخی اوقات، در حالی که با فایل ها در ترمینال لینوکس برخورد می کنید، ممکن است بخواهید محتوای فایل را بدون باز کردن آن با استفاده از ویرایشگر لینوکس حذف کنید. در این مقاله ما با استفاده از چند دستورالعمل مفید، از طریق چندین روش مختلف برای حذف محتوای فایل استفاده خواهیم کرد.

تذکر: قبل از اینکه به راه های مختلف نگاه کنیم، توجه داشته باشید چون در لینوکس همه چیز به صورت فایل است، همیشه باید اطمینان حاصل کنید که فایلی که میخواهید خالی و یا حذف کنید جزو فایل های سیستمی و یا فایلهای کاربر نباشند. پاک کردن محتوای یک فایل سیستمی و یا پیکربندی میتواند منجر به خطای نرم افزار و یا خطای سیستمی شود.

با این توضیح، در ادامه، ابزار پاک کردن محتوای فایل از خط فرمان درج شده است. مهم: بریا توضیح این مقاله ما از فایل access.log در مثال زیر استفاده میکنیم.

۱٫ خالی کردن محتوای فایل با ریدایرکت به null

ساده ترین راه برای خالی کردن محتوای فایل با استفاده از shell redirect null (شیء غیر موجود) به فایل به صورت زیر است:

# > access.log

خالی کردن فایل حجیم در لینوکس

۲٫ خالی کردن فایل با استفاده از دستور ریدایرکت true

در اینجا از سمبل: استفاده کردیم، که یک دستور داخلی پوسته لینوکس است و همچنین معادل دستور true است و میتواند به عنوان no-op (بدون عملیات) استفاده شود.

یک روش دیگر ریدایرکت خروجی : یا true به فایل است، بنابراین :

# : > access.log
OR
# true > access.log

خالی کردن فایل حجیم در لینوکس با دستورات

۳٫ خالی کردن فایل با استفاده از cat/cp/dd به همراه /dev/null

در لینوکس، null بخشی است که به طور اساسی برای دور انداختن رشته های خروجی یک فرآیند است. یا یک فایل خالی مناسب به عنوان رشته ورودی. این کار به طور معمول توسط مکانیزم تغییر مسیر (redirection) انجام می شود.

بنابراین / dev / null یک فایل خاص است که هر ورودی ارسال شده به آن را حذف می کند و یا خروجی آن مشابه پرونده خالی است.

خالی کردن فایل حجیم با دستور cat

علاوه بر این، شما می توانید محتویات یک فایل را با هدایت خروجی از / dev / null به آن (فایل) به عنوان ورودی با استفاده از دستور cat خالی کنید:

# cat /dev/null > access.log

سپس، ما از دستور cp برای خالی کردن محتوای فایل به صورت نشان داده شده استفاده خواهیم کرد.

# cp /dev/null access.log

در فرمان زیر، if به معنای فایل ورودی و ofاشاره به فایل خروجی است.

# dd if=/dev/null of=access.log

۴٫ خالی کردن فایل با استفاده از دستور echo

در اینجا شما می توانید یک دستور echo با یک رشته خالی استفاده کنید و آن را به فایل زیر تغییر دهید:

# echo "" > access.log
OR
# echo > access.log

خالی کردن فایل با دستور echo

نکته: شما باید مد نظر داشته باشید که یک رشته خالی مساوی با null نیست. یک رشته خالی یک شی است که وجود دارد ولی خالی است، در حالی که null به معنای این است که شی هیچ وجود خارجی ندارد.

به همین دلیل، زمانی که شما به خارج از فایل با دستور echo ریدایرکت میکنید و با استفاده از دستور cat محتوی فایل را مشاهده میکنید، یک خط خالی چاپ میکند.

برای ارسال خروجی null به فایل، از برچسب –n استفاده می شود که به دستور echo میگوید تا خط جدیدی را که به خط خالی تولید شده در فرمان قبلی منتهی می شود، نمایش ندهد.

# echo -n "" > access.log

۵٫ خالی کردن فایل با استفاده از دستور truncate

دستور truncate کمک میکند تا سایز فایل را به سایز لخواه کاهش و یا افزایش دهید. شما میتوانید از آن با استفاده از گزینه –s که اندازه فایل را تعیین می کند استفاده کنید. برای خالی کردن محتوای فایل، از مقدار ۰ (صفر) استفاده کنید، همانطور که در دستور بعدی است:

# truncate -s 0 access.log

خالی کردن فایل با دستور truncate

در حال حاضر، در این مقاله، چندین روش پاک کردن یا تخلیه محتوای فایل را با استفاده از ابزارهای ساده خط فرمان و مکانیزم تغییر مسیر بررسی کردیم. این احتمالا تنها روش عملی موجود برای انجام این کار نیست، بنابراین شما همچنین می توانید در مورد هر روش دیگری که در این راهنمای ذکر نشده است، را با ما در میان بگذارید.

مطالب مرتبط:

اشتراک‌گذاری

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *