วิธีแสดงขนาดไฟล์ซ้ำของไฟล์และไดเรกทอรีในไดเรกทอรี?


50

ฉันจะแสดงรายการไฟล์ทั้งหมดในไดเรกทอรีและขนาดไฟล์วนซ้ำได้อย่างไร?

--- แก้ไข

ฉันต้องการดูขนาด 'สะสม' ไปยังไดเรกทอรีหลักในไดเรกทอรีที่ระบุไว้ ฉันไม่ต้องการเห็นไดเรกทอรีลูกหรือเนื้อหาหรือขนาด


1
คุณหมายความว่าคุณต้องการดูขนาดรวม (รวม) ของไฟล์ทั้งหมดในโฟลเดอร์เช่นคลิกขวาบนโฟลเดอร์บนเดสก์ท็อปของคุณและเลือก 'คุณสมบัติ'
Pavlos G.

คุณกำลังมองหาซอฟต์แวร์ที่ช่วยให้คุณค้นหาไฟล์ขนาดใหญ่หรือบางสิ่งบางอย่างเพื่อรับทรีของไฟล์ (พับได้) หรือไม่?
Lekensteyn

สวัสดี @Pavlos G - ฉันหมายถึงผลรวมของแต่ละไดเรกทอรีในไดเรกทอรีที่ฉันกำลังเข้า - ไม่ใช่ผลรวมของไดเรกทอรีโดยรวม
Hawkeye

@JG - ตรวจสอบการอัปเดตของฉัน ;-)
Pavlos G.

คำตอบ:


53

ฉันเดาว่าวิธีที่ง่ายที่สุดคือการพิมพ์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คือระดับของโฟลเดอร์ย่อยที่คุณต้องการลงไป


สิ่งที่ต้องใช้สำหรับความลึกสูงสุด -1?
dylanh724

61
apt-get install ncdu

ป้อนคำอธิบายรูปภาพที่นี่

มันมีการโต้ตอบเช่นกันดังนั้นหากคุณต้องการตรวจสอบในโฟลเดอร์ย่อยเพียงขึ้น, ลง, และเข้าสู่มัน


สิ่งที่ฉันกำลังมองหา ขอบคุณมาก!
Mathlight

อาจเป็นคำแนะนำซอฟต์แวร์ที่น่าทึ่งที่สุดที่ฉันเคยได้รับ
SomethingSomething

นี่ควรเป็นคำตอบที่ได้รับการอนุมัติ
dvdmn

30

เพื่อให้ได้ขนาดโดยรวมของไดเรกทอรีและลูกทั้งหมด

du -hs directory/*

ฉันต้องการระดับถัดไปจากที่ - ขนาดซ้ำของเด็กระดับแรกทั้งหมด
Hawkeye

1
ฉันจะแก้ไขคำตอบของฉัน คุณต้องใช้ไดเรกทอรี du -h / *
Richard Holloway

17

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

ตัวเลือกเพิ่มเติมสามารถพบได้ในหน้าคน


ควรแสดงขนาดหรือไม่
Hawkeye

JG: -s แสดงขนาด
Richard Holloway

1
แสดงขนาดของเรคคอร์ดไดเร็กทอรีมากกว่าขนาดไดเร็กทอรีเต็ม
Steven Lu

-hขนาดแสดงในแบบที่มนุษย์อ่านได้เช่นtree -s
Eric Wang

15

เนื่องจากคุณไม่ได้กล่าวถึงโดยเฉพาะว่าคุณต้องการโซลูชันที่ใช้เทอร์มินัลฉันคิดว่าbaobab aka Disk Analysis Analyzer หายไปจากรายการ

มันถูกติดตั้งใน Ubuntu โดยค่าเริ่มต้นและทำสิ่งที่คุณต้องการใน UI กราฟิกที่ดีพร้อมความสามารถในการเจาะลึกลำดับชั้นไดเรกทอรี

นอกเหนือจากการแสดงรายการของไดเรกทอรีที่มีขนาดมันยังแสดงแหวนหรือแผนภูมิ treemap ของการใช้งานระบบแฟ้มซึ่งเป็นประโยชน์อย่างมากสำหรับการแสดงไดเรกทอรีที่ใช้พื้นที่มากที่สุด

baobab ตัววิเคราะห์การใช้ดิสก์


7

แก้ปัญหาขั้วเป็นduคำสั่ง:

du --all --human-readable --apparent-size

(ชวเลข: du -ah --apparent-size)

duแสดงการใช้งานดิสก์สำหรับแต่ละไฟล์และไดเรกทอรี ตัวเลือกที่อธิบาย:

  • --all, -a- ขนาดการแสดงสำหรับไฟล์เช่นกันไม่เพียงไดเรกทอรี
  • --human-readable, -h- การแสดงขนาดในรูปแบบการอ่านของมนุษย์เช่น10K(10 กิโลไบต์) 10(10 bytes)
  • --apparent-size - แสดงขนาดไฟล์จริงไม่ใช่ขนาดที่ดิสก์ใช้

ฉันแค่อยากให้เด็ก ๆ ระดับแรก
ฮ็อคกี

2
@hawkeye สำหรับระดับ 1 คุณสามารถใช้--max-depth=1
nikoskip

4
@nikoskip เคล็ดลับดี! ยังดีที่รู้คือชวเลขที่สามารถลงไป--max-depth=1 -d1
Lekensteyn

ทำอย่างไรจึงจะได้สิ่งเหล่านี้ตามลำดับที่กำหนด ..
kRazzy R

ฉันจะดูเนื้อหาและว่างได้อย่างไร: / dev / sda5 ext4 430G 381G 27G 94% / แล็ปท็อปของฉันอายุน้อยกว่า 1 เดือนและมันเต็มแล้วซึ่งมันไม่เข้าท่าเลย
kRazzy R

2

ดูเหมือนว่าจะทำเคล็ดลับเมื่อมีการเชื่อมโยง simlinks

ls -LRlh

คำตอบที่ได้รับไม่ได้ให้รายละเอียดสำหรับ simlinks (ls -lhR) ตัวเลขที่อยู่ถัดจากมันไม่ตรงกับขนาดที่ถูกต้องของแต่ละค่า คำตอบของฉันให้ลำดับชั้นกับโครงสร้างต้นไม้ที่กำหนดไว้และคำตอบที่ถูกต้อง .... หรือคุณหมายถึงคำตอบ upvoted อื่น ๆ ?
Mulki

การถอนการโหวตลงถูกถอนออก โปรดแก้ไขและใส่ความคิดเห็นในคำตอบ ... ขอบคุณสำหรับคำอธิบาย ;-)
Fabby

1

ในการรับรายการที่เรียงให้ใส่ทุกอย่างเป็น MB และเรียงลำดับ:

du -m * | sort -n

หรือใช้เครื่องมือเช่นDiskReportเพื่อสร้างรายงานของทรีดิสก์แบบเต็ม


1

โซลูชันเทอร์มินัลอื่นที่มี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

นี่ไม่แสดงขนาดของไดเรกทอรี
muru
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.