نت گیگ

باز یا بستن پورت ها در سرور لینوکس توسط iptables

ژانویه 17, 2023 0 دیدگاه

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

ژانویه 16, 2023 0 دیدگاه

چگونه فایل های اضافه در لینوکس را حذف کنیم ؟

ژانویه 15, 2023 0 دیدگاه

دستورات مهم کرون جاب در لینوکس

ژانویه 15, 2023 0 دیدگاه

چگونه فایل های اضافه در لینوکس را حذف کنیم ؟

inode چیست؟

ساختمان داده‌ای که در فایل سیستم لینوکس اطلاعاتی مانند فایل‌ها، دایرکتوری‌ها و… را در فایل سیستم ذخیره می‌کند.

هر فایل‌ سیستم تعداد محدودی inode (آی‌نود‌) و در نتیجه تعداد مشخصی فایل را می‌تواند نگهداری کند.

چنانچه تعداد فایل‌های فایل‌سیستم از میزان مشخصی بیشتر شود تعداد آی‌نود‌های مجاز آن فایل‌سیستم به اتمام می‌رسد و امکان ذخیره و ایجاد تعداد بیشتری فایل وجود نخواهد داشت.

دستور زیر به جهت یافتن تعداد inode های مجاز سیستم استفاده میشود:

df -i


خروجی این دستور می‌تواند به شکل زیر باشد.

Filesystem Inodes IUsed IFree IUse% Mounted on


rootfs 60506112 32619 60473493 1% /


از دستور زیر جهت مشاهده جزئیات بیشتر از inode میتوانید استفاده کنید.

 

# tune2fs -l /dev/sda1 | grep -i inode
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
Inode count: 131072
Free inodes: 131037
Inodes per group: 2048
Inode blocks per group: 256
First inode: 11
Inode size: 128
Journal inode: 8
Journal backup: inode blocks


در صورتی که inode های فایل سیستم پر شد میبایست فایل‌ها و دایرکتوری‌ها را پاک کنید.

راه‌های متفاوتی برای پاک کردن این فایل‌ها وجود دارد. ابتدا باید فایل‌ها را با دستور ls مشاهده کنیم، اگر تعداد فایل‌های درون یک دایرکتوری از تعداد مشخصی بیشتر باشد اجرای دستور فوق زمانبر خواهد بود.

پس بهترین راه برای مشاهده فایل‌ها استفاده از دستور ls با پارامتر -۱ است. با استفاده از این دستور میتوانید فایل هارا در مدت زمان کوتاه تری مشاهده کنید.

برای پاک کردن فایل‌ها از دستور rm به همراه پارامتر -rf استفاده کنید.

 

rm -rf /home/user/*


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

$getconf ARG_MAX


پس اگر دستور rm -rf را در دایرکتوری اجرا کنیم که تعداد فایل‌های آن از ‫۵۰۴۸۱۵۲-۴ بیشتر باشد دستور با خطای command: Argument list too long توقف میکند علت بروز خطا هم این است که تمام فایل‌ها به عنوان پارامتر به دستور rm ارسال می‌شود و تعداد کاراکتر پارامترها از حد مجاز بیشتر است.

جهت رفع مشکل فوق از چندین راه میتوان استفاده کرد اما بهترین و سریع‌ترین راه برای پاک کردن تعداد بالای فایل در یک دایرکتوری استفاده از دستور زیر است:

 

 ls -1 | xargs rm -f


گاهی ممکن است تعداد فایل ها بسیار زیاد باشد اگر تعداد فایل‌ها بیشتر از میزان جافظه سیستم باشد، اجرای این دستور غیر ممکن است برای رفع این مشکل طبق مسیر زیر اقدام کنید:

 

برگرفته از سایت تلاش نت

 


دسته بندی ها: آموزش

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

تمامی فیلدها موردنیاز هستند، ایمیل شما منتشر نخواهد شد.

بت اسپات