คุณจะแสดงผลรวมต่อโฟลเดอร์เท่านั้นไม่ใช่ต่อผู้ใช้
ซึ่งอาจใช้งานได้หากคุณต้องการขนาดรวมของการพูด/home/example_user/
และหาก example_user นั้นมีไฟล์ในโฟลเดอร์นั้น หากผู้ใช้รายอื่นมีไฟล์อยู่ในตัวพวกเขาสิ่งนี้จะไม่ได้ขนาดของไฟล์ทั้งหมดที่คุณเป็นเจ้าของ แต่ขนาดรวมของไฟล์ทั้งหมดในโฟลเดอร์นั้น
ในการรับข้อมูลต่อผู้ใช้ให้ทำดังนี้
- หากคุณเปิดใช้งานโควต้าให้ใช้คำสั่งเหล่านั้น
- ใช้find to walk แม้ว่าไดเรกทอรีทั้งหมดที่คุณต้องการจะนับไฟล์ของคุณใช้ uidเพื่อเลือกไฟล์ของคุณเท่านั้นและเก็บอาเรย์เชื่อมโยงไว้ใน awk เพื่อนับผลรวม
find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk '{t+=$1}END{print t}'
หมายเหตุนี่ใช้ GNU ค้นหาส่วนขยายเฉพาะ
/path/to/search/
การค้นหาคำสั่งแรกที่ผ่านมาทุกไฟล์และไดเรกทอรีใน
-type f
ทำให้แน่ใจว่าคุณเลือกไฟล์เท่านั้นมิฉะนั้นคุณจะนับขนาดของไดเรกทอรีด้วย (ลองสร้างโฟลเดอร์เปล่ามันอาจจะใช้พื้นที่ดิสก์ 4k)
-user username_whos_files_to_count
เลือกผลลัพธ์จากผู้ใช้คนเดียวเท่านั้น
-printf "%s\n"
จะพิมพ์ขนาด
หากคุณเพียงแค่เรียกใช้ส่วนแรกของสิ่งนี้คุณจะได้รับรายชื่อหมายเลข นี่คือขนาดไฟล์ (ทุกสิ่งทุกอย่างถูกปล้นมีเพียงขนาดที่ถูกพิมพ์ด้วยคำสั่งพิมพ์% s)
จากนั้นเราสามารถเพิ่มหมายเลขเหล่านั้นทั้งหมดเพื่อรับการสรุป ในตัวอย่างนี้ทำได้ด้วย awk