شاید برای شما هم پیش آمده باشد که بخواهید حجم فایل های یک مسیر را بدست بیاورید.یا ازآن مهم تر بخواهید حجم فایل هایی که مثلا بیش از 8 روز تغییر نکرده اند را بدست آورید.برای انجام این چنین کارهایی روش ها و ابزارهای مختلفی وجود دارد.
در این مطلب قصد داریم با ارائه ی یک شل اسکریپت حجم فایل هایی که بیش از 8 روز تغییر نکرده اند را محاسبه کنیم.نکته اینکه برای اجرای این اسکریپت، ابزار bc که یک ماشین حساب خط فرمانی می باشد مورد نیاز می باشد.این shell script به شرح زیر می باشد :
#!/bin/bash #@hos7ein #find files : find ${PWD}/ -type f -mtime +8 > list-files.txt file="${PWD}/list-files.txt" sum=0 for line in `cat $file` do tmp_size=$(wc -c "$line" | awk '{print $1}') sum=$(echo $tmp_size+$sum | bc) done #convert byte to MB echo $sum | awk '{ byte =$1 /1024/1024; print byte " MB" }' echo "or" #echo "Size on GB is :" echo $sum | awk '{ byte =$1 /1024/1024/1024; print byte " GB" }'
عجله نکنید!اجازه دهید با هم این شل اسکریپت را مرور کنیم.
در خط 5 لیست فایل هایی که بیش از 8 روز است که تغییر نکرده اند را درون فایل list-files.txt ذخیره میکند.سپس با استفاده از یک حلقه ی for اندازه آن فایل ها تک به تک محاسبه و سپس حجم کلی را محاسبه می کند.در پایان هم حجم بدست آمده را از byte به MB و GB تبدیل می کند.
برای اجرای این اسکریپت ابتدا به مسیر مورد نظر خود که قصد محاسبه ی حجم فایل ها را دارید بروید و یک فایل مثلا با نام my-script.sh ایجاد کنید و خطوط بالا را در آن کپی و ذخیره کنید.اکنون به آن مجوز اجرایی دهید و آن را اجرا کنید :
$chmod +x my-script.sh
$./my-script.sh
امید است تا از این مطلب استفاده ی لازم را برده باشید و همیشه اندازه ی فایل های خود را حساب کتاب کنید!
سلام . نمیدونم سوالم به این بخش ربطی داره یا نه
من داشتم فدورا ۲۹ رو به ۳۰ آپدیت میکردم . تو مرحله آخر با ارور زیر مواجه شدم .
Disk Requirements:
At least 1306MB more space needed on the / filesystem.
خروجی دستور df -m هم اینه :
devtmpfs 1898 0 1898 0% /dev
tmpfs 1919 216 1704 12% /dev/shm
tmpfs 1919 2 1918 1% /run
tmpfs 1919 0 1919 0% /sys/fs/cgroup
/dev/mapper/fedora-root 10016 8812 676 93% /
tmpfs 1919 5 1915 1% /tmp
/dev/sda1 1952 205 1629 12% /boot
/dev/mapper/fedora-home 20031 1849 17143 10% /home
/dev/mapper/fedora-var 10016 8485 1004 90% /var
/dev/loop1 203 203 0 100% /var/lib/snapd/snap/vlc/1049
/dev/loop2 309 309 0 100% /var/lib/snapd/snap/phpstorm/109
/dev/loop0 95 95 0 100% /var/lib/snapd/snap/telegram-desktop/836
/dev/loop3 89 89 0 100% /var/lib/snapd/snap/core/7396
/dev/loop4 43 43 0 100% /var/lib/snapd/snap/gtk-common-themes/1313
/dev/loop5 55 55 0 100% /var/lib/snapd/snap/core18/1074
tmpfs 384 8 377 2% /run/user/1000
/dev/loop6 95 95 0 100% /var/lib/snapd/snap/telegram-desktop/877
/dev/sda3 178953 61 169735 1% /run/media/Jdaall/test
من چیکار باید کنم؟ مرسی
درود بر شما
اینطور که معلومه فضای دیسک برای پارتیشن / کم هست.
پیروز باشید.
ممنون . با صورت گرم چطوری میشه فضای پارتیشن ها رو افزایش داد؟
خواهش میکنم.
بستگی داره پارتیشن از چه نوعی باشه. ولی در کل ابزارهای خود LVM یا growpart باید استفاده کنی.