سرور مجازی

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

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

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

 

 

مقدمه

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

 

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


  • گام اول) پیدا کردن فایل های حجیم در سرور لینوکس

برای شروع نیاز است که با توجه به شرایط از طریق اتصال 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 خالی کنید

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

> [file-name] #

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

 

  • روش دوم) خالی کردن فایل با استفاده از فرمان “true”

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

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

1

2

3

: > [file-name] #

OR

true > [file-name] #

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

 

  • روش سوم) خالی کردن فایل با استفاده از ابزارهای cat/cp/dd با /dev/null

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

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

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

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

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

 

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

cp /dev/null [file-name] #

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

 

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

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

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

 

  • روش چهارم) خالی کردن فایل با استفاده از فرمان echo

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

1

2

3

echo “” > [file-name] #

OR

echo > [file-name] #

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

 

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

 

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

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

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

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

 

  • روش پنجم) خالی کردن فایل با استفاده از دستور truncate

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

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

truncate -s 0 [file-name] #

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

 

 

چکیده

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

 

 

4.9/5 - (11 votes)
VPS چیست؟
مشاهده
دکمه بازگشت به بالا