Site icon تلاش نت

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

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

 

 

مقدمه

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

 

پیدا کردن فایل های حجیم و حذف آنها


برای شروع نیاز است که با توجه به شرایط از طریق اتصال SSH ، VNC و یا سیستم نجات به سرور متصل شوید و بعد از اتصال از طریق دستور df-h وضعیت هارد را بررسی نمایید.

خروجی این دستور میزان فضای استفاده شده از هارد را در یک ستون با عنوان use% نشان می دهد.

بعد از بررسی و مشاهده فضای اشغال شده هارد باید بررسی کرد که بیشترین بخش مربوط به کدام پوشه است.

در این مرحله می بایست با دستور زیر فضای پوشه ها و زیر پوشه ها را بررسی نمایید:

Cd /

Du –hsx * | sort –rh | head -10

” نکته: لازم به ذکر است که با آگاهی کامل نسبت به حذف فایل ها و پوشه ها در سرور لینوکس اقدام نمایید؛ زیرا در سرور مجازی لینوکس امکان بازگرداندن فایل ها نیست! “

 

با این دستور می توان فضای اشغال شده تمام فایل ها را بررسی نمود، که به صورت پیش فرض 10 آیتم ابتدایی را به شما نشان می دهد که می توانید بجای 10 عدد دیگری را قرار دهید و در نتیجه تمامی فایل ها را در سطرها و ستون های دیگری بررسی نمایید.

 

برای این کار با استفاده از دستورات زیر نسبت به حذف فایل ها و پوشه ها اقدام نمایید:

دستور حذف فایل ها

rm –f file-name

 

دستور حذف پوشه ها

rm-rf dir-name

 

در بررسی حجم فایل ها گاهی با پوشه هایی مانند tmp و log مواجه می شویم که دارای حجم بسیار زیادی هستند اما اطلاعات آنها در پیدا کردن لاگ ها و مواردی دیگر لازم و ضروری است.

بنابراین بهتر است با کمک دستور زیر فایل های قدیمی تر را از یک تاریخ معین حذف نمود:

find / tmp –type f –mtime +7 | xaargs rm –f

 

با این دستور می توان فایل های موجود در پوشه تمپ (temp) را که آخرین تغییر در آنها قدیمی تر از یک هفته است را حذف نمود. بهتر است از تاریخی بزرگتر از 7 روز استفاده کنید و بعد از هربار حذف خروجی df –h را کنترل کنید و تا جایی که فضای هارد سرور مجازی لینوکس شما به نتیجه دلخواه برسد.

 

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


 

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

 

ما در این مقاله، در عکس ها از پرونده access.log برای مثال در روش های زیر استفاده کرده ایم…

 

ساده ترین راه برای خالی کردن محتوای فایل با استفاده از پوسته null (non-existent object) به فایل است:

> [file-name] #

حذف محتوای فایل با تغییر مسیر به Null

 

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

روش دیگر این است که خروجی را از نماد”:” یا دستور true ساخته شده در فایل به صورت زیر تغییر دهید:

1

2

3

: > [file-name] #

OR

true > [file-name] #

خالی کردن فایل با استفاده از فرمان true

 

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

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

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

cat /dev/null > [file-name] #

خالی کردن فایل با استفاده از دستور cat

 

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

cp /dev/null [file-name] #

خالی کردن فایل با استفاده از دستور cp

 

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

dd if=/dev/null of=[file-name] #

خالی کردن فایل با استفاده از دستور dd

 

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

1

2

3

echo “” > [file-name] #

OR

echo > [file-name] #

خالی کردن فایل با استفاده از فرمان echo

 

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

 

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

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

echo -n “” > [file-name] #

خالی کردن فایل با استفاده از فرمان echo -n

 

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

شما می توانید از برچسب -s که اندازه فایل را تعیین می کند، استفاده کنید. برای خالی کردن محتوای فایل، از مقدار 0 (صفر) استفاده کنید، همانطور که در دستور بعدی مشاهده می کنید:

truncate -s 0 [file-name] #

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

 

 

چکیده

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

 

 

4.9/5 - (11 votes)