ฉันจะแสดงรายการไฟล์ทั้งหมดในไดเรกทอรีและขนาดไฟล์วนซ้ำได้อย่างไร?
--- แก้ไข
ฉันต้องการดูขนาด 'สะสม' ไปยังไดเรกทอรีหลักในไดเรกทอรีที่ระบุไว้ ฉันไม่ต้องการเห็นไดเรกทอรีลูกหรือเนื้อหาหรือขนาด
ฉันจะแสดงรายการไฟล์ทั้งหมดในไดเรกทอรีและขนาดไฟล์วนซ้ำได้อย่างไร?
--- แก้ไข
ฉันต้องการดูขนาด 'สะสม' ไปยังไดเรกทอรีหลักในไดเรกทอรีที่ระบุไว้ ฉันไม่ต้องการเห็นไดเรกทอรีลูกหรือเนื้อหาหรือขนาด
คำตอบ:
ฉันเดาว่าวิธีที่ง่ายที่สุดคือการพิมพ์ls -lหรือls -lhจะให้ขนาดไฟล์ในรูปแบบที่มนุษย์สามารถอ่านได้ (KB, MB, ฯลฯ )
หาก 'เรียกซ้ำ' หมายถึงการแสดงรายการโฟลเดอร์ที่ตามมาทั้งหมดเช่น:
/ foo /
/ foo / bar / ....
จากนั้นคุณควรเพิ่มพารามิเตอร์Rเช่นls -lRหรือls -lhR
ข้อมูลเพิ่มเติมสำหรับlsสามารถพบได้โดยการพิมพ์man ls
ปรับปรุง:
คำสั่งต่อไปนี้ตามที่เสนอ Lekensteyn อาจจะทำงาน:
du -h --max-depth=1 <folder>
-hสำหรับมนุษย์ที่สามารถอ่านได้
--apparent-sizeเป็นอีกวิธีหนึ่งในการแสดงขนาดตามที่ระบุไว้แล้ว
--max-depthคือระดับของโฟลเดอร์ย่อยที่คุณต้องการลงไป
apt-get install ncdu

มันมีการโต้ตอบเช่นกันดังนั้นหากคุณต้องการตรวจสอบในโฟลเดอร์ย่อยเพียงขึ้น, ลง, และเข้าสู่มัน
เพื่อให้ได้ขนาดโดยรวมของไดเรกทอรีและลูกทั้งหมด
du -hs directory/*
treeยังตรวจสอบ ไม่ได้ติดตั้งตามค่าเริ่มต้น แต่เป็นที่เก็บ
ตัวอย่าง:
richard@legend:~$ tree Applications/ -s
Applications/
├── [ 4096] AlexFTPS-1.0.2
│ ├── [ 31232] AlexPilotti.FTPS.Client.dll
│ ├── [ 274432] C5.dll
│ ├── [ 1457] C5-License
│ ├── [ 35147] COPYING
│ ├── [ 7639] COPYING.LESSER
│ ├── [ 70] ftps
│ ├── [ 28672] ftps.exe
│ ├── [ 98304] Plossum CommandLine.dll
│ ├── [ 1557] Plossum-License
│ └── [ 2560] README
└── [ 4096] src
└── [ 180849] AlexFTPS_bin_1.0.2.zip
ตัวเลือกเพิ่มเติมสามารถพบได้ในหน้าคน
-hขนาดแสดงในแบบที่มนุษย์อ่านได้เช่นtree -s
เนื่องจากคุณไม่ได้กล่าวถึงโดยเฉพาะว่าคุณต้องการโซลูชันที่ใช้เทอร์มินัลฉันคิดว่าbaobab aka Disk Analysis Analyzer หายไปจากรายการ
มันถูกติดตั้งใน Ubuntu โดยค่าเริ่มต้นและทำสิ่งที่คุณต้องการใน UI กราฟิกที่ดีพร้อมความสามารถในการเจาะลึกลำดับชั้นไดเรกทอรี
นอกเหนือจากการแสดงรายการของไดเรกทอรีที่มีขนาดมันยังแสดงแหวนหรือแผนภูมิ treemap ของการใช้งานระบบแฟ้มซึ่งเป็นประโยชน์อย่างมากสำหรับการแสดงไดเรกทอรีที่ใช้พื้นที่มากที่สุด

แก้ปัญหาขั้วเป็นduคำสั่ง:
du --all --human-readable --apparent-size
(ชวเลข: du -ah --apparent-size)
duแสดงการใช้งานดิสก์สำหรับแต่ละไฟล์และไดเรกทอรี ตัวเลือกที่อธิบาย:
--all, -a- ขนาดการแสดงสำหรับไฟล์เช่นกันไม่เพียงไดเรกทอรี--human-readable, -h- การแสดงขนาดในรูปแบบการอ่านของมนุษย์เช่น10K(10 กิโลไบต์) 10(10 bytes)--apparent-size - แสดงขนาดไฟล์จริงไม่ใช่ขนาดที่ดิสก์ใช้--max-depth=1
--max-depth=1 -d1
ดูเหมือนว่าจะทำเคล็ดลับเมื่อมีการเชื่อมโยง simlinks
ls -LRlh
ในการรับรายการที่เรียงให้ใส่ทุกอย่างเป็น MB และเรียงลำดับ:
du -m * | sort -n
หรือใช้เครื่องมือเช่นDiskReportเพื่อสร้างรายงานของทรีดิสก์แบบเต็ม
โซลูชันเทอร์มินัลอื่นที่มีfindและเรียงลำดับ (ตามขนาดไฟล์, คอลัมน์ 1)
$ find . -maxdepth 1 ! -path . -printf "%s %p\n" | sort -n -k1
178 ./somefile.txt
219 ./somefile2.txt
4096 ./c
4096 ./cs2
4096 ./perl
4096 ./python
4096 ./random
4096 ./sh