วิธีการดูขนาดโฟลเดอร์บน Ubuntu

คือบางทีเวลาเราทำงานบน Server แล้วเราอยากรู้ว่าแต่ละโฟลเดอร์ใช้พื้นที่ไปเท่าไหร่ เช่นว่า ไฟล์ที่ upload เข้ามาในเวปเรากินพื้นที่ไปเท่าไหร่แล้ว บน linux ก็มีคำสั่งที่ให้เราเช็คขนาดไฟล์ในแต่ละโฟลเดอร์ได้โดยใช้คำสั่ง du
(Disk Usage) ครับ เช่น
Summary ขนาดไฟล์รวมทั้ง Folder
du -hs .
-h
ใช้แสดงค่าขนาด file size แบบคนอ่านแล้วรู้เรื่อง 🤔 (human readable) เช่น แสดง 140M
แทนที่จะแสดง 143260
(ขนาดเป็นกิโลไบท์)
-s
แสดงเฉพาะ summary คือ ขนาดไฟล์รวมทั้งหมดใน Folder
(ถ้าเราไม่ระบุ -s คำสั่งนี้จะ list มาทั้งหมด ทุกไฟล์ และ ทุกโฟลเดอร์ใน โฟลเดอร์ปัจจุบันมาเลยทีเดียว ถ้าเรามี Sub Folder ที่มีพวกไฟล์ library / vendor เยอะ ๆ node_modules งี้ ก็ list กันไปยาว ๆ เลยทีเดียว 😅)
ผลลัพธ์ของคำสั่งนี้เป็นประมาณนี้
// ผลลัพธ์
10G .
แสดงขนาดไฟล์ทั้งหมดใน Folder ปัจจุบัน
แต่คือ พอใช้ -s
แสดงแค่ขนาดรวมทั้งหมดใน Folder ปัจจุบัน เราก็ยังไม่รู้อยู่ดีว่าแต่ละ Sub Folder มันกินพื้นที่ไปเท่าไหร่กัน เราสามารถใช้พารามิเตอร์ --max-depth เพิ่มมาได้ว่าเราต้องการ list ขนาดไฟล์ของ Sub Folder ลงไปกี่ชั้น เช่น
du -h --max-depth=1
อันนี้ก็คือแสดงขนาดไฟล์ ใน แต่ละ Sub Folder ลงไปชั้นเดียว เราก็จะรู้ได้ว่าแต่ละ Folder ใน Project เราใช้พื้นที่ไปแล้วเท่าไหร่กัน แบบนี้ครับ
# du -h --max-depth=1
634M ./.git
884K ./app
244K ./bootstrap
156K ./config
4.9G ./database
2.3G ./public
7.4M ./resources
24K ./routes
226M ./storage
40K ./tests
104M ./vendor
45M ./node_modules
56K ./misc
216K ./lang
8.1G .